annotate Modules/Collected.lua @ 0:823e33465b6e

Initial commit
author Zerotorescue
date Fri, 03 Sep 2010 12:43:36 +0200
parents
children 6f17035de058
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@0 229 if timeSpent 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@0 234 elseif timeSpent 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@0 259 if sessionTimeSpent 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