Skip to content

Commit f2765cd

Browse files
committed
Added back support for ElvUI skin, thanks to MechaZao @ Discord
1 parent acd3ef2 commit f2765cd

File tree

11 files changed

+96
-246
lines changed

11 files changed

+96
-246
lines changed

MacroToolkit/MacroToolkit.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ function MT:eventHandler(this, event, arg1, ...)
270270
MacroToolkitErrorScrollFrame:Hide()
271271
end
272272
MTF:Hide()
273-
--if C_AddOns.IsAddOnLoaded("ElvUI") then MT:LoadElvSkin() end
273+
if C_AddOns.IsAddOnLoaded("ElvUI") then MT:ApplyElvSkin() end
274274
MT.AC = MT.LS("AceComm-3.0")
275275
MT.AC:RegisterComm("MacroToolkit", function(...) MT:ReceiveMacro(...) end)
276276
if countTables(MT.db.char.brokers) > 0 then

MacroToolkit/modules/bindingframe.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ function MT:CreateBindingFrame()
4242
else frame.title:SetText(_G.KEY_BINDINGS) end
4343
frame.bindingsChanged = nil
4444
MT:UpdateBindingFrame()
45-
MT:Skin(frame)
4645
end)
4746
frame:SetScript("OnHide",
4847
function()

MacroToolkit/modules/builderframe.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,10 +401,11 @@ function MT:CreateBuilderFrame()
401401
for _, eb in ipairs(ebobjs) do eb:SetText(""); eb.frame:Hide() end
402402
for _, ed in ipairs(edobjs) do ed:SetValue("zero"); ed.frame:Hide() end
403403
mtbpreview:SetText("")
404-
MT:Skin(mtbf)
405404
end)
406405

407406
mtbf:SetScript("OnHide", function() MacroToolkitFrame:Show() end)
407+
408+
self:ApplyElvSkin()
408409
return mtbf
409410
end
410411

MacroToolkit/modules/copyframe.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ function MT:CreateCopyFrame()
233233
updateslots(mtcslottext)
234234
mtcnotice:SetText("")
235235
MT:MacroFrameUpdate()
236-
MT:Skin(mtcframe)
237236
--PlaySound("igCharacterInfoOpen")
238237
PlaySound(839)
239238
end)
@@ -246,5 +245,6 @@ function MT:CreateCopyFrame()
246245
PlaySound(840)
247246
end)
248247

248+
self:ApplyElvSkin()
249249
return mtcframe
250250
end

MacroToolkit/modules/elvskin.lua

Lines changed: 91 additions & 236 deletions
Original file line numberDiff line numberDiff line change
@@ -1,261 +1,116 @@
1-
local _G = _G
2-
local format, unpack, string = format, unpack, string
31
--- @class MacroToolkit
42
local MT = MacroToolkit
53
MT.skinned = {}
64

7-
function MT:Skin(frame)
8-
if true then return end -- disabled for now
5+
-- credits for reviving the elvui skin: MechaZao @ discord
6+
function MT:ApplyElvSkin()
97
if not C_AddOns.IsAddOnLoaded("ElvUI") then return end
108
if MT.db.profile.noskin then return end
11-
if not MT.skinned[frame:GetName()] then
12-
MT:LoadElvSkin(frame)
13-
MT.skinned[frame:GetName()] = true
14-
end
15-
end
16-
17-
function MT:LoadElvSkin(frame)
18-
if true then return end -- disabled for now
19-
local E, L, V, P, G, _ = unpack(ElvUI)
20-
local S = E:GetModule("Skins")
21-
22-
if E.private.skins.blizzard.enable ~= true or E.private.skins.blizzard.macro ~= true then return end
23-
local buttons
24-
25-
if frame == MacroToolkitFrame then
26-
S:HandleCloseButton(MacroToolkitFrameCloseButton)
27-
S:HandleScrollBar(MacroToolkitButtonScrollScrollBar)
28-
S:HandleScrollBar(MacroToolkitScrollFrameScrollBar)
29-
S:HandleScrollBar(MacroToolkitFauxScrollFrameScrollBar)
30-
S:HandleScrollBar(MacroToolkitErrorScrollFrameScrollBar)
31-
MacroToolkitFrame:Width(648)
32-
MacroToolkitFlyout:Size(MacroToolkitFlyout:GetWidth() - 7, MacroToolkitFlyout:GetHeight() - 7)
33-
S:HandleNextPrevButton(MacroToolkitFlyout)
34-
MacroToolkitFlyout:ClearAllPoints()
35-
MacroToolkitFlyout:SetPoint("TOPRIGHT", MacroToolkitFrame, "TOPRIGHT", -4, -34)
36-
MacroToolkitCustom:SetPoint("TOPRIGHT", MacroToolkitFlyout, "TOPLEFT", -4, 2)
379

