From 448360bc1171e55153cc878beca325f43e5b5e8a Mon Sep 17 00:00:00 2001 From: Xruptor Date: Mon, 17 May 2010 11:31:21 -0400 Subject: [PATCH] -Updated total display. Should now only display totals only if there is more then one item. --- BagSync.lua | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/BagSync.lua b/BagSync.lua index aeec683..0bc7ff4 100644 --- a/BagSync.lua +++ b/BagSync.lua @@ -28,6 +28,10 @@ local BS_TD local MAX_GUILDBANK_SLOTS_PER_TAB = 98 local doTokenUpdate = 0 +local SILVER = '|cffc7c7cf%s|r' +local MOSS = '|cFF80FF00%s|r' +local TTL_C = '|cFFF4A460%s|r' + local BagSync = CreateFrame("frame", "BagSync", UIParent) BagSync:SetScript('OnEvent', function(self, event, ...) @@ -696,9 +700,9 @@ function BagSync:ShowMoneyTooltip() tooltip:AddDoubleLine(usrData[i].name, self:buildMoneyString(usrData[i].gold, false), 1, 1, 1, 1, 1, 1) gldTotal = gldTotal + usrData[i].gold end - if BagSyncOpt.showTotal then + if BagSyncOpt.showTotal and gldTotal > 0 then tooltip:AddLine(" ") - tooltip:AddDoubleLine("|cfff4a460"..BAGSYNC_SEARCH_TOTAL.."|r", self:buildMoneyString(gldTotal, false), 1, 1, 1, 1, 1, 1) + tooltip:AddDoubleLine(format(TTL_C, BAGSYNC_SEARCH_TOTAL), self:buildMoneyString(gldTotal, false), 1, 1, 1, 1, 1, 1) end tooltip:AddLine(" ") @@ -827,9 +831,6 @@ hooksecurefunc("BackpackTokenFrame_Update", BagSync.ScanTokens) -- (Special thanks to tuller) ------------------------ -local SILVER = '|cffc7c7cf%s|r' -local MOSS = '|cFF80FF00%s|r' - local function CountsToInfoString(invCount, bankCount, equipCount, guildCount, mailboxCount) local info local total = invCount + bankCount + equipCount + guildCount + mailboxCount @@ -897,7 +898,7 @@ local function AddOwners(frame, link) for i = 1, #lastDisplayed do local ename, ecount = strsplit('@', lastDisplayed[i]) if ename and ecount then - frame:AddDoubleLine(format(MOSS, ename), ecount) + frame:AddDoubleLine(ename, ecount) end end frame:Show() @@ -910,7 +911,8 @@ local function AddOwners(frame, link) --this is so we don't scan the same guild multiple times local previousGuilds = {} - + local grandTotal = 0 + --loop through our characters for k, v in pairs(BagSyncDB[currentRealm]) do local infoString @@ -958,13 +960,21 @@ local function AddOwners(frame, link) end infoString = CountsToInfoString(invCount or 0, bankCount or 0, equipCount or 0, guildCount or 0, mailboxCount or 0) - + grandTotal = grandTotal + ((invCount or 0) + (bankCount or 0) + (equipCount or 0) + (guildCount or 0) + (mailboxCount or 0)) + if infoString and infoString ~= '' then frame:AddDoubleLine(format(MOSS, k), infoString) - table.insert(lastDisplayed, (k or 'Unknown').."@"..(infoString or 'unknown')) + table.insert(lastDisplayed, format(MOSS,(k or 'Unknown')).."@"..(infoString or 'unknown')) end end + + --show grand total if we have something + --don't show total if there is only one item + if BagSyncOpt.showTotal and grandTotal > 0 and getn(lastDisplayed) > 1 then + frame:AddDoubleLine(format(TTL_C, BAGSYNC_SEARCH_TOTAL), format(SILVER, grandTotal)) + table.insert(lastDisplayed, format(TTL_C, BAGSYNC_SEARCH_TOTAL).."@"..format(SILVER, grandTotal)) + end frame:Show() end -- 1.7.9.5