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