38-
for i = 1, 3 do
39-
local tab = _G[string.format("MacroToolkitFrameTab%s", i)]
40-
tab:Height(22)
41-
end
42-
43-
MacroToolkitFrameTab1:SetPoint("TOPLEFT", MacroToolkitFrame, "TOPLEFT", 85, -39)
44-
MacroToolkitFrameTab2:SetPoint("LEFT", MacroToolkitFrameTab1, "RIGHT", 4, 0)
45-
MacroToolkitFrameTab3:SetPoint("LEFT", MacroToolkitFrameTab2, "RIGHT", 4, 0)
46-
MacroToolkitFrame:StripTextures()
47-
MacroToolkitFrame:SetTemplate("Transparent")
48-
MacroToolkitFrameInset:Kill()
49-
MacroToolkitTextBg:StripTextures()
50-
MacroToolkitTextBg:SetTemplate("Default")
51-
MacroToolkitErrorBg:StripTextures()
52-
MacroToolkitErrorBg:SetTemplate("Default")
53-
MacroToolkitButtonScroll:StripTextures()
54-
MacroToolkitButtonScroll:CreateBackdrop()
55-
MacroToolkitEdit:ClearAllPoints()
56-
MacroToolkitEdit:SetPoint("BOTTOMLEFT", MacroToolkitSelMacroButton, "BOTTOMRIGHT", 10, 0)
57-
MacroToolkitNew:ClearAllPoints()
58-
MacroToolkitNew:SetPoint("BOTTOMRIGHT", -90, 4)
59-
MacroToolkitExtend:ClearAllPoints()
60-
MacroToolkitExtend:SetPoint("LEFT", MacroToolkitDelete, "RIGHT", 80, 0)
61-
MacroToolkitShorten:ClearAllPoints()
62-
MacroToolkitShorten:SetPoint("LEFT", MacroToolkitExtend, "RIGHT", 4, 0)
63-
MacroToolkitErrorBg:ClearAllPoints()
64-
MacroToolkitErrorBg:SetPoint("TOPLEFT", 338, -289)
65-
MacroToolkitErrorBg:SetPoint("BOTTOMRIGHT", -6, 40)
66-
MacroToolkitEnterText:ClearAllPoints()
67-
MacroToolkitEnterText:SetPoint("TOPLEFT", MacroToolkitSelBg, "BOTTOMLEFT", 8, 8)
68-
MacroToolkitErrorLabel:ClearAllPoints()
69-
MacroToolkitErrorLabel:SetPoint("BOTTOMLEFT", MacroToolkitErrorScrollFrame, "TOPLEFT", -3, 10)
70-
S:HandleScrollBar(MacroToolkitButtonScroll)
71-
MacroToolkitOptionsButton:ClearAllPoints()
72-
MacroToolkitOptionsButton:SetPoint("LEFT", MacroToolkitConditions, "RIGHT", 23, 0)
73-
MacroToolkitSelMacroButton:StripTextures()
74-
MacroToolkitSelMacroButton:StyleButton(true)
75-
MacroToolkitSelMacroButton:GetNormalTexture():SetTexture(nil)
76-
MacroToolkitSelMacroButton:SetTemplate("Default")
77-
MacroToolkitSelMacroButton.Icon:SetTexCoord(unpack(E.TexCoords))
78-
MacroToolkitSelMacroButton.Icon:SetInside()
79-
MacroToolkitLimit:ClearAllPoints()
80-
MacroToolkitLimit:SetPoint("BOTTOM", MacroToolkitTextBg, 0, -12)
81-
buttons = {"MacroToolkitSave", "MacroToolkitCancel", "MacroToolkitDelete", "MacroToolkitNew", "MacroToolkitExit", "MacroToolkitEdit",
82-
"MacroToolkitFrameTab1", "MacroToolkitFrameTab2", "MacroToolkitFrameTab3", "MacroToolkitShorten", "MacroToolkitAddScript", "MacroToolkitAddSlot", "MacroToolkitBackup",
83-
"MacroToolkitRestore", "MacroToolkitClear", "MacroToolkitShare", "MacroToolkitCustom", "MacroToolkitExtend", "MacroToolkitOpen", "MacroToolkitConditions",
84-
"MacroToolkitOptionsButton", "MacroToolkitMacroBox", "MacroToolkitBind"}
85-
end
10+
local E = unpack(ElvUI)
11+
local S = E and E:GetModule("Skins", true)
12+
if not S or type(S.HandleFrame) ~= "function" then return end
8613

