annotate Modules/Collected.lua @ 123:b21c39ea338c

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