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