87-
if frame == MacroToolkitScriptFrame then
88-
S:HandleCloseButton(MacroToolkitScriptFrameCloseButton)
89-
S:HandleScrollBar(MacroToolkitScriptScrollScrollBar)
90-
S:HandleScrollBar(MacroToolkitScriptErrorsScrollBar)
91-
MacroToolkitScriptFrame:Height(428)
92-
MacroToolkitScriptFrame:StripTextures()
93-
MacroToolkitScriptFrame:SetTemplate("Transparent")
94-
MacroToolkitScriptFrameInset:Kill()
95-
MacroToolkitScriptScrollBg:StripTextures()
96-
MacroToolkitScriptScrollBg:SetTemplate("Default")
97-
MacroToolkitScriptErrorBg:StripTextures()
98-
MacroToolkitScriptErrorBg:SetTemplate("Default")
99-
MacroToolkitScriptScroll:StripTextures()
100-
MacroToolkitScriptScroll:CreateBackdrop()
101-
MacroToolkitScriptErrors:StripTextures()
102-
MacroToolkitScriptErrors:CreateBackdrop()
103-
MacroToolkitScriptSave:ClearAllPoints()
104-
MacroToolkitScriptSave:SetPoint("BOTTOMRIGHT", -92, 4)
105-
MacroToolkitScriptExit:ClearAllPoints()
106-
MacroToolkitScriptExit:SetPoint("BOTTOMRIGHT", -7, 4)
107-
MacroToolkitScriptDelete:ClearAllPoints()
108-
MacroToolkitScriptDelete:SetPoint("BOTTOMLEFT", 7, 4)
109-
MacroToolkitScriptEnter:SetPoint("TOPLEFT", 10, -44)
110-
MacroToolkitScriptErrorBg:ClearAllPoints()
111-
MacroToolkitScriptErrorBg:SetPoint("BOTTOMLEFT", 7, 31)
112-
buttons = {"MacroToolkitScriptExit", "MacroToolkitScriptDelete", "MacroToolkitScriptSave"}
113-
end
14+
-- Frames to Skin
15+
local framesToSkin = {
16+
"MacroToolkitFrame",
17+
"MacroToolkitCopyFrame",
18+
"MacroToolkitBuilderFrame",
19+
"MacroToolkitButtonScroll",
20+
"MacroToolkitErrorBg",
21+
}
11422

115-
if frame == MacroToolkitBuilderFrame then
116-
S:HandleCloseButton(MacroToolkitBuilderFrameCloseButton)
117-
MacroToolkitBuilderFrame:StripTextures()
118-
MacroToolkitBuilderFrame:SetTemplate("Transparent")
119-
MacroToolkitBuilderFrameInset:Kill()
120-
MacroToolkitBuilderInsert:ClearAllPoints()
121-
MacroToolkitBuilderInsert:SetPoint("RIGHT", MacroToolkitBuilderCancel, "LEFT", -4, 0)
122-
buttons = {"MacroToolkitBuilderCancel", "MacroToolkitBuilderInsert"}
123-
end
23+
-- Buttons to Skin
24+
local buttonsToSkin = {
25+
"MacroToolkitSave",
26+
"MacroToolkitCancel",
27+
"MacroToolkitDelete",
28+
"MacroToolkitNew",
29+
"MacroToolkitExit",
30+
"MacroToolkitEdit",
31+
"MacroToolkitBackup",
32+
"MacroToolkitBind",
33+
"MacroToolkitRestore",
34+
"MacroToolkitClear",
35+
"MacroToolkitShare",
36+
"MacroToolkitOptionsButton",
37+
"MacroToolkitCustom",
38+
"MacroToolkitAddScript",
39+
"MacroToolkitAddSlot",
40+
"MacroToolkitExtend",
41+
"MacroToolkitShorten",
42+
"MacroToolkitConditions",
43+
"MacroToolkitBuilderCancel",
44+
"MacroToolkitBuilderInsert",
45+
"MacroToolkitCExit",
46+
"MacroToolkitCopy",
47+
}
12448

125-
if frame == MacroToolkitCopyFrame then
126-
S:HandleCloseButton(MacroToolkitCopyFrameCloseButton)
127-
S:HandleScrollBar(MacroToolkitCScrollFrameScrollBar)
128-
S:HandleScrollBar(MacroToolkitCFauxScrollFrameScrollBar)
129-
MacroToolkitCopyFrame:StripTextures()
130-
MacroToolkitCopyFrame:SetTemplate("Transparent")
131-
MacroToolkitCopyFrameInset:Kill()
132-
MacroToolkitCTextBg:StripTextures()
133-
MacroToolkitCTextBg:SetTemplate("Default")
134-
MacroToolkitCSelMacroButton:StripTextures()
135-
MacroToolkitCSelMacroButton:StyleButton(true)
136-
MacroToolkitCSelMacroButton:GetNormalTexture():SetTexture(nil)
137-
MacroToolkitCSelMacroButton:SetTemplate("Default")
138-
MacroToolkitCSelMacroButton.Icon:SetTexCoord(unpack(E.TexCoords))
139-
MacroToolkitCSelMacroButton.Icon:SetInside()
140-
buttons = {"MacroToolkitCExit", "MacroToolkitCopy"}
141-
end
49+
-- Tabs to Skin
50+
local tabsToSkin = {
51+
"MacroToolkitFrameTab1",
52+
"MacroToolkitFrameTab2",
53+
"MacroToolkitFrameTab3",
54+
}
14255

143-
if frame == MacroToolkitPopup then
144-
S:HandleCheckBox(MacroToolkitSpellCheck)
145-
--S:HandleScrollBar(MacroToolkitPopupScrollScrollBar)
146-
S:HandleScrollBar(MacroToolkitPopupIcons.scrollFrame.ScrollBar)
147-
MacroToolkitPopup:StripTextures()
148-
MacroToolkitPopup:SetTemplate("Transparent")
149-
--MacroToolkitPopupScroll:StripTextures()
150-
--MacroToolkitPopupScroll:CreateBackdrop()
151-
--MacroToolkitPopupScroll.backdrop:SetPoint("TOPLEFT", 51, 2)
152-
--MacroToolkitPopupScroll.backdrop:SetPoint("BOTTOMRIGHT", -4, 4)
153-
MacroToolkitPopupIcons:StripTextures()
154-
MacroToolkitPopupIcons:CreateBackdrop()
155-
MacroToolkitPopupIcons.backdrop:SetPoint("TOPLEFT", 10, 2)
156-
MacroToolkitPopupIcons.backdrop:SetPoint("BOTTOMRIGHT", -4, -16)
157-
MacroToolkitFramePopupL:SetTexture(nil)
158-
MacroToolkitFramePopupM:SetTexture(nil)
159-
MacroToolkitFramePopupR:SetTexture(nil)
160-
S:HandleEditBox(MacroToolkitPopupEdit)
161-
S:HandleEditBox(MacroToolkitSearchBox)
162-
MacroToolkitPopupCancel:ClearAllPoints()
163-
MacroToolkitPopupCancel:SetPoint("BOTTOMRIGHT", -11, 9)
164-
MacroToolkitPopupOk:ClearAllPoints()
165-
MacroToolkitPopupOk:SetPoint("RIGHT", MacroToolkitPopupCancel, "LEFT", -6, 0)
166-
MacroToolkitPopupGoLarge:ClearAllPoints()
167-
MacroToolkitPopupGoLarge:SetPoint("TOPRIGHT", -13, -59)
168-
MacroToolkitPopup:HookScript("OnShow",
169-
function(this)
170-
this:ClearAllPoints()
171-
this:SetPoint("TOPLEFT", MacroToolkitFrame, "TOPRIGHT", 5, -2)
172-
end)
173-
buttons = {"MacroToolkitPopupOk", "MacroToolkitPopupCancel", "MacroToolkitPopupGoLarge"}
56+
-- Icon Grid Buttons
57+
for i = 1, max(_G.MAX_ACCOUNT_MACROS, _G.MAX_CHARACTER_MACROS, MT.MAX_EXTRA_MACROS) do
58+
local buttonName = "MacroToolkitButton" .. i
59+
local button = _G[buttonName]
60+
if button and not self.skinned[button] then
61+
self.skinned[button] = true
62+
S:HandleButton(button)
63+
end
17464
end
17565

176-
if frame == MacroToolkitBindingFrame then
177-
S:HandleCheckBox(MacroToolkitBindingFrame.profile)
178-
MacroToolkitBindingFrame:StripTextures()
179-
MacroToolkitBindingFrame:SetTemplate("Transparent")
180-
buttons = {"MacroToolkitBindButton1", "MacroToolkitBindButton2", "MacroToolkitBindingCancel", "MacroToolkitBindingOk", "MacroToolkitUnbind"}
66+
-- Skin frames
67+
for _, frameName in ipairs(framesToSkin) do
68+
local frame = _G[frameName]
69+
if frame and not self.skinned[frame] then
70+
self.skinned[frame] = true
71+
S:HandleFrame(frame, true)
72+
frame:SetTemplate("Transparent")
73+
end
18174
end
18275

183-
if frame == MacroToolkitRestoreFrame then
184-
MacroToolkitRestoreFrame:StripTextures()
185-
MacroToolkitRestoreFrame:SetTemplate("Transparent")
186-
MacroToolkitRestoreFrame:HookScript("OnShow",
187-
function(this)
188-
this:ClearAllPoints()
189-
this:SetPoint("TOPLEFT", MacroToolkitFrame, "TOPRIGHT", 5, -2)
190-
end)
191-
buttons = {"MacroToolkitRestoreRestore", "MacroToolkitRestoreCancel", "MacroToolkitRestoreDelete"}
76+
-- Skin buttons
77+
for _, buttonName in ipairs(buttonsToSkin) do
78+
local button = _G[buttonName]
79+
if button and not self.skinned[button] then
80+
self.skinned[button] = true
81+
S:HandleButton(button)
82+
end
19283
end
19384

194-
if frame == MacroToolkitSharePopup then
195-
MacroToolkitSharePopup:StripTextures()
196-
MacroToolkitSharePopup:SetTemplate("Transparent")
197-
S:HandleEditBox(MacroToolkitShareEdit)
198-
buttons = {"MacroToolkitShareOK", "MacroToolkitShareCancel"}
85+
-- Skin tabs
86+
for _, tabName in ipairs(tabsToSkin) do
87+
local tab = _G[tabName]
88+
if tab and not self.skinned[tab] then
89+
self.skinned[tab] = true
90+
S:HandleTab(tab)
91+
end
19992
end
20093

201-
--[[
202-
local buttons = {
203-
"MacroToolkitSave", "MacroToolkitCancel", "MacroToolkitDelete", "MacroToolkitNew", "MacroToolkitExit", "MacroToolkitEdit",
204-
"MacroToolkitFrameTab1", "MacroToolkitFrameTab2", "MacroToolkitPopupOk", "MacroToolkitPopupCancel", "MacroToolkitShorten",
205-
"MacroToolkitAddScript", "MacroToolkitAddSlot", "MacroToolkitBackup", "MacroToolkitRestore", "MacroToolkitClear",
206-
"MacroToolkitShare", "MacroToolkitRestoreRestore", "MacroToolkitRestoreCancel", "MacroToolkitRestoreDelete",
207-
"MacroToolkitCustom", "MacroToolkitScriptExit", "MacroToolkitScriptDelete", "MacroToolkitScriptSave", "MacroToolkitExtend",
208-
"MacroToolkitOpen", "MacroToolkitConditions", "MacroToolkitBuilderCancel", "MacroToolkitBuilderInsert", "MacroToolkitOptionsButton",
209-
"MacroToolkitMacroBox", "MacroToolkitShareOK", "MacroToolkitShareCancel", "MacroToolkitBindButton1", "MacroToolkitBindButton2",
210-
"MacroToolkitBindingCancel", "MacroToolkitBindingOk", "MacroToolkitUnbind", "MacroToolkitBind", "MacroToolkitCExit", "MacroToolkitCopy",
94+
-- Skin scrollbars with consistent style
95+
local scrollBars = {
96+
"MacroToolkitErrorScrollFrameScrollBar",
97+
"MacroToolkitScrollFrameScrollBar",
98+
"MacroToolkitButtonScrollScrollBar",
99+
"MacroToolkitFauxScrollFrameScrollBar",
211100
}
212-
]]--
213-
if buttons then
214-
for i = 1, #buttons do
215-
_G[buttons[i]]:StripTextures()
216-
S:HandleButton(_G[buttons[i]])
101+
for _, scrollBarName in ipairs(scrollBars) do
102+
local scrollBar = _G[scrollBarName]
103+
if scrollBar and not self.skinned[scrollBar] then
104+
self.skinned[scrollBar] = true
105+
S:HandleScrollBar(scrollBar)
106+
scrollBar:SetTemplate("Transparent")
217107
end
218108
end
219109

220-
if frame == MacroToolkitFrame or frame == MacroToolkitCopyFrame or frame == MacroToolkitPopup then
221-
for i = 1, MT.MAX_EXTRA_MACROS do
222-
local b = _G[format("MacroToolkitButton%d", i)]
223-
local c = _G[format("MacroToolkitCButton%d", i)]
224-
local t = _G[format("MacroToolkitButton%dIcon", i)]
225-
local ct = _G[format("MacroToolkitCButton%dIcon", i)]
226-
local pb = _G[format("MacroToolkitPopupButton%d", i)]
227-
local pt = _G[format("MacroToolkitPopupButton%dIcon", i)]
228-
if b then
229-
b:StripTextures()
230-
b:CreateBackdrop('Default')
231-
b:StyleButton(true)
232-
--b:SetTemplate("Default", true)
233-
end
234-
if c then
235-
c:StripTextures()
236-
c:CreateBackdrop('Default')
237-
c:StyleButton(true)
238-
--c:SetTemplate("Default", true)
239-
end
240-
if t then
241-
t:SetTexCoord(unpack(E.TexCoords))
242-
t:SetInside()
243-
end
244-
if ct then
245-
ct:SetTexCoord(unpack(E.TexCoords))
246-
ct:SetInside()
247-
end
248-
if pb then
249-
pb:StripTextures()
250-
pb:CreateBackdrop('Default')
251-
pb:StyleButton(true)
252-
--pb:SetTemplate("Default")
253-
end
254-
if pt then
255-
pt:SetTexCoord(unpack(E.TexCoords))
256-
pt:SetInside()
257-
end
258-
end
110+
-- Arrow Button (Flyout)
111+
local flyoutButton = _G["MacroToolkitFlyout"]
112+
if flyoutButton and not self.skinned[flyoutButton] then
113+
self.skinned[flyoutButton] = true
114+
S:HandleNextPrevButton(flyoutButton)
259115
end
260-
--S:RegisterSkin("MacroToolkit", LoadSkin)
261116
end

0 commit comments

Comments
 (0)