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,156 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("!ElvinCDs") then return end
|
||||
|
||||
local format = string.format
|
||||
|
||||
-- !ElvinCDs 0.1b
|
||||
-- https://github.com/bkader/ElvinCDs
|
||||
|
||||
S:AddCallbackForAddon("!ElvinCDs", "!ElvinCDs", function()
|
||||
if not E.private.addOnSkins.ElvinCDs then return end
|
||||
|
||||
hooksecurefunc(ElvinCDs.utils, "showHide", function(obj)
|
||||
if not obj.isSkinned then
|
||||
local objectType = obj:GetObjectType()
|
||||
|
||||
if objectType == "Frame" then
|
||||
local objName = obj:GetName()
|
||||
local bars = _G[format("%sBars", objName)]
|
||||
|
||||
if bars then
|
||||
_G[format("%sBackground", objName)]:StripTextures()
|
||||
|
||||
local title = _G[format("%sTitle", objName)]
|
||||
title:SetBackdrop(nil)
|
||||
title:CreateBackdrop("Transparent")
|
||||
title.backdrop:Point("TOPRIGHT", 19, -1)
|
||||
|
||||
bars:Point("TOPLEFT", title, "BOTTOMLEFT", 0, -1)
|
||||
end
|
||||
elseif objectType == "StatusBar" then
|
||||
obj:CreateBackdrop("Transparent")
|
||||
obj:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(obj)
|
||||
end
|
||||
|
||||
obj.isSkinned = true
|
||||
end
|
||||
end)
|
||||
|
||||
-- logs
|
||||
ElvinCDs_Logs:SetTemplate("Transparent")
|
||||
ElvinCDs_LogsList:SetBackdrop(nil)
|
||||
|
||||
S:HandleCloseButton(ElvinCDs_LogsCloseButton, ElvinCDs_Logs)
|
||||
S:HandleScrollBar(ElvinCDs_LogsListScrollFrameScrollBar)
|
||||
|
||||
ElvinCDs_LogsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_LogsListScrollFrame, "TOPRIGHT", 5, -13)
|
||||
ElvinCDs_LogsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_LogsListScrollFrame, "BOTTOMRIGHT", 5, 19)
|
||||
|
||||
-- options
|
||||
E:GetModule("Tooltip"):HookScript(ElvinCDs_Tooltip, "OnShow", "SetStyle")
|
||||
|
||||
ElvinCDs_Config:SetTemplate("Transparent")
|
||||
ElvinCDs_ConfigTitleBG:StripTextures()
|
||||
|
||||
ElvinCDs_Config_SpellsList:SetTemplate("Transparent")
|
||||
|
||||
S:HandleTab(ElvinCDs_ConfigTab1)
|
||||
S:HandleTab(ElvinCDs_ConfigTab2)
|
||||
|
||||
S:HandleButton(ElvinCDs_ConfigClose)
|
||||
S:HandleButton(ElvinCDs_Config_GeneralDefault)
|
||||
S:HandleButton(ElvinCDs_Config_SpellsSave)
|
||||
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_width)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_height)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_opacity)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_spacing)
|
||||
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsSearch)
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsSpellId)
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsCooldown)
|
||||
|
||||
S:HandleScrollBar(ElvinCDs_Config_SpellsListScrollFrameScrollBar)
|
||||
|
||||
local checkBoxes = {
|
||||
ElvinCDs_Config_General_enabled,
|
||||
ElvinCDs_Config_General_icons,
|
||||
ElvinCDs_Config_General_strict,
|
||||
ElvinCDs_Config_General_announce,
|
||||
ElvinCDs_Config_General_shout,
|
||||
ElvinCDs_Config_General_verbose,
|
||||
ElvinCDs_Config_General_locked,
|
||||
ElvinCDs_Config_General_sync,
|
||||
ElvinCDs_Config_General_showInBG,
|
||||
ElvinCDs_Config_General_showInRaid,
|
||||
ElvinCDs_Config_General_showInParty,
|
||||
ElvinCDs_Config_General_showWhenSolo,
|
||||
|
||||
ElvinCDs_Config_SpellsCustom,
|
||||
ElvinCDs_Config_SpellsDefaults,
|
||||
ElvinCDs_Config_SpellsDisplay,
|
||||
ElvinCDs_Config_SpellsTrack,
|
||||
ElvinCDs_Config_SpellsBlind,
|
||||
ElvinCDs_Config_SpellsShout,
|
||||
ElvinCDs_Config_SpellsWhisper,
|
||||
ElvinCDs_Config_SpellsSpecial,
|
||||
}
|
||||
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(checkBox)
|
||||
end
|
||||
|
||||
ElvinCDs_Config_SpellsSearch:Height(22)
|
||||
ElvinCDs_Config_SpellsSpellId:Height(22)
|
||||
ElvinCDs_Config_SpellsCooldown:Height(22)
|
||||
|
||||
ElvinCDs_ConfigTab1:Point("CENTER", ElvinCDs_Config, "BOTTOMLEFT", 60, -14)
|
||||
ElvinCDs_ConfigClose:Point("TOPRIGHT", -6, -6)
|
||||
|
||||
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_Config_SpellsListScrollFrame, "TOPRIGHT", 5, -15)
|
||||
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_Config_SpellsListScrollFrame, "BOTTOMRIGHT", 5, 14)
|
||||
|
||||
ElvinCDs_Config_SpellsSpellId:Point("TOPLEFT", ElvinCDs_Config_SpellsList, "BOTTOMLEFT", 8, -10)
|
||||
|
||||
--[[
|
||||
local options = {
|
||||
"Display",
|
||||
"Track",
|
||||
"Blind",
|
||||
"Shout",
|
||||
"Whisper",
|
||||
"Special",
|
||||
}
|
||||
|
||||
local skinnedCheckboxes = 0
|
||||
local function skinButtons()
|
||||
local i = skinnedCheckboxes + 1
|
||||
local button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
|
||||
while button do
|
||||
for _, affix in ipairs(options) do
|
||||
S:HandleCheckBox(_G["ElvinCDs_Config_Spells_SpellBtn_"..i..affix])
|
||||
end
|
||||
i = i + 1
|
||||
button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
|
||||
end
|
||||
skinnedCheckboxes = i - 1
|
||||
end
|
||||
|
||||
local _SetChecked = ElvinCDs_Config_SpellsDefaults.SetChecked
|
||||
ElvinCDs_Config_SpellsDefaults.SetChecked = function(self, checked, ...)
|
||||
skinButtons()
|
||||
|
||||
_SetChecked(self, checked, ...)
|
||||
self.SetChecked = _SetChecked
|
||||
end
|
||||
|
||||
hooksecurefunc(ElvinCDs.Config.Spells, "save", function(self, button)
|
||||
if not button then return end
|
||||
skinButtons()
|
||||
end)
|
||||
--]]
|
||||
end)
|
||||
Reference in New Issue
Block a user