Support per-class frame display names, rename Pyromancer segment bar to Ember gauge
This commit is contained in:
@@ -34,6 +34,19 @@ HideCoAUI.FRAMES = {
|
||||
-- "CoASpellActivationOverlay", -- found via full frame scan, deliberately left without a checkbox
|
||||
}
|
||||
|
||||
HideCoAUI.FRAME_DISPLAY_NAMES = {
|
||||
PYROMANCER = {
|
||||
CoAResourceSegmentBar = "Ember gauge",
|
||||
},
|
||||
}
|
||||
|
||||
local function GetFrameDisplayName(class, frameName)
|
||||
local classNames = HideCoAUI.FRAME_DISPLAY_NAMES[class]
|
||||
return classNames and classNames[frameName]
|
||||
end
|
||||
|
||||
HideCoAUI.GetFrameDisplayName = GetFrameDisplayName
|
||||
|
||||
local function CreateDefaultClassSettings()
|
||||
|
||||
local classSettings = {}
|
||||
|
||||
+47
-6
@@ -196,6 +196,27 @@ local TAB_HEIGHT = 18
|
||||
|
||||
local hideClassButton, showClassButton
|
||||
|
||||
local function GetOrderedFrameNames(class)
|
||||
|
||||
local named = {}
|
||||
local generic = {}
|
||||
|
||||
for _, frameName in ipairs(HideCoAUI.FRAMES) do
|
||||
if HideCoAUI.GetFrameDisplayName(class, frameName) then
|
||||
table.insert(named, frameName)
|
||||
else
|
||||
table.insert(generic, frameName)
|
||||
end
|
||||
end
|
||||
|
||||
for _, frameName in ipairs(generic) do
|
||||
table.insert(named, frameName)
|
||||
end
|
||||
|
||||
return named
|
||||
|
||||
end
|
||||
|
||||
local function SelectClass(class)
|
||||
|
||||
selectedClass = class
|
||||
@@ -219,20 +240,40 @@ local function SelectClass(class)
|
||||
overrideNoticeText:Hide()
|
||||
end
|
||||
|
||||
for _, frameName in ipairs(HideCoAUI.FRAMES) do
|
||||
local previousCheckAnchor = classLabelHeader
|
||||
local previousCheckSpacing = -19
|
||||
local previousCheckXOffset = 16
|
||||
|
||||
checks[frameName]:SetChecked(HideCoAUI.GetClassSettings()[class][frameName])
|
||||
for _, frameName in ipairs(GetOrderedFrameNames(class)) do
|
||||
|
||||
local check = checks[frameName]
|
||||
|
||||
check:ClearAllPoints()
|
||||
check:SetPoint("TOPLEFT", previousCheckAnchor, "BOTTOMLEFT", previousCheckXOffset, previousCheckSpacing)
|
||||
|
||||
local customName = HideCoAUI.GetFrameDisplayName(class, frameName)
|
||||
local label = customName and ("Hide " .. customName .. " (" .. frameName .. ")") or ("Hide " .. frameName)
|
||||
_G[check:GetName() .. "Text"]:SetText(label)
|
||||
|
||||
check:SetChecked(HideCoAUI.GetClassSettings()[class][frameName])
|
||||
|
||||
if overridden then
|
||||
checks[frameName]:Disable()
|
||||
_G[checks[frameName]:GetName() .. "Text"]:SetTextColor(0.5, 0.5, 0.5)
|
||||
check:Disable()
|
||||
_G[check:GetName() .. "Text"]:SetTextColor(0.5, 0.5, 0.5)
|
||||
else
|
||||
checks[frameName]:Enable()
|
||||
_G[checks[frameName]:GetName() .. "Text"]:SetTextColor(1, 1, 1)
|
||||
check:Enable()
|
||||
_G[check:GetName() .. "Text"]:SetTextColor(1, 1, 1)
|
||||
end
|
||||
|
||||
previousCheckAnchor = check
|
||||
previousCheckSpacing = -8
|
||||
previousCheckXOffset = 0
|
||||
|
||||
end
|
||||
|
||||
hideClassButton:ClearAllPoints()
|
||||
hideClassButton:SetPoint("TOPLEFT", previousCheckAnchor, "BOTTOMLEFT", 0, -16)
|
||||
|
||||
if overridden then
|
||||
hideClassButton:Disable()
|
||||
showClassButton:Disable()
|
||||
|
||||
Reference in New Issue
Block a user