Skip to content

Commit 07a1baf

Browse files
committed
clean up collectables skin
1 parent c856191 commit 07a1baf

File tree

2 files changed

+127
-113
lines changed

2 files changed

+127
-113
lines changed

ElvUI/Cata/Modules/Skins/Collectables.lua

Lines changed: 61 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ local CreateFrame = CreateFrame
1111
local GetItemInfo = GetItemInfo
1212
local PlayerHasToy = PlayerHasToy
1313
local hooksecurefunc = hooksecurefunc
14-
local BAG_ITEM_QUALITY_COLORS = BAG_ITEM_QUALITY_COLORS
1514
local GetItemQualityColor = GetItemQualityColor
1615
local C_Heirloom_PlayerHasHeirloom = C_Heirloom.PlayerHasHeirloom
17-
local C_TransmogCollection_GetSourceInfo = C_TransmogCollection.GetSourceInfo
1816

1917
local QUALITY_7_R, QUALITY_7_G, QUALITY_7_B = GetItemQualityColor(7)
2018

@@ -182,6 +180,64 @@ local function JournalScrollButtons(frame)
182180
end
183181
end
184182

183+
local function ToySpellButtonUpdateButton(button)
184+
if button.itemID and PlayerHasToy(button.itemID) then
185+
local _, _, quality = GetItemInfo(button.itemID)
186+
if quality then
187+
local r, g, b = GetItemQualityColor(quality)
188+
button.backdrop:SetBackdropBorderColor(r, g, b)
189+
else
190+
button.backdrop:SetBackdropBorderColor(0.9, 0.9, 0.9)
191+
end
192+
else
193+
local r, g, b = unpack(E.media.bordercolor)
194+
button.backdrop:SetBackdropBorderColor(r, g, b)
195+
end
196+
end
197+
198+
local function HeirloomsJournalUpdateButton(_, button)
199+
if not button.IsSkinned then
200+
S:HandleItemButton(button, true)
201+
202+
button.iconTextureUncollected:SetTexCoord(unpack(E.TexCoords))
203+
button.iconTextureUncollected:SetInside(button)
204+
button.iconTexture:SetDrawLayer('ARTWORK')
205+
button.hover:SetAllPoints(button.iconTexture)
206+
button.slotFrameCollected:SetAlpha(0)
207+
button.slotFrameUncollected:SetAlpha(0)
208+
button.special:SetJustifyH('RIGHT')
209+
button.special:ClearAllPoints()
210+
211+
button.cooldown:SetAllPoints(button.iconTexture)
212+
E:RegisterCooldown(button.cooldown)
213+
214+
button.IsSkinned = true
215+
end
216+
217+
button.name:Point('LEFT', button, 'RIGHT', 4, 8)
218+
219+
if C_Heirloom_PlayerHasHeirloom(button.itemID) then
220+
button.name:SetTextColor(0.9, 0.9, 0.9)
221+
button.special:SetTextColor(1, .82, 0)
222+
button.backdrop:SetBackdropBorderColor(QUALITY_7_R, QUALITY_7_G, QUALITY_7_B)
223+
else
224+
button.name:SetTextColor(0.4, 0.4, 0.4)
225+
button.special:SetTextColor(0.4, 0.4, 0.4)
226+
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
227+
end
228+
end
229+
230+
local function HeirloomsJournalLayoutCurrentPage()
231+
local headers = _G.HeirloomsJournal.heirloomHeaderFrames
232+
if headers and next(headers) then
233+
for _, header in next, headers do
234+
header:StripTextures()
235+
header.text:FontTemplate(nil, 15, 'SHADOW')
236+
header.text:SetTextColor(0.9, 0.9, 0.9)
237+
end
238+
end
239+
end
240+
185241
local function SkinMountFrame()
186242
S:HandleButton(_G.MountJournalFilterButton)
187243

@@ -263,19 +319,7 @@ local function SkinToyFrame()
263319
E:RegisterCooldown(button.cooldown)
264320
end
265321

266-
hooksecurefunc('ToySpellButton_UpdateButton', function(button)
267-
if button.itemID and PlayerHasToy(button.itemID) then
268-
local _, _, quality = GetItemInfo(button.itemID)
269-
if quality then
270-
local r, g, b = GetItemQualityColor(quality)
271-
button.backdrop:SetBackdropBorderColor(r, g, b)
272-
else
273-
button.backdrop:SetBackdropBorderColor(0.9, 0.9, 0.9)
274-
end
275-
else
276-
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
277-
end
278-
end)
322+
hooksecurefunc('ToySpellButton_UpdateButton', ToySpellButtonUpdateButton)
279323
end
280324

281325
local function SkinHeirloomFrame()
@@ -295,46 +339,8 @@ local function SkinHeirloomFrame()
295339
HeirloomsJournal.progressBar:CreateBackdrop()
296340
E:RegisterStatusBar(HeirloomsJournal.progressBar)
297341

298-
hooksecurefunc(HeirloomsJournal, 'UpdateButton', function(_, button)
299-
if not button.IsSkinned then
300-
S:HandleItemButton(button, true)
301-
302-
button.iconTextureUncollected:SetTexCoord(unpack(E.TexCoords))
303-
button.iconTextureUncollected:SetInside(button)
304-
button.iconTexture:SetDrawLayer('ARTWORK')
305-
button.hover:SetAllPoints(button.iconTexture)
306-
button.slotFrameCollected:SetAlpha(0)
307-
button.slotFrameUncollected:SetAlpha(0)
308-
button.special:SetJustifyH('RIGHT')
309-
button.special:ClearAllPoints()
310-
311-
button.cooldown:SetAllPoints(button.iconTexture)
312-
E:RegisterCooldown(button.cooldown)
313-
314-
button.IsSkinned = true
315-
end
316-
317-
button.name:Point('LEFT', button, 'RIGHT', 4, 8)
318-
319-
if C_Heirloom_PlayerHasHeirloom(button.itemID) then
320-
button.name:SetTextColor(0.9, 0.9, 0.9)
321-
button.special:SetTextColor(1, .82, 0)
322-
button.backdrop:SetBackdropBorderColor(QUALITY_7_R, QUALITY_7_G, QUALITY_7_B)
323-
else
324-
button.name:SetTextColor(0.4, 0.4, 0.4)
325-
button.special:SetTextColor(0.4, 0.4, 0.4)
326-
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
327-
end
328-
end)
329-
330-
hooksecurefunc(HeirloomsJournal, 'LayoutCurrentPage', function()
331-
for i=1, #HeirloomsJournal.heirloomHeaderFrames do
332-
local header = HeirloomsJournal.heirloomHeaderFrames[i]
333-
header:StripTextures()
334-
header.text:FontTemplate(nil, 15, 'SHADOW')
335-
header.text:SetTextColor(0.9, 0.9, 0.9)
336-
end
337-
end)
342+
hooksecurefunc(HeirloomsJournal, 'UpdateButton', HeirloomsJournalUpdateButton)
343+
hooksecurefunc(HeirloomsJournal, 'LayoutCurrentPage', HeirloomsJournalLayoutCurrentPage)
338344
end
339345

340346
local function SkinTransmogFrames()

ElvUI/Mainline/Modules/Skins/Collectables.lua

Lines changed: 66 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,69 @@ local function JournalScrollButtons(frame)
183183
end
184184
end
185185

186+
local function ToySpellButtonUpdateButton(button)
187+
if button.itemID and PlayerHasToy(button.itemID) then
188+
local _, _, quality = GetItemInfo(button.itemID)
189+
if quality then
190+
local r, g, b = GetItemQualityColor(quality)
191+
button.backdrop:SetBackdropBorderColor(r, g, b)
192+
else
193+
button.backdrop:SetBackdropBorderColor(0.9, 0.9, 0.9)
194+
end
195+
else
196+
local r, g, b = unpack(E.media.bordercolor)
197+
button.backdrop:SetBackdropBorderColor(r, g, b)
198+
end
199+
end
200+
201+
local function HeirloomsJournalUpdateButton(_, button)
202+
if not button.IsSkinned then
203+
S:HandleItemButton(button, true)
204+
205+
button.iconTextureUncollected:SetTexCoord(unpack(E.TexCoords))
206+
button.iconTextureUncollected:SetInside(button)
207+
button.iconTexture:SetDrawLayer('ARTWORK')
208+
button.hover:SetAllPoints(button.iconTexture)
209+
button.slotFrameCollected:SetAlpha(0)
210+
button.slotFrameUncollected:SetAlpha(0)
211+
button.special:SetJustifyH('RIGHT')
212+
button.special:ClearAllPoints()
213+
214+
button.cooldown:SetAllPoints(button.iconTexture)
215+
E:RegisterCooldown(button.cooldown)
216+
217+
button.IsSkinned = true
218+
end
219+
220+
button.levelBackground:SetTexture()
221+
222+
button.name:Point('LEFT', button, 'RIGHT', 4, 8)
223+
button.level:Point('TOPLEFT', button.levelBackground,'TOPLEFT', 25, 2)
224+
225+
if C_Heirloom_PlayerHasHeirloom(button.itemID) then
226+
button.name:SetTextColor(0.9, 0.9, 0.9)
227+
button.level:SetTextColor(0.9, 0.9, 0.9)
228+
button.special:SetTextColor(1, .82, 0)
229+
button.backdrop:SetBackdropBorderColor(QUALITY_7_R, QUALITY_7_G, QUALITY_7_B)
230+
else
231+
button.name:SetTextColor(0.4, 0.4, 0.4)
232+
button.level:SetTextColor(0.4, 0.4, 0.4)
233+
button.special:SetTextColor(0.4, 0.4, 0.4)
234+
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
235+
end
236+
end
237+
238+
local function HeirloomsJournalLayoutCurrentPage()
239+
local headers = _G.HeirloomsJournal.heirloomHeaderFrames
240+
if headers and next(headers) then
241+
for _, header in next, headers do
242+
header:StripTextures()
243+
header.text:FontTemplate(nil, 15, 'SHADOW')
244+
header.text:SetTextColor(0.9, 0.9, 0.9)
245+
end
246+
end
247+
end
248+
186249
local function SkinMountFrame()
187250
S:HandleItemButton(_G.MountJournalSummonRandomFavoriteButton)
188251
S:HandleButton(_G.MountJournalFilterButton)
@@ -375,19 +438,7 @@ local function SkinToyFrame()
375438
E:RegisterCooldown(button.cooldown)
376439
end
377440

378-
hooksecurefunc('ToySpellButton_UpdateButton', function(button)
379-
if button.itemID and PlayerHasToy(button.itemID) then
380-
local _, _, quality = GetItemInfo(button.itemID)
381-
if quality then
382-
local r, g, b = GetItemQualityColor(quality)
383-
button.backdrop:SetBackdropBorderColor(r, g, b)
384-
else
385-
button.backdrop:SetBackdropBorderColor(0.9, 0.9, 0.9)
386-
end
387-
else
388-
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
389-
end
390-
end)
441+
hooksecurefunc('ToySpellButton_UpdateButton', ToySpellButtonUpdateButton)
391442
end
392443

393444
local function SkinHeirloomFrame()
@@ -410,51 +461,8 @@ local function SkinHeirloomFrame()
410461
HeirloomsJournal.progressBar:CreateBackdrop()
411462
E:RegisterStatusBar(HeirloomsJournal.progressBar)
412463

413-
hooksecurefunc(HeirloomsJournal, 'UpdateButton', function(_, button)
414-
if not button.IsSkinned then
415-
S:HandleItemButton(button, true)
416-
417-
button.iconTextureUncollected:SetTexCoord(unpack(E.TexCoords))
418-
button.iconTextureUncollected:SetInside(button)
419-
button.iconTexture:SetDrawLayer('ARTWORK')
420-
button.hover:SetAllPoints(button.iconTexture)
421-
button.slotFrameCollected:SetAlpha(0)
422-
button.slotFrameUncollected:SetAlpha(0)
423-
button.special:SetJustifyH('RIGHT')
424-
button.special:ClearAllPoints()
425-
426-
button.cooldown:SetAllPoints(button.iconTexture)
427-
E:RegisterCooldown(button.cooldown)
428-
429-
button.IsSkinned = true
430-
end
431-
432-
button.levelBackground:SetTexture()
433-
434-
button.name:Point('LEFT', button, 'RIGHT', 4, 8)
435-
button.level:Point('TOPLEFT', button.levelBackground,'TOPLEFT', 25, 2)
436-
437-
if C_Heirloom_PlayerHasHeirloom(button.itemID) then
438-
button.name:SetTextColor(0.9, 0.9, 0.9)
439-
button.level:SetTextColor(0.9, 0.9, 0.9)
440-
button.special:SetTextColor(1, .82, 0)
441-
button.backdrop:SetBackdropBorderColor(QUALITY_7_R, QUALITY_7_G, QUALITY_7_B)
442-
else
443-
button.name:SetTextColor(0.4, 0.4, 0.4)
444-
button.level:SetTextColor(0.4, 0.4, 0.4)
445-
button.special:SetTextColor(0.4, 0.4, 0.4)
446-
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
447-
end
448-
end)
449-
450-
hooksecurefunc(HeirloomsJournal, 'LayoutCurrentPage', function()
451-
for i=1, #HeirloomsJournal.heirloomHeaderFrames do
452-
local header = HeirloomsJournal.heirloomHeaderFrames[i]
453-
header:StripTextures()
454-
header.text:FontTemplate(nil, 15, 'SHADOW')
455-
header.text:SetTextColor(0.9, 0.9, 0.9)
456-
end
457-
end)
464+
hooksecurefunc(HeirloomsJournal, 'UpdateButton', HeirloomsJournalUpdateButton)
465+
hooksecurefunc(HeirloomsJournal, 'LayoutCurrentPage', HeirloomsJournalLayoutCurrentPage)
458466
end
459467

460468
local function SkinTransmogFrames()

0 commit comments

Comments
 (0)