Support per-class frame display names, rename Pyromancer segment bar to Ember gauge
This commit is contained in:
+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