Files

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)