annotate Modules/Collected.lua @ 6:f10c8a083d2a

The ALPHA help request popup should pop when the addon is enabled for every 15th time. I really would like some data to. The timer to start opening mail when you open the mailbox will now use the initial mail opening delay.
author Zerotorescue
date Wed, 08 Sep 2010 00:48:37 +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