diff --git a/api/ui-widgets.lua b/api/ui-widgets.lua index 082deff7..885026ca 100644 --- a/api/ui-widgets.lua +++ b/api/ui-widgets.lua @@ -683,6 +683,7 @@ function pfUI.api.SkinCollapseButton(button, all) b.icon:SetSize(size, size) b.icon:SetPoint("LEFT", 2, 2) CreateBackdrop(b.icon) + b.icon:EnableMouse(false) b.icon.text = b.icon:CreateFontString(nil, "OVERLAY") b.icon.text:SetFontObject(GameFontWhite) b.icon.text:SetPoint("CENTER", -1, 0) diff --git a/init/skins.xml b/init/skins.xml index 3d444b0d..1f418591 100644 --- a/init/skins.xml +++ b/init/skins.xml @@ -30,6 +30,7 @@ + diff --git a/skins/blizzard/options-interface.lua b/skins/blizzard/options-interface.lua new file mode 100644 index 00000000..16bb39a5 --- /dev/null +++ b/skins/blizzard/options-interface.lua @@ -0,0 +1,49 @@ +pfUI:RegisterSkin("Options - Interface", function () + local rawborder, border = GetBorderSize() + local bpad = rawborder > 1 and border - GetPerfectPixel() or GetPerfectPixel() + local cr, cg, cb = PFUI_CLASS_COLORS[UnitClassBase("player")]:GetRGB() + + StripTextures(InterfaceOptionsFrame) + CreateBackdrop(InterfaceOptionsFrame, nil, nil, .75) + CreateBackdropShadow(InterfaceOptionsFrame) + + local title = GetNoNameObject(InterfaceOptionsFrame, "FontString", "ARTWORK", ADDON_OPTIONS) + title:ClearAllPoints() + title:SetPoint("TOP", InterfaceOptionsFrame, "TOP", 0, -10) + + CreateBackdrop(InterfaceOptionsFrameAddOns, nil, true, .75) + CreateBackdrop(InterfaceOptionsFramePanelContainer, nil, true, .75) + SkinScrollbar(InterfaceOptionsFrameAddOnsListScrollBar) + + for _, button in ipairs(InterfaceOptionsFrameAddOns.buttons) do + button:GetHighlightTexture():SetTexture(cr, cg, cb, .25) + + -- the list update swaps plus/minus textures on the toggle by path + local toggle = _G[button:GetName() .. "Toggle"] + SkinCollapseButton(toggle) + toggle:SetPushedTexture("") + toggle:SetHighlightTexture("") + toggle.SetPushedTexture = function() end + end + + -- ClassicAPI's own pages (Options\Panel.lua) number their controls + local i = 1 + while _G["ClassicAPIOptionsControl" .. i] do + local control = _G["ClassicAPIOptionsControl" .. i] + local ctype = control:GetFrameType() + if ctype == "CheckButton" then + SkinCheckbox(control) + elseif ctype == "Slider" then + SkinSlider(control) + else + SkinDropDown(control, nil, nil, nil, true) + end + i = i + 1 + end + + SkinButton(InterfaceOptionsFrameDefaults) + SkinButton(InterfaceOptionsFrameCancel) + SkinButton(InterfaceOptionsFrameOkay) + InterfaceOptionsFrameOkay:ClearAllPoints() + InterfaceOptionsFrameOkay:SetPoint("RIGHT", InterfaceOptionsFrameCancel, "LEFT", -2*bpad, 0) +end)