From 1340d5cbcaab3c2258e8289c15a859daef35bd5d Mon Sep 17 00:00:00 2001 From: James Whitehead II Date: Wed, 13 Oct 2010 14:46:09 +0100 Subject: [PATCH] Change window opening so it works on high-ui-scale screens --- BindConfig.lua | 37 +++++++++++++++++++++++++++++-------- Clique.lua | 6 +++++- Clique.xml | 6 +----- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/BindConfig.lua b/BindConfig.lua index 91a90ab..701c41b 100755 --- a/BindConfig.lua +++ b/BindConfig.lua @@ -3,6 +3,13 @@ local L = addon.L local MAX_ROWS = 12 +function CliqueConfig:ShowWithSpellBook() + self:ClearAllPoints() + self:SetParent(SpellBookFrame) + self:SetPoint("LEFT", SpellBookFrame, "RIGHT", 55, 0) + self:Show() +end + function CliqueConfig:OnShow() if not self.initialized then self:SetupGUI() @@ -16,6 +23,9 @@ function CliqueConfig:OnShow() end function CliqueConfig:OnHide() + self:ClearAllPoints() + self:SetParent(UIParent) + self:Hide() CliqueSpellTab:SetChecked(false) end @@ -92,14 +102,17 @@ function CliqueConfig:HijackSpellbook() self.spellbookButtons[idx] = button end - local function showHideHandler(frame) + SpellBookFrame:HookScript("OnShow", function(frame) self:EnableSpellbookButtons() - end - SpellBookFrame:HookScript("OnShow", showHideHandler) - SpellBookFrame:HookScript("OnHide", showHideHandler) + end) + SpellBookFrame:HookScript("OnHide", function(frame) + self:EnableSpellbookButtons() + end) -- TODO: This isn't a great way to do this, but for now - hooksecurefunc("SpellBookSkillLineTab_OnClick", showHideHandler) + hooksecurefunc("SpellBookSkillLineTab_OnClick", function() + self:EnableSpellbookButtons() + end) self:EnableSpellbookButtons() end @@ -162,9 +175,8 @@ end function CliqueConfig:Button_OnClick(button) -- Click handler for "Bind spell" button if button == self.page1.button_spell then - if SpellBookFrame and not SpellBookFrame:IsVisible() then - ShowUIPanel(SpellBookFrame) - end + ShowUIPanel(SpellBookFrame) + CliqueConfig:ShowWithSpellBook() -- Click handler for "Bind other" button elseif button == self.page1.button_other then @@ -496,3 +508,12 @@ function CliqueConfig:Row_OnClick(frame, button) EasyMenu(menu, self.dropdown, "cursor", 0, 0, nil, nil) end +function CliqueConfig:SpellTab_OnClick(frame) + if self:IsVisible() then + HideUIPanel(CliqueConfig) + elseif SpellBookFrame:IsVisible() then + self:ShowWithSpellBook() + else + ShowUIPanel(CliqueConfig) + end +end diff --git a/Clique.lua b/Clique.lua index b268764..2d5b234 100755 --- a/Clique.lua +++ b/Clique.lua @@ -551,5 +551,9 @@ end SLASH_CLIQUE1 = "/clique" SlashCmdList["CLIQUE"] = function(msg, editbox) - ShowUIPanel(CliqueConfig) + if SpellBookFrame:IsVisible() then + CliqueConfig:ShowWithSpellBook() + else + ShowUIPanel(CliqueConfig) + end end diff --git a/Clique.xml b/Clique.xml index 3c31ee0..59c0f33 100755 --- a/Clique.xml +++ b/Clique.xml @@ -125,11 +125,7 @@