df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
140 lines
3.9 KiB
Lua
140 lines
3.9 KiB
Lua
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) |