diff --git a/ClickCastingTab/ClickCastingTab.xml b/ClickCastingTab/ClickCastingTab.xml index 1259094..a01fdc6 100644 --- a/ClickCastingTab/ClickCastingTab.xml +++ b/ClickCastingTab/ClickCastingTab.xml @@ -1,21 +1,21 @@ - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ../../FrameXML/UI.xsd"> + + diff --git a/ClickCastingTab/Main.lua b/ClickCastingTab/Main.lua index abe4c16..17b6d90 100644 --- a/ClickCastingTab/Main.lua +++ b/ClickCastingTab/Main.lua @@ -3,16 +3,42 @@ local addonName, addon = ... -- Globals local _G = _G ---@class CheckButton -local ClickCastingSkillLineTab = _G.ClickCastingSkillLineTab -- our frame name, see ClickCastingTab.xml +local ClickCastingToggleButton = _G.ClickCastingToggleButton -- our frame name, see ClickCastingTab.xml +local spellBookAddonName = 'Blizzard_PlayerSpells' + +-- Hooks +function OnShowHook(self) + if self:IsMinimized() then + ClickCastingToggleButton:Hide() + else + ClickCastingToggleButton:Show() + end +end + +function OnSetMinimizedHook(self, isMinimized) + if isMinimized then + ClickCastingToggleButton:Hide() + else + ClickCastingToggleButton:Show() + end +end -- Addon Core addon.eventFrame = CreateFrame("Frame", addonName .. "EventFrame", UIParent) addon.eventFrame:RegisterEvent("ADDON_LOADED") -addon.eventFrame:SetScript("OnEvent", function(frame, event, ...) +addon.eventFrame:SetScript("OnEvent", function(_, event, ...) if event == "ADDON_LOADED" then - if ... == addonName then + local name = ... + if name == spellBookAddonName then addon.eventFrame:UnregisterEvent("ADDON_LOADED") - ClickCastingSkillLineTab.tooltip = "Click Cast Bindings" + local PlayerSpellsFrame = _G.PlayerSpellsFrame + local SpellBookFrame = PlayerSpellsFrame.SpellBookFrame + PlayerSpellsFrame:HookScript("OnShow", OnShowHook) + hooksecurefunc(PlayerSpellsFrame, "SetMinimized", OnSetMinimizedHook) + -- TODO: check if IsMinimized and change anchor + ClickCastingToggleButton:ClearAllPoints() + ClickCastingToggleButton:SetParent(SpellBookFrame) + ClickCastingToggleButton:SetPoint("RIGHT", SpellBookFrame.SearchBox, "LEFT", -30, 0) end end end)