annotate Modules/Collected.lua @ 14:088a308a46cc

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