annotate Modules/Collected.lua @ 1:6f17035de058

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