Mercurial > wow > inventory
comparison Modules/Scanner.lua @ 117:239e25a058c7
Implemented mail refilling support. Respecting the MailAddonBusy global when opening so addons like MailOpener shouldn?t interfere.
| author | Zerotorescue |
|---|---|
| date | Sat, 15 Jan 2011 13:15:16 +0100 |
| parents | 41f0689dfda1 |
| children | dc6f405c1a5d |
comparison
equal
deleted
inserted
replaced
| 116:8356e5acefdc | 117:239e25a058c7 |
|---|---|
| 384 | 384 |
| 385 self:RegisterEvent("GUILDBANKFRAME_CLOSED"); | 385 self:RegisterEvent("GUILDBANKFRAME_CLOSED"); |
| 386 self:RegisterEvent("GUILDBANKBAGSLOTS_CHANGED"); | 386 self:RegisterEvent("GUILDBANKBAGSLOTS_CHANGED"); |
| 387 end | 387 end |
| 388 | 388 |
| 389 --local previousMailCount; | 389 local previousMailCount; |
| 390 --function mod:MAIL_SHOW() | 390 function mod:MAIL_SHOW() |
| 391 -- addon:Debug("Scanner:MAIL_SHOW"); | 391 addon:Debug("Scanner:MAIL_SHOW"); |
| 392 -- | 392 |
| 393 -- self:RegisterEvent("MAIL_INBOX_UPDATE"); | 393 self:RegisterEvent("MAIL_INBOX_UPDATE"); |
| 394 -- self:RegisterEvent("MAIL_CLOSED"); | 394 self:RegisterEvent("MAIL_CLOSED"); |
| 395 -- | 395 |
| 396 -- scanned = nil; | 396 scanned = nil; |
| 397 -- previousMailCount = nil; | 397 previousMailCount = nil; |
| 398 -- | 398 |
| 399 -- self:Scan(addon.Locations.Mailbox); | 399 self:Scan(addon.Locations.Mailbox); |
| 400 --end | 400 end |
| 401 | 401 |
| 402 --function mod:MAIL_INBOX_UPDATE() | 402 function mod:MAIL_INBOX_UPDATE() |
| 403 -- if not scanned then | 403 if not scanned then |
| 404 -- addon:Debug("Scanner:MAIL_INBOX_UPDATE"); | 404 addon:Debug("Scanner:MAIL_INBOX_UPDATE"); |
| 405 -- | 405 |
| 406 -- local current, total = GetInboxNumItems(); | 406 local current, total = GetInboxNumItems(); |
| 407 -- | 407 |
| 408 -- if not previousMailCount or current > previousMailCount then | 408 if not previousMailCount or current > previousMailCount then |
| 409 -- -- New mail received | 409 -- New mail received |
| 410 -- | 410 |
| 411 -- scanned = true; | 411 scanned = true; |
| 412 -- | 412 |
| 413 -- self:Scan(addon.Locations.Mailbox); | 413 self:Scan(addon.Locations.Mailbox); |
| 414 -- end | 414 end |
| 415 -- | 415 |
| 416 -- -- Also remember the new mailcount when losing items, otherwise deleting item 50 and getting to 50 again wouldn't trigger a re-scan | 416 -- Also remember the new mailcount when losing items, otherwise deleting item 50 and getting to 50 again wouldn't trigger a re-scan |
| 417 -- previousMailCount = current; | 417 previousMailCount = current; |
| 418 -- else | 418 else |
| 419 -- addon:Debug("Scanner:MAIL_INBOX_UPDATE skipped, already scanned"); | 419 addon:Debug("Scanner:MAIL_INBOX_UPDATE skipped, already scanned"); |
| 420 -- end | 420 end |
| 421 --end | 421 end |
| 422 | 422 |
| 423 --function mod:MAIL_CLOSED() | 423 function mod:MAIL_CLOSED() |
| 424 -- addon:Debug("Scanner:MAIL_CLOSED"); | 424 addon:Debug("Scanner:MAIL_CLOSED"); |
| 425 -- | 425 |
| 426 -- previousMailCount = nil; | 426 previousMailCount = nil; |
| 427 -- scanned = nil; | 427 scanned = nil; |
| 428 -- self:ClearCache(); | 428 self:ClearCache(); |
| 429 -- | 429 |
| 430 -- self:UnregisterEvent("MAIL_INBOX_UPDATE"); | 430 self:UnregisterEvent("MAIL_INBOX_UPDATE"); |
| 431 -- self:UnregisterEvent("MAIL_CLOSED"); | 431 self:UnregisterEvent("MAIL_CLOSED"); |
| 432 -- | 432 |
| 433 -- InventoriumItemMover:Hide(); | 433 InventoriumItemMover:Hide(); |
| 434 -- Mover:ResetQueue(); | 434 Mover:ResetQueue(); |
| 435 --end | 435 end |
| 436 | 436 |
| 437 function mod:OnEnable() | 437 function mod:OnEnable() |
| 438 -- Scan once when the bankframe is opened | 438 -- Scan once when the bankframe is opened |
| 439 self:RegisterEvent("BANKFRAME_OPENED"); | 439 self:RegisterEvent("BANKFRAME_OPENED"); |
| 440 self:RegisterEvent("GUILDBANKFRAME_OPENED"); | 440 self:RegisterEvent("GUILDBANKFRAME_OPENED"); |
| 441 -- self:RegisterEvent("MAIL_SHOW"); | 441 self:RegisterEvent("MAIL_SHOW"); |
| 442 | 442 |
| 443 Mover = addon:GetModule("Mover"); | 443 Mover = addon:GetModule("Mover"); |
| 444 | 444 |
| 445 if not InventoriumItemMover then | 445 if not InventoriumItemMover then |
| 446 addon:CreateMoverFrame(OnMoveAccept, OnMoveCancel); | 446 addon:CreateMoverFrame(OnMoveAccept, OnMoveCancel); |
| 458 | 458 |
| 459 -- Guild | 459 -- Guild |
| 460 self:GUILDBANKFRAME_CLOSED(); | 460 self:GUILDBANKFRAME_CLOSED(); |
| 461 self:UnregisterEvent("GUILDBANKFRAME_OPENED"); | 461 self:UnregisterEvent("GUILDBANKFRAME_OPENED"); |
| 462 | 462 |
| 463 -- -- Mailbox | 463 -- Mailbox |
| 464 -- self:MAIL_CLOSED(); | 464 self:MAIL_CLOSED(); |
| 465 -- self:UnregisterEvent("MAIL_SHOW"); | 465 self:UnregisterEvent("MAIL_SHOW"); |
| 466 end | 466 end |
| 467 | 467 |
| 468 function mod:Pause() | 468 function mod:Pause() |
| 469 paused = true; | 469 paused = true; |
| 470 end | 470 end |
