Group frame skins under their own settings tab
The CoA options were a flat row of tabs, one per feature, which doesn't survive the number of frame skins now landing. Skins get their own tab, first in the row, laid out as a vertical tree so each skinned frame is one entry rather than one more horizontal tab. Extra Action Button and Instance Swap move under it. Each skin also gets a master enable toggle. Skinning is one-way -- the native art is stripped and replaced in place -- so turning one off can only take effect on the next load, hence the reload prompt and the gate in CoA:Initialize rather than an attempt to undo the skin live. Existing users see no change: both default to on. LayerPicker's UIDropDownMenu_AddButton wrapper is hooked at file scope, outside that gate, so it checks the toggle itself. That one does respect the switch immediately.
This commit is contained in:
@@ -23,10 +23,15 @@ function CoA:UpdateInstanceButtonFont()
|
||||
UpdateFont()
|
||||
end
|
||||
|
||||
-- Hooked at file scope, so unlike the rest of the skin it stays live even when
|
||||
-- the skin is off -- check the toggle here instead. Reset Position only makes
|
||||
-- sense while the frame is where the server put it; once we've handed it to a
|
||||
-- mover the entry does nothing useful.
|
||||
do
|
||||
local orig_AddButton = UIDropDownMenu_AddButton
|
||||
UIDropDownMenu_AddButton = function(info, level)
|
||||
if info and info.text == "Reset Position" and UIDROPDOWNMENU_INIT_MENU == LayerPickerFrameDropDown then
|
||||
if CoA.db and CoA.db.profile.skins.instanceSwap
|
||||
and info and info.text == "Reset Position" and UIDROPDOWNMENU_INIT_MENU == LayerPickerFrameDropDown then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user