Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("RCLootCouncil") then return end
|
||||
|
||||
-- RCLootCouncil 2.0.4
|
||||
-- https://github.com/ajseward/RcLootCouncil-Wotlk
|
||||
|
||||
S:AddCallbackForAddon("RCLootCouncil", "RCLootCouncil", function()
|
||||
if not E.private.addOnSkins.RCLootCouncil then return end
|
||||
|
||||
local addon = LibStub("AceAddon-3.0"):GetAddon("RCLootCouncil", true)
|
||||
if not addon then return end
|
||||
|
||||
AS:SkinLibrary("DropDownMenu")
|
||||
AS:SkinLibrary("LibDialog-1.0")
|
||||
AS:SkinLibrary("ScrollingTable")
|
||||
|
||||
S:RawHook(addon, "CreateFrame", function(self, ...)
|
||||
local frame = S.hooks[self].CreateFrame(self, ...)
|
||||
|
||||
frame:SetScale(UIParent:GetScale())
|
||||
frame.title:SetTemplate("Default")
|
||||
frame.content:SetTemplate("Transparent")
|
||||
|
||||
frame.title:SetFrameLevel(frame:GetFrameLevel() + 3)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:RawHook(addon, "CreateButton", function(self, ...)
|
||||
local button = S.hooks[self].CreateButton(self, ...)
|
||||
|
||||
S:HandleButton(button)
|
||||
|
||||
return button
|
||||
end)
|
||||
|
||||
local function updateTexCoord(self)
|
||||
local normalTexture = self:GetNormalTexture()
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
end
|
||||
|
||||
local function skinIconButton(button)
|
||||
button:SetTemplate()
|
||||
button:StyleButton(nil, true, true)
|
||||
button:GetNormalTexture():SetDrawLayer("ARTWORK")
|
||||
hooksecurefunc(button, "SetNormalTexture", updateTexCoord)
|
||||
end
|
||||
|
||||
local votingFrame = addon:GetModule("RCVotingFrame", true)
|
||||
if votingFrame then
|
||||
local function moreInfoSetTexture(self, texture)
|
||||
local normalTexture = self:GetNormalTexture()
|
||||
local pushedTexture = self:GetPushedTexture()
|
||||
|
||||
local arrowDir = texture == "Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Up" and "left" or "right"
|
||||
normalTexture:SetRotation(S.ArrowRotation[arrowDir])
|
||||
pushedTexture:SetRotation(S.ArrowRotation[arrowDir])
|
||||
end
|
||||
|
||||
local function setBackdropBorderColor(self, r, g, b)
|
||||
if r == 1 and g == 1 and b == 1 then
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
|
||||
S:RawHook(votingFrame, "GetFrame", function(self, ...)
|
||||
local frame = S.hooks[self].GetFrame(self, ...)
|
||||
S:Unhook(self, "GetFrame")
|
||||
|
||||
skinIconButton(frame.itemIcon)
|
||||
|
||||
S:HandleNextPrevButton(frame.moreInfoBtn, "right")
|
||||
|
||||
frame.moreInfoBtn.SetNormalTexture = moreInfoSetTexture
|
||||
frame.moreInfoBtn.SetPushedTexture = E.noop
|
||||
|
||||
E:GetModule("Tooltip"):HookScript(frame.moreInfo, "OnShow", "SetStyle")
|
||||
|
||||
frame.filter:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
frame.filter:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:RawHook(votingFrame, "UpdateSessionButton", function(self, ...)
|
||||
local button = S.hooks[self].UpdateSessionButton(self, ...)
|
||||
|
||||
if not button.isSkinned then
|
||||
hooksecurefunc(button, "SetBackdropBorderColor", setBackdropBorderColor)
|
||||
skinIconButton(button)
|
||||
button.SetBackdrop = E.noop
|
||||
button.isSkinned = true
|
||||
end
|
||||
|
||||
return button
|
||||
end)
|
||||
end
|
||||
|
||||
local lootFrame = addon:GetModule("RCLootFrame", true)
|
||||
if lootFrame then
|
||||
local function updateTexCoord(self)
|
||||
self.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
S:RawHook(lootFrame, "GetEntry", function(self, ...)
|
||||
local frame = S.hooks[self].GetEntry(self, ...)
|
||||
|
||||
frame:SetTemplate("Transparent")
|
||||
skinIconButton(frame.icon)
|
||||
hooksecurefunc(frame, "Show", updateTexCoord)
|
||||
|
||||
return frame
|
||||
end)
|
||||
end
|
||||
|
||||
local sessionFrame = addon:GetModule("RCSessionFrame", true)
|
||||
if sessionFrame then
|
||||
S:RawHook(sessionFrame, "GetFrame", function(self, ...)
|
||||
local frame = S.hooks[self].GetFrame(self, ...)
|
||||
S:Unhook(self, "GetFrame")
|
||||
|
||||
S:HandleCheckBox(frame.toggle)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:SecureHook(sessionFrame, "SetCellItemIcon", function(_, frame)
|
||||
frame:SetTemplate()
|
||||
frame:StyleButton(nil, true, true)
|
||||
local normalTexture = frame:GetNormalTexture()
|
||||
normalTexture:SetDrawLayer("ARTWORK")
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
Reference in New Issue
Block a user