From 902e1efb5daa8c2d6c20c4d2c1e6476cf136f904 Mon Sep 17 00:00:00 2001 From: Darthpred Date: Fri, 20 Sep 2013 07:18:02 +0400 Subject: [PATCH] Catchup with elv --- ElvUI_SLE/modules/datatexts/time.lua | 73 +++++++++++++++------------------- 1 file changed, 32 insertions(+), 41 deletions(-) diff --git a/ElvUI_SLE/modules/datatexts/time.lua b/ElvUI_SLE/modules/datatexts/time.lua index 5275898..2730a5d 100755 --- a/ElvUI_SLE/modules/datatexts/time.lua +++ b/ElvUI_SLE/modules/datatexts/time.lua @@ -71,23 +71,6 @@ local function CalculateTimeLeft(time) return hour, min, sec end -local function formatResetTime(sec) - local d,h,m,s = ChatFrame_TimeBreakDown(floor(sec)) - if not type(d) == 'number' or not type(h)== 'number' or not type(m) == 'number' or not type(s) == 'number' then - return 'N/A' - end - - if d > 0 and lockoutFormatString[h>10 and 1 or 2] then - return format(lockoutFormatString[h>10 and 1 or 2], d, h, m) - end - if h > 0 and lockoutFormatString[h>10 and 3 or 4] then - return format(lockoutFormatString[h>10 and 3 or 4], h, m) - end - if m > 0 and lockoutFormatString[m>10 and 5 or 6] then - return format(lockoutFormatString[m>10 and 5 or 6], m) - end -end - local function Click() GameTimeFrame:Click(); end @@ -97,10 +80,20 @@ local function OnLeave(self) enteredFrame = false; end +local function OnEvent() + if event == "UPDATE_INSTANCE_INFO" and enteredFrame then + RequestRaidInfo() + end +end + local function OnEnter(self) DT:SetupTooltip(self) - enteredFrame = true; - + + if(not enteredFrame) then + enteredFrame = true; + RequestRaidInfo() + end + DT.tooltip:AddLine(VOICE_CHAT_BATTLEGROUND); for i = 1, GetNumWorldPVPAreas() do _, localizedName, isActive, canQueue, startTime, canEnter = GetWorldPVPAreaInfo(i) @@ -110,16 +103,11 @@ local function OnEnter(self) elseif startTime == nil then startTime = QUEUE_TIME_UNAVAILABLE else - local h, m, s = CalculateTimeLeft(startTime) - if h > 0 then - startTime = format(timerLongFormat, h, m, s) - else - startTime = format(timerShortFormat, m, s) - end + startTime = SecondsToTime(startTime, false, nil, 3) end DT.tooltip:AddDoubleLine(format(formatBattleGroundInfo, localizedName), startTime, 1, 1, 1, lockoutColorNormal.r, lockoutColorNormal.g, lockoutColorNormal.b) end - end + end --LFR lockout text if E.db.sle.lfrshow.enabled then @@ -128,21 +116,25 @@ local function OnEnter(self) local oneraid, lockoutColor for i = 1, GetNumSavedInstances() do - name, _, reset, _, locked, extended, _, isRaid, maxPlayers, difficulty, numEncounters, encounterProgress = GetSavedInstanceInfo(i) + name, _, reset, difficultyId, locked, extended, _, isRaid, maxPlayers, difficulty, numEncounters, encounterProgress = GetSavedInstanceInfo(i) if isRaid and (locked or extended) and name then - local tr,tg,tb,diff if not oneraid then DT.tooltip:AddLine(" ") DT.tooltip:AddLine(L["Saved Raid(s)"]) oneraid = true end - if extended then lockoutColor = lockoutColorExtended else lockoutColor = lockoutColorNormal end + if extended then + lockoutColor = lockoutColorExtended + else + lockoutColor = lockoutColorNormal + end + local _, _, isHeroic, _ = GetDifficultyInfo(difficultyId) if (numEncounters and numEncounters > 0) and (encounterProgress and encounterProgress > 0) then - DT.tooltip:AddDoubleLine(format(lockoutInfoFormat, maxPlayers, (difficulty:match("Heroic") and "H" or "N"), name, encounterProgress, numEncounters), formatResetTime(reset), 1,1,1, lockoutColor.r,lockoutColor.g,lockoutColor.b) + DT.tooltip:AddDoubleLine(format(lockoutInfoFormat, maxPlayers, (isHeroic and "H" or "N"), name, encounterProgress, numEncounters), SecondsToTime(reset, false, nil, 3), 1, 1, 1, lockoutColor.r, lockoutColor.g, lockoutColor.b) else - DT.tooltip:AddDoubleLine(format(lockoutInfoFormatNoEnc, maxPlayers, (difficulty:match("Heroic") and "H" or "N"), name), formatResetTime(reset), 1,1,1, lockoutColor.r,lockoutColor.g,lockoutColor.b) - end + DT.tooltip:AddDoubleLine(format(lockoutInfoFormatNoEnc, maxPlayers, (isHeroic and "H" or "N"), name), SecondsToTime(reset, false, nil, 3), 1, 1, 1, lockoutColor.r, lockoutColor.g, lockoutColor.b) + end end end @@ -185,19 +177,19 @@ end local int = 3 function Update(self, t) int = int - t - - if enteredFrame then - OnEnter(self) - end + + if int > 0 then return end if GameTimeFrame.flashInvite then E:Flash(self, 0.53) else E:StopFlash(self) + end + + if enteredFrame then + OnEnter(self) end - - if int > 0 then return end - + local Hr, Min, AmPm = CalculateTimeValues(false) -- no update quick exit @@ -218,7 +210,6 @@ function Update(self, t) lastPanel = self int = 5 end - --[[ DT:RegisterDatatext(name, events, eventFunc, updateFunc, clickFunc, onEnterFunc, onLeaveFunc) @@ -230,4 +221,4 @@ end onEnterFunc - function to fire OnEnter onLeaveFunc - function to fire OnLeave, if not provided one will be set for you that hides the tooltip. ]] -DT:RegisterDatatext('Time', nil, nil, Update, Click, OnEnter, OnLeave) \ No newline at end of file +DT:RegisterDatatext('Time', {"UPDATE_INSTANCE_INFO"}, OnEvent, Update, Click, OnEnter, OnLeave) \ No newline at end of file -- 1.7.9.5