From 1cea73eb473982ce7ad84135290b05f02086db68 Mon Sep 17 00:00:00 2001 From: Alar of Daggerspine Date: Mon, 6 Apr 2015 01:35:11 +0200 Subject: [PATCH] Signed-off-by: Alar of Daggerspine --- CHANGELOG.txt | 7 ++++-- GarrisonCommander-Broker/ldb.lua | 50 +++++++++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 12f95b8..0d247ac 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,4 +1,7 @@ ==GarrisonCommander helps you when choosing the right follower for the right mission== * 2.4.7 -Fix: People upgrading from a abeta still had issues. Should be fixed -Feature: Broker now reports how long work queues are loaded with materials +Fix: Sometimes daily reset was not fired at dure time +Feature: Redone all buttomns to be more consistent. Old behaviour configurable via options +Feature: Update frequency is now configurable. +Feature: Right clicking on any button open menu +Feature: To manually register ah harvest as done or undone you need now to keep shift pressed diff --git a/GarrisonCommander-Broker/ldb.lua b/GarrisonCommander-Broker/ldb.lua index 34c657f..c697adc 100644 --- a/GarrisonCommander-Broker/ldb.lua +++ b/GarrisonCommander-Broker/ldb.lua @@ -53,9 +53,12 @@ local GARRISON_SHIPMENT_READY=GARRISON_SHIPMENT_READY -- "Work Order Ready"; local QUEUED_STATUS_WAITING=QUEUED_STATUS_WAITING -- "Waiting" local CAPACITANCE_ALL_COMPLETE=format(CAPACITANCE_ALL_COMPLETE,'') -- "All work orders will be completed in: %s"; local GARRISON_NUM_COMPLETED_MISSIONS=format(GARRISON_NUM_COMPLETED_MISSIONS,'999'):gsub('999','') -- "%d Completed |4Mission:Missions;"; - +local KEY_BUTTON1="Shift " .. KEY_BUTTON1 +local KEY_BUTTON2="Shift " .. KEY_BUTTON2 local EMPTY=EMPTY -- "Empty" local dbversion=1 +local frequency=5 +local ldbtimer=nil local spellids={ [158754]='herb', @@ -277,6 +280,15 @@ function addon:OnInitialized() self:AddLabel(GARRISON_NUM_COMPLETED_MISSIONS) self:AddToggle("OLDINT",false,L["Use old interface"],L["Uses the old, more intrusive interface"]) self:AddToggle("SHOWNEXT",false,L["Show next toon"],L["Show the next toon whicg will complete a mission"]) + self:AddSlider("FREQUENCY",5,1,60,L["Update frequency"]) + frequency=self:GetNumber("FREQUENCY",5) +end +function addon:ApplyFREQUENCY(value) + frequency=value + if (ldbtimer) then + self:CancelTimer(ldbtimer) + end + ldbtimer=self:ScheduleRepeatingTimer("ldbUpdate",frequency) end function addon:SHIPMENT_CRAFTER_INFO(...) self:WorkUpdate(...) @@ -286,9 +298,10 @@ function addon:DelayedInit() self:CheckDateReset() self:WorkUpdate() self:ZONE_CHANGED_NEW_AREA() - self:ScheduleRepeatingTimer("ldbUpdate",1) + ldbtimer=self:ScheduleRepeatingTimer("ldbUpdate",frequency) farmobj:Update() workobj:Update() + dataobj:Update() end function addon:OnEnabled() self:ScheduleTimer("DelayedInit",5) @@ -445,16 +458,21 @@ end farmobj.OnLeave=dataobj.OnLeave workobj.OnLeave=dataobj.OnLeave function farmobj:OnClick(button) - for k,v in pairs(addon.db.realm.farms) do - if (k==ns.me) then - for s,d in pairs(v) do - if (button=="LeftButton") then - v[s]=today; - else - v[s]=today-1; + if (IsShiftKeyDown()) then + for k,v in pairs(addon.db.realm.farms) do + if (k==ns.me) then + for s,d in pairs(v) do + if (button=="LeftButton") then + v[s]=today; + else + v[s]=today-1; + end end end end + farmobj:Update() + else + dataobj:OnClick(button) end farmobj:Update() @@ -463,8 +481,11 @@ end function dataobj:OnClick(button) if (button=="LeftButton") then GarrisonLandingPage_Toggle() + else + addon:Gui() end end +workobj.OnClick=dataobj.OnClick function dataobj:Update() if addon:GetBoolean("OLDINT") then return self:OldUpdate() end local now=time() @@ -516,5 +537,16 @@ function dataobj:OldUpdate() end --@debug@ +local function highdebug(tb) + for k,v in pairs(tb) do + if type(v) == "function" then + tb[k]=function(...) print(date(),k) return v(...) end + end + end +end +--highdebug(addon) +--highdebug(dataobj) +--highdebug(farmobj) +--highdebug(workobj) _G.GACB=addon --@end-debug@ -- 1.7.9.5