From 627b7c45014565caafc80fa68de5bb3adda78f54 Mon Sep 17 00:00:00 2001 From: Logan Payton Date: Tue, 27 Feb 2018 23:57:13 -0500 Subject: [PATCH 1/3] WIP - detecting actual key bindings now --- ElvUI/Modules/ActionBars/Bind.lua | 42 +++++++++++++------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/ElvUI/Modules/ActionBars/Bind.lua b/ElvUI/Modules/ActionBars/Bind.lua index fd3b5e2..22f371e 100644 --- a/ElvUI/Modules/ActionBars/Bind.lua +++ b/ElvUI/Modules/ActionBars/Bind.lua @@ -6,7 +6,7 @@ local AB = E:GetModule("ActionBars"); local _G = _G local select, tonumber, pairs, getn = select, tonumber, pairs, getn local floor, mod = math.floor, math.mod -local find, format, upper = string.find, string.format, string.upper +local find, format, upper, sub = string.find, string.format, string.upper, string.sub --WoW API / Variables local hooksecurefunc = hooksecurefunc local EnumerateFrames = EnumerateFrames @@ -163,27 +163,17 @@ function AB:BindUpdate(button, spellmacro) this:SetScript("OnHide", nil) end) else - bind.button.action = tonumber(button.action) bind.button.name = button:GetName() - if not bind.button.name then return end - if (not bind.button.action or bind.button.action < 1 or bind.button.action > 132) and not (bind.button.keyBoundTarget) then - bind.button.bindstring = "CLICK "..bind.button.name..":LeftButton" - elseif bind.button.keyBoundTarget then - bind.button.bindstring = bind.button.keyBoundTarget - else - local modact = mod(1 + (bind.button.action - 1), 12) - if bind.button.action < 25 or bind.button.action > 72 then - bind.button.bindstring = "ACTIONBUTTON"..modact - elseif bind.button.action < 73 and bind.button.action > 60 then - bind.button.bindstring = "MULTIACTIONBAR1BUTTON"..modact - elseif bind.button.action < 61 and bind.button.action > 48 then - bind.button.bindstring = "MULTIACTIONBAR2BUTTON"..modact - elseif bind.button.action < 49 and bind.button.action > 36 then - bind.button.bindstring = "MULTIACTIONBAR4BUTTON"..modact - elseif bind.button.action < 37 and bind.button.action > 24 then - bind.button.bindstring = "MULTIACTIONBAR3BUTTON"..modact - end + bind.button.bindstring = bind.button.buttonType + if not bind.button.bindstring and find(bind.button.name, "BonusActionButton") then + bind.button.bindstring = "ACTIONBUTTON" + end + + if tonumber(sub(bind.button.name, -2)) then + bind.button.bindstring = bind.button.bindstring .. sub(bind.button.name, -2) + elseif tonumber(sub(bind.button.name, -1)) then + bind.button.bindstring = bind.button.bindstring .. sub(bind.button.name, -1) end GameTooltip:AddLine(L["Trigger"]) @@ -210,13 +200,17 @@ end local script local shapeshift = ShapeshiftButton1:GetScript("OnClick") local pet = PetActionButton1:GetScript("OnClick") -local button = ActionButton1:GetScript("OnClick") function AB:RegisterButton(b, override) - if b.IsObjectType and b.GetScript and b:IsObjectType("CheckButton") then - script = b:GetScript("OnClick") - if script == button or override then + if b.IsObjectType and b.GetScript and b:IsObjectType("CheckButton") then + local buttonName = b:GetName() + if find(buttonName, "MultiBarLeftButton") + or find(buttonName, "MultiBarRightButton") + or find(buttonName, "MultiBarBottomLeftButton") + or find(buttonName, "MultiBarBottomRightButton") + or find(buttonName, "BonusActionButton") or override then HookScript(b, "OnEnter", function() self:BindUpdate(b) end) + script = b:GetScript("OnClick") if script == shapeshift then HookScript(b, "OnEnter", function() self:BindUpdate(b, "SHAPESHIFT") end) elseif script == pet then From f63a589fd3bf572ee3016315fe7e9523c7559590 Mon Sep 17 00:00:00 2001 From: Logan Payton Date: Wed, 28 Feb 2018 00:32:34 -0500 Subject: [PATCH 2/3] Add normal action bar --- ElvUI/Modules/ActionBars/Bind.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ElvUI/Modules/ActionBars/Bind.lua b/ElvUI/Modules/ActionBars/Bind.lua index 22f371e..1dddba0 100644 --- a/ElvUI/Modules/ActionBars/Bind.lua +++ b/ElvUI/Modules/ActionBars/Bind.lua @@ -166,7 +166,7 @@ function AB:BindUpdate(button, spellmacro) bind.button.name = button:GetName() bind.button.bindstring = bind.button.buttonType - if not bind.button.bindstring and find(bind.button.name, "BonusActionButton") then + if not bind.button.bindstring and (find(bind.button.name, "BonusActionButton") or find(bind.button.name, "ActionButton")) then bind.button.bindstring = "ACTIONBUTTON" end @@ -208,7 +208,8 @@ function AB:RegisterButton(b, override) or find(buttonName, "MultiBarRightButton") or find(buttonName, "MultiBarBottomLeftButton") or find(buttonName, "MultiBarBottomRightButton") - or find(buttonName, "BonusActionButton") or override then + or find(buttonName, "BonusActionButton") + or find(buttonName, "ActionButton") or override then HookScript(b, "OnEnter", function() self:BindUpdate(b) end) script = b:GetScript("OnClick") if script == shapeshift then From 3482c89c53d3dbc37a26904e8e3595d3c44aa8cd Mon Sep 17 00:00:00 2001 From: Logan Payton Date: Wed, 28 Feb 2018 00:47:55 -0500 Subject: [PATCH 3/3] Fix action bars and remove a thing we dont need --- ElvUI/Core/core.lua | 1 - ElvUI/Modules/ActionBars/ActionBars.lua | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ElvUI/Core/core.lua b/ElvUI/Core/core.lua index 2485555..cd068c3 100644 --- a/ElvUI/Core/core.lua +++ b/ElvUI/Core/core.lua @@ -50,7 +50,6 @@ E["ModuleCallbacks"] = {["CallPriority"] = {}} E["InitialModuleCallbacks"] = {["CallPriority"] = {}} E["valueColorUpdateFuncs"] = {} E.TexCoords = {.08, .92, .08, .92} -E.VehicleLocks = {} E.CreditsList = {} E.PixelMode = false diff --git a/ElvUI/Modules/ActionBars/ActionBars.lua b/ElvUI/Modules/ActionBars/ActionBars.lua index bef321c..4fe5db5 100644 --- a/ElvUI/Modules/ActionBars/ActionBars.lua +++ b/ElvUI/Modules/ActionBars/ActionBars.lua @@ -492,7 +492,9 @@ function AB:Initialize() self:RawHook("ActionButton_GetPagedID") -- self:SecureHook("PetActionBar_Update", "UpdatePet") - BonusActionBarFrame:Show() + if E.myclass == "WARRIOR" or E.myclass == "DRUID" then + BonusActionBarFrame:Show() + end end local function InitializeCallback()