annotate Modules/Collected.lua @ 34:69fc1ca8881f

Now maintaining a manual changelog as Curse only takes the last change from the repository which is usually just tagging.
author Zerotorescue
date Fri, 10 Sep 2010 19:21:22 +0200
parents 90d58723ac0a
children 81e7cfcc36b9
rev   line source
Zerotorescue@0 1 local MailOpener = LibStub("AceAddon-3.0"):GetAddon("MailOpener");
Zerotorescue@31 2 local mod = MailOpener:NewModule("Collected", "AceEvent-3.0", "AceTimer-3.0");
Zerotorescue@0 3
Zerotorescue@31 4 mod.moduleDescription = "Shows a simple summary of what has been collected at the mailbox.";
Zerotorescue@31 5 mod.moduleRequired = false;
Zerotorescue@3 6
Zerotorescue@31 7 -- Gold
Zerotorescue@0 8 local previousGold, earned, sessionEarned;
Zerotorescue@31 9 -- Items
Zerotorescue@0 10 local previousFreeSlotsAvailable, itemsGained, sessionItemsgained;
Zerotorescue@31 11 -- Mail
Zerotorescue@0 12 local previousMailCount, mailOpened, sessionMailOpened;
Zerotorescue@31 13 -- Time
Zerotorescue@0 14 local timeStarted, sessionTimeSpent; -- even though the first contains GetTime(), the second var will be filled with actual seconds
Zerotorescue@31 15
Zerotorescue@0 16 local updated;
Zerotorescue@0 17
Zerotorescue@31 18 function mod:OnInitialize()
Zerotorescue@0 19 local defaults = {
Zerotorescue@0 20 profile = {
Zerotorescue@0 21 trackGold = true,
Zerotorescue@0 22 trackItems = true,
Zerotorescue@0 23 trackMail = true,
Zerotorescue@0 24 sessionSummary = false,
Zerotorescue@0 25 batchSummary = false,
Zerotorescue@0 26 },
Zerotorescue@0 27 };
Zerotorescue@0 28
Zerotorescue@0 29 -- Register our saved variables NameSpace
Zerotorescue@0 30 self.db = MailOpener.db:RegisterNamespace("Collected", defaults);
Zerotorescue@0 31 end
Zerotorescue@0 32
Zerotorescue@31 33 function mod:OnEnable()
Zerotorescue@0 34 self:Debug("OnEnable");
Zerotorescue@0 35
Zerotorescue@0 36 self:RegisterEvent("MAIL_SHOW");
Zerotorescue@0 37
Zerotorescue@0 38 MailOpener:TogglePostalModule("Rake", false);
Zerotorescue@0 39
Zerotorescue@0 40 sessionEarned = 0;
Zerotorescue@0 41 sessionItemsgained = 0;
Zerotorescue@0 42 sessionMailOpened = 0;
Zerotorescue@0 43 sessionTimeSpent = 0;
Zerotorescue@0 44
Zerotorescue@0 45 -- If we were toggling this module on while the mailbox is opened we must register all events again
Zerotorescue@0 46 if MailFrame:IsVisible() then
Zerotorescue@0 47 self:MAIL_SHOW();
Zerotorescue@0 48 end
Zerotorescue@0 49 end
Zerotorescue@0 50
Zerotorescue@0 51 -- Even though Ace can unregister our events it's neater to do it manually too
Zerotorescue@31 52 function mod:OnDisable()
Zerotorescue@0 53 self:Debug("OnDisable");
Zerotorescue@0 54
Zerotorescue@0 55 self:UnregisterEvent("MAIL_SHOW");
Zerotorescue@0 56
Zerotorescue@0 57 self:Stop();
Zerotorescue@0 58
Zerotorescue@0 59 MailOpener:TogglePostalModule("Rake", true);
Zerotorescue@0 60 end
Zerotorescue@0 61
Zerotorescue@31 62 function mod:MAIL_SHOW()
Zerotorescue@0 63 self:Debug("MAIL_SHOW");
Zerotorescue@0 64
Zerotorescue@0 65 -- Unbind / reset all previous events and settings
Zerotorescue@0 66 self:Stop();
Zerotorescue@0 67
Zerotorescue@0 68 self:RegisterEvent("MAIL_CLOSED");
Zerotorescue@0 69
Zerotorescue@0 70 if self.db.profile.batchSummary then
Zerotorescue@0 71 self:RegisterMessage("MO_OPEN_COMPLETE");
Zerotorescue@0 72 end
Zerotorescue@0 73
Zerotorescue@0 74 -- Money
Zerotorescue@0 75 if self.db.profile.trackGold then
Zerotorescue@0 76 self:RegisterEvent("PLAYER_MONEY");
Zerotorescue@0 77
Zerotorescue@0 78 previousGold = GetMoney();
Zerotorescue@0 79 earned = 0;
Zerotorescue@0 80 end
Zerotorescue@0 81
Zerotorescue@0 82 -- Items
Zerotorescue@0 83 if self.db.profile.trackItems then
Zerotorescue@0 84 self:RegisterEvent("BAG_UPDATE");
Zerotorescue@0 85
Zerotorescue@0 86 previousFreeSlotsAvailable = self:GetNumFreeSlots();
Zerotorescue@0 87 itemsGained = 0;
Zerotorescue@0 88 end
Zerotorescue@0 89
Zerotorescue@0 90 -- Mail
Zerotorescue@0 91 if self.db.profile.trackMail then
Zerotorescue@0 92 self:RegisterEvent("MAIL_INBOX_UPDATE");
Zerotorescue@0 93
Zerotorescue@0 94 previousMailCount = nil;
Zerotorescue@0 95 mailOpened = 0;
Zerotorescue@0 96 end
Zerotorescue@0 97
Zerotorescue@0 98 -- Time Spent
Zerotorescue@0 99 if self.db.profile.trackTimeSpent then
Zerotorescue@0 100 timeStarted = GetTime();
Zerotorescue@0 101 end
Zerotorescue@0 102 end
Zerotorescue@0 103
Zerotorescue@31 104 function mod:MAIL_CLOSED()
Zerotorescue@0 105 self:Debug("MAIL_CLOSED");
Zerotorescue@0 106
Zerotorescue@0 107 self:Summarize();
Zerotorescue@0 108
Zerotorescue@0 109 self:Stop();
Zerotorescue@0 110 end
Zerotorescue@0 111
Zerotorescue@31 112 function mod:PLAYER_MONEY()
Zerotorescue@0 113 -- Sending mail does not interest us, so only remember what we earned
Zerotorescue@0 114 local currentGold = GetMoney();
Zerotorescue@0 115
Zerotorescue@0 116 if currentGold > previousGold then
Zerotorescue@0 117 local goldEarned = ( currentGold - previousGold );
Zerotorescue@0 118
Zerotorescue@0 119 earned = ( earned + goldEarned );
Zerotorescue@0 120
Zerotorescue@0 121 updated = true;
Zerotorescue@0 122
Zerotorescue@0 123 if self.db.profile.sessionSummary then
Zerotorescue@0 124 sessionEarned = ( sessionEarned + goldEarned );
Zerotorescue@0 125 end
Zerotorescue@0 126 end
Zerotorescue@0 127
Zerotorescue@0 128 previousGold = currentGold;
Zerotorescue@0 129 end
Zerotorescue@0 130
Zerotorescue@31 131 function mod:BAG_UPDATE()
Zerotorescue@0 132 -- Sending mail does not interest us, so only remember what we earned
Zerotorescue@0 133 local freeSlotAvailable = self:GetNumFreeSlots();
Zerotorescue@0 134
Zerotorescue@0 135 if freeSlotAvailable < previousFreeSlotsAvailable then
Zerotorescue@0 136 -- we lost a slot, so gained an item
Zerotorescue@0 137
Zerotorescue@0 138 local gained = ( previousFreeSlotsAvailable - freeSlotAvailable );
Zerotorescue@0 139
Zerotorescue@0 140 itemsGained = ( itemsGained + gained );
Zerotorescue@0 141
Zerotorescue@0 142 updated = true;
Zerotorescue@0 143
Zerotorescue@0 144 if self.db.profile.sessionSummary then
Zerotorescue@0 145 sessionItemsgained = ( sessionItemsgained + gained );
Zerotorescue@0 146 end
Zerotorescue@0 147
Zerotorescue@0 148 --We may need the lines below if we get inaccurate counts
Zerotorescue@0 149 -- previousFreeSlotsAvailable = ( previousFreeSlotsAvailable - gained );
Zerotorescue@0 150 --elseif freeSlotAvailable > previousFreeSlotsAvailable then
Zerotorescue@0 151 -- an additional slot available, so we lost an item
Zerotorescue@0 152
Zerotorescue@0 153 -- local lost = ( freeSlotAvailable - previousFreeSlotsAvailable );
Zerotorescue@0 154
Zerotorescue@0 155 -- previousFreeSlotsAvailable = ( previousFreeSlotsAvailable + lost );
Zerotorescue@0 156 end
Zerotorescue@0 157
Zerotorescue@0 158 previousFreeSlotsAvailable = freeSlotAvailable;
Zerotorescue@0 159 end
Zerotorescue@0 160
Zerotorescue@31 161 function mod:MAIL_INBOX_UPDATE()
Zerotorescue@0 162 local numItems, _ = GetInboxNumItems();
Zerotorescue@0 163
Zerotorescue@0 164 if previousMailCount == nil then
Zerotorescue@0 165 previousMailCount = numItems;
Zerotorescue@0 166 else
Zerotorescue@0 167 if numItems < previousMailCount then
Zerotorescue@0 168 -- We lost a mail, which means we opened one without text
Zerotorescue@0 169
Zerotorescue@0 170 --local opened = ( previousMailCount - numItems );
Zerotorescue@0 171
Zerotorescue@0 172 mailOpened = ( mailOpened + 1 );
Zerotorescue@0 173
Zerotorescue@0 174 updated = true;
Zerotorescue@0 175
Zerotorescue@0 176 if self.db.profile.sessionSummary then
Zerotorescue@0 177 sessionMailOpened = ( sessionMailOpened + 1 );
Zerotorescue@0 178 end
Zerotorescue@0 179 end
Zerotorescue@0 180
Zerotorescue@0 181 previousMailCount = numItems;
Zerotorescue@0 182 end
Zerotorescue@0 183 end
Zerotorescue@0 184
Zerotorescue@31 185 function mod:MO_OPEN_COMPLETE()
Zerotorescue@0 186 -- Only summarize when changed
Zerotorescue@0 187 if updated then
Zerotorescue@0 188 self:Summarize();
Zerotorescue@0 189
Zerotorescue@0 190 updated = false;
Zerotorescue@0 191 end
Zerotorescue@0 192 end
Zerotorescue@0 193
Zerotorescue@31 194 function mod:Stop()
Zerotorescue@0 195 self:UnregisterEvent("MAIL_CLOSED");
Zerotorescue@0 196
Zerotorescue@0 197 -- Batch summary
Zerotorescue@0 198 self:UnregisterMessage("MO_OPEN_COMPLETE");
Zerotorescue@0 199
Zerotorescue@0 200 -- Clear any var in the memory remaining
Zerotorescue@0 201
Zerotorescue@0 202 -- Money
Zerotorescue@0 203 self:UnregisterEvent("PLAYER_MONEY");
Zerotorescue@0 204 previousGold = nil;
Zerotorescue@0 205 earned = nil;
Zerotorescue@0 206
Zerotorescue@0 207 -- Items
Zerotorescue@0 208 self:UnregisterEvent("BAG_UPDATE");
Zerotorescue@0 209 previousFreeSlotsAvailable = nil;
Zerotorescue@0 210 itemsGained = nil;
Zerotorescue@0 211
Zerotorescue@0 212 -- Mail
Zerotorescue@0 213 self:UnregisterEvent("MAIL_INBOX_UPDATE");
Zerotorescue@0 214 previousMailCount = nil;
Zerotorescue@0 215 mailOpened = nil;
Zerotorescue@0 216
Zerotorescue@0 217 -- Time Spent
Zerotorescue@0 218 timeStarted = nil;
Zerotorescue@0 219 end
Zerotorescue@0 220
Zerotorescue@31 221 function mod:Summarize()
Zerotorescue@0 222 -- Message buffer, append details we have data for
Zerotorescue@0 223 local printMessage = "";
Zerotorescue@0 224
Zerotorescue@0 225 local timeSpent;
Zerotorescue@0 226 if timeStarted then
Zerotorescue@0 227 timeSpent = ( GetTime() - timeStarted );
Zerotorescue@0 228
Zerotorescue@0 229 if self.db.profile.sessionSummary and self.db.profile.trackTimeSpent then
Zerotorescue@0 230 sessionTimeSpent = ( sessionTimeSpent + timeSpent );
Zerotorescue@0 231 end
Zerotorescue@0 232 end
Zerotorescue@0 233
Zerotorescue@0 234 -- Did we record any mail being opened?
Zerotorescue@0 235 if mailOpened and mailOpened > 0 then
Zerotorescue@0 236 -- Time Spent
Zerotorescue@1 237 if timeSpent and timeSpent > 0 then
Zerotorescue@0 238 printMessage = printMessage .. format("Collected a total of %d mails within %d minutes and %d seconds. ", mailOpened, floor( timeSpent / 60 ), ( timeSpent % 60 ));
Zerotorescue@0 239 else
Zerotorescue@0 240 printMessage = printMessage .. format("Collected a total of %d mails. ", mailOpened);
Zerotorescue@0 241 end
Zerotorescue@1 242 elseif timeSpent and timeSpent > 0 then
Zerotorescue@0 243 printMessage = printMessage .. format("Spent %d minutes and %d seconds collecting mail. ", floor( timeSpent / 60 ), ( timeSpent % 60 ));
Zerotorescue@0 244 end
Zerotorescue@0 245
Zerotorescue@0 246 -- Did we record any items or gold being looted?
Zerotorescue@0 247 if (itemsGained and itemsGained > 0) and (earned and earned > 0) then
Zerotorescue@0 248 printMessage = printMessage .. format("From these mails you gained %d items and %s.", itemsGained, MailOpener:FormatMoney(earned));
Zerotorescue@0 249 elseif itemsGained and itemsGained > 0 then
Zerotorescue@0 250 printMessage = printMessage .. format("From these mails you gained %d items.", itemsGained);
Zerotorescue@0 251 elseif earned and earned > 0 then
Zerotorescue@0 252 printMessage = printMessage .. format("From these mails you gained %s.", MailOpener:FormatMoney(earned));
Zerotorescue@0 253 end
Zerotorescue@0 254
Zerotorescue@0 255 -- Did we record anything? print that!
Zerotorescue@0 256 if printMessage ~= "" then
Zerotorescue@0 257 print("|cff15ff00Mail Opener|r: " .. printMessage);
Zerotorescue@0 258 end
Zerotorescue@0 259
Zerotorescue@0 260 if self.db.profile.sessionSummary and ((sessionMailOpened and (not mailOpened or sessionMailOpened > mailOpened)) or (sessionTimeSpent and (not timeSpent or sessionTimeSpent > timeSpent)) or (sessionEarned and (not earned or sessionEarned > earned)) or (sessionItemsgained and (not itemsGained or sessionItemsgained > itemsGained))) then
Zerotorescue@0 261 -- Message buffer, append details we have data for
Zerotorescue@0 262 printMessage = "|cff15ff00Mail Opener|r: (Session summary) ";
Zerotorescue@0 263
Zerotorescue@0 264 -- Did we record any mail being opened?
Zerotorescue@0 265 if sessionMailOpened and sessionMailOpened > 0 then
Zerotorescue@0 266 -- Time Spent
Zerotorescue@1 267 if sessionTimeSpent and sessionTimeSpent > 0 then
Zerotorescue@0 268 printMessage = printMessage .. format("Collected a total of %d mails within %d minutes and %d seconds this session. ", sessionMailOpened, floor( sessionTimeSpent / 60 ), ( sessionTimeSpent % 60 ));
Zerotorescue@0 269 else
Zerotorescue@0 270 printMessage = printMessage .. format("Collected a total of %d mails this session. ", sessionMailOpened);
Zerotorescue@0 271 end
Zerotorescue@0 272 elseif sessionTimeSpent then
Zerotorescue@0 273 printMessage = printMessage .. format("Spent %d minutes and %d seconds collecting mail this session. ", floor( sessionTimeSpent / 60 ), ( sessionTimeSpent % 60 ));
Zerotorescue@0 274 end
Zerotorescue@0 275
Zerotorescue@0 276 -- Did we record any items or gold being looted?
Zerotorescue@0 277 if (sessionItemsgained and sessionItemsgained > 0) and (sessionEarned and sessionEarned > 0) then
Zerotorescue@0 278 printMessage = printMessage .. format("From these mails you gained %d items and %s.", sessionItemsgained, MailOpener:FormatMoney(sessionEarned));
Zerotorescue@0 279 elseif sessionItemsgained and sessionItemsgained > 0 then
Zerotorescue@0 280 printMessage = printMessage .. format("From these mails you gained %d items.", sessionItemsgained);
Zerotorescue@0 281 elseif sessionEarned and sessionEarned > 0 then
Zerotorescue@0 282 printMessage = printMessage .. format("From these mails you gained %s.", MailOpener:FormatMoney(sessionEarned));
Zerotorescue@0 283 end
Zerotorescue@0 284
Zerotorescue@0 285 -- Did we record anything? print that!
Zerotorescue@0 286 if printMessage ~= "" then
Zerotorescue@0 287 print(printMessage);
Zerotorescue@0 288 end
Zerotorescue@0 289 end
Zerotorescue@0 290 end
Zerotorescue@0 291
Zerotorescue@31 292 function mod:GetNumFreeSlots()
Zerotorescue@0 293 local slotsAvailable = 0;
Zerotorescue@0 294 for bag = 0, 4 do
Zerotorescue@0 295 slotsAvailable = ( slotsAvailable + GetContainerNumFreeSlots(bag) );
Zerotorescue@0 296 end
Zerotorescue@0 297
Zerotorescue@0 298 return slotsAvailable;
Zerotorescue@0 299 end
Zerotorescue@0 300
Zerotorescue@31 301 function mod:GetOptionsGroup()
Zerotorescue@0 302 local configGroup = {
Zerotorescue@31 303 order = 0,
Zerotorescue@31 304 type = "modulesSubGroup",
Zerotorescue@0 305 name = "Collected",
Zerotorescue@0 306 desc = "Change settings for the collected module.",
Zerotorescue@0 307 args = {
Zerotorescue@0 308 General = {
Zerotorescue@0 309 order = 10,
Zerotorescue@0 310 type = "group",
Zerotorescue@0 311 inline = true,
Zerotorescue@0 312 name = "General",
Zerotorescue@0 313 args = {
Zerotorescue@0 314 description = {
Zerotorescue@0 315 order = 10,
Zerotorescue@0 316 type = "description",
Zerotorescue@0 317 name = function()
Zerotorescue@31 318 local descText = "With this button you can completely toggle this module |cff00ff00on|r or |cffff0000off|r. This setting will be remembered and the module will be automatically toggled |cff00ff00on|r or |cffff0000off|r upon logon as it was last set.\n\n";
Zerotorescue@0 319
Zerotorescue@0 320 if self:IsEnabled() then
Zerotorescue@31 321 descText = descText .. "Status: |cff00ff00Enabled|r";
Zerotorescue@0 322 else
Zerotorescue@31 323 descText = descText .. "Status: |cffff0000Disabled|r";
Zerotorescue@0 324 end
Zerotorescue@31 325
Zerotorescue@31 326 return descText;
Zerotorescue@0 327 end,
Zerotorescue@0 328 },
Zerotorescue@0 329 disable = {
Zerotorescue@0 330 order = 20,
Zerotorescue@0 331 type = "execute",
Zerotorescue@0 332 name = function()
Zerotorescue@0 333 if self:IsEnabled() then
Zerotorescue@0 334 return "Disable Module";
Zerotorescue@0 335 else
Zerotorescue@0 336 return "Enable Module";
Zerotorescue@0 337 end
Zerotorescue@0 338 end,
Zerotorescue@0 339 desc = "Click here to completely toggle this module on or off.",
Zerotorescue@0 340 width = "double",
Zerotorescue@0 341 func = function()
Zerotorescue@0 342 if self:IsEnabled() then
Zerotorescue@0 343 self:Disable();
Zerotorescue@0 344
Zerotorescue@0 345 MailOpener.db.profile.modules[self:GetName()] = false;
Zerotorescue@0 346 else
Zerotorescue@0 347 self:Enable();
Zerotorescue@0 348
Zerotorescue@0 349 MailOpener.db.profile.modules[self:GetName()] = true;
Zerotorescue@0 350 end
Zerotorescue@0 351 end,
Zerotorescue@0 352 },
Zerotorescue@0 353 },
Zerotorescue@0 354 },
Zerotorescue@0 355 TrackStats = {
Zerotorescue@0 356 order = 20,
Zerotorescue@0 357 type = "group",
Zerotorescue@0 358 inline = true,
Zerotorescue@0 359 name = "Track Stats",
Zerotorescue@0 360 args = {
Zerotorescue@0 361 description = {
Zerotorescue@0 362 order = 10,
Zerotorescue@0 363 type = "description",
Zerotorescue@0 364 name = "You can select what things to track. Toggling something off will stop tracking of it completely and reduce the resources used by Mail Opener (although you shouldn't notice a difference).",
Zerotorescue@0 365 },
Zerotorescue@0 366 AHHeader = {
Zerotorescue@0 367 order = 15,
Zerotorescue@0 368 type = "header",
Zerotorescue@0 369 name = "",
Zerotorescue@0 370 },
Zerotorescue@0 371 trackGold = {
Zerotorescue@0 372 order = 20,
Zerotorescue@0 373 type = "toggle",
Zerotorescue@0 374 name = "Track |cfffed000gold gained|r",
Zerotorescue@0 375 desc = "Track the amount of gold gained and display it when closing the mailbox.",
Zerotorescue@0 376 set = function(i, v)
Zerotorescue@0 377 self.db.profile.trackGold = v;
Zerotorescue@0 378
Zerotorescue@0 379 if MailFrame:IsVisible() then
Zerotorescue@0 380 self:MAIL_SHOW();
Zerotorescue@0 381 end
Zerotorescue@0 382 end,
Zerotorescue@0 383 get = function() return self.db.profile.trackGold; end,
Zerotorescue@0 384 },
Zerotorescue@0 385 trackItems = {
Zerotorescue@0 386 order = 30,
Zerotorescue@0 387 type = "toggle",
Zerotorescue@0 388 name = "Track |cfffed000items gained|r",
Zerotorescue@0 389 desc = "Track the amount of items gained and display it when closing the mailbox.",
Zerotorescue@0 390 set = function(i, v)
Zerotorescue@0 391 self.db.profile.trackItems = v;
Zerotorescue@0 392
Zerotorescue@0 393 if MailFrame:IsVisible() then
Zerotorescue@0 394 self:MAIL_SHOW();
Zerotorescue@0 395 end
Zerotorescue@0 396 end,
Zerotorescue@0 397 get = function() return self.db.profile.trackItems; end,
Zerotorescue@0 398 },
Zerotorescue@0 399 trackMail = {
Zerotorescue@0 400 order = 40,
Zerotorescue@0 401 type = "toggle",
Zerotorescue@0 402 name = "Track |cfffed000mail opened|r",
Zerotorescue@0 403 desc = "Track the amount of mail received and display it when closing the mailbox.",
Zerotorescue@0 404 set = function(i, v)
Zerotorescue@0 405 self.db.profile.trackMail = v;
Zerotorescue@0 406
Zerotorescue@0 407 if MailFrame:IsVisible() then
Zerotorescue@0 408 self:MAIL_SHOW();
Zerotorescue@0 409 end
Zerotorescue@0 410 end,
Zerotorescue@0 411 get = function() return self.db.profile.trackMail; end,
Zerotorescue@0 412 },
Zerotorescue@0 413 trackTimeSpent = {
Zerotorescue@0 414 order = 50,
Zerotorescue@0 415 type = "toggle",
Zerotorescue@0 416 name = "Track |cfffed000time spent|r",
Zerotorescue@0 417 desc = "Track the amount of time spent at the mailbox.",
Zerotorescue@0 418 set = function(i, v)
Zerotorescue@0 419 self.db.profile.trackTimeSpent = v;
Zerotorescue@0 420
Zerotorescue@0 421 if MailFrame:IsVisible() then
Zerotorescue@0 422 self:MAIL_SHOW();
Zerotorescue@0 423 end
Zerotorescue@0 424 end,
Zerotorescue@0 425 get = function() return self.db.profile.trackTimeSpent; end,
Zerotorescue@0 426 },
Zerotorescue@0 427 },
Zerotorescue@0 428 },
Zerotorescue@0 429 Summarize = {
Zerotorescue@0 430 order = 30,
Zerotorescue@0 431 type = "group",
Zerotorescue@0 432 inline = true,
Zerotorescue@0 433 name = "Summarize",
Zerotorescue@0 434 args = {
Zerotorescue@0 435 sessionSummary = {
Zerotorescue@0 436 order = 20,
Zerotorescue@0 437 type = "toggle",
Zerotorescue@0 438 name = "Also show a summary of the recorded stats within the entire session",
Zerotorescue@0 439 desc = "Also show a summary of the recorded stats within the entire session (since your last login or /reload).",
Zerotorescue@0 440 set = function(i, v)
Zerotorescue@0 441 self.db.profile.sessionSummary = v;
Zerotorescue@0 442
Zerotorescue@0 443 if MailFrame:IsVisible() then
Zerotorescue@0 444 self:MAIL_SHOW();
Zerotorescue@0 445 end
Zerotorescue@0 446 end,
Zerotorescue@0 447 get = function() return self.db.profile.sessionSummary; end,
Zerotorescue@0 448 width = "full",
Zerotorescue@0 449 },
Zerotorescue@0 450 batchSummary = {
Zerotorescue@0 451 order = 30,
Zerotorescue@0 452 type = "toggle",
Zerotorescue@0 453 name = "Show a summary of the recorded stats whenever it updated after opening the current batch has finished",
Zerotorescue@0 454 desc = "Show a summary of the recorded stats whenever it has been updated after opening the current batch of mails has finished.",
Zerotorescue@0 455 set = function(i, v)
Zerotorescue@0 456 self.db.profile.batchSummary = v;
Zerotorescue@0 457
Zerotorescue@0 458 if MailFrame:IsVisible() then
Zerotorescue@0 459 self:MAIL_SHOW();
Zerotorescue@0 460 end
Zerotorescue@0 461 end,
Zerotorescue@0 462 get = function() return self.db.profile.batchSummary; end,
Zerotorescue@0 463 width = "full",
Zerotorescue@0 464 },
Zerotorescue@0 465 },
Zerotorescue@0 466 },
Zerotorescue@0 467 },
Zerotorescue@0 468 };
Zerotorescue@0 469
Zerotorescue@0 470 return configGroup;
Zerotorescue@0 471 end
Zerotorescue@0 472
Zerotorescue@31 473 function mod:Debug(t)
Zerotorescue@0 474 return MailOpener:Debug("|cffff0000Collected|r:" .. t);
Zerotorescue@0 475 end