df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
117 lines
4.1 KiB
Lua
117 lines
4.1 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local S = E:GetModule("Skins")
|
|
local AS = E:GetModule("AddOnSkins")
|
|
|
|
if not AS:IsAddonLODorEnabled("Skada") then return end
|
|
|
|
-- Skada r301
|
|
-- https://www.curseforge.com/wow/addons/skada/files/458800
|
|
|
|
S:AddCallbackForAddon("Skada", "Skada", function()
|
|
if not E.private.addOnSkins.Skada then return end
|
|
|
|
if Skada.revisited then
|
|
hooksecurefunc(Skada.displays.bar, "AddDisplayOptions", function(_, _, options)
|
|
options.windowoptions = nil
|
|
options.titleoptions.args.texture = nil
|
|
options.titleoptions.args.bordertexture = nil
|
|
options.titleoptions.args.thickness = nil
|
|
options.titleoptions.args.margin = nil
|
|
options.titleoptions.args.color = nil
|
|
end)
|
|
AS:SkinLibrary("LibUIDropDownMenu")
|
|
end
|
|
|
|
hooksecurefunc(Skada.displays["bar"], "ApplySettings", function(_, win)
|
|
local skada = win.bargroup
|
|
|
|
if win.db.enabletitle then
|
|
skada.button:SetBackdrop(nil)
|
|
|
|
if not skada.button.backdrop then
|
|
skada.button:CreateBackdrop()
|
|
end
|
|
|
|
if skada.button.backdrop then
|
|
skada.button.backdrop:SetFrameLevel(skada.button:GetFrameLevel())
|
|
skada.button.backdrop:SetTemplate(E.db.addOnSkins.skadaTitleTemplate, E.db.addOnSkins.skadaTitleTemplate == "Default" and E.db.addOnSkins.skadaTitleTemplateGloss or false)
|
|
|
|
skada.button.backdrop:ClearAllPoints()
|
|
skada.button.backdrop:Point("TOPLEFT", skada.button, -E.Border, win.db.reversegrowth and 0 or E.Border)
|
|
skada.button.backdrop:Point("BOTTOMRIGHT", skada.button, E.Border, win.db.reversegrowth and -E.Border or E.Border)
|
|
end
|
|
end
|
|
|
|
if Skada.revisited then
|
|
skada:SetBackdrop(nil) -- remove default backdrop
|
|
|
|
if not skada.backdrop then
|
|
skada:CreateBackdrop(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
|
|
else
|
|
skada.backdrop:SetTemplate(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
|
|
end
|
|
elseif win.db.enablebackground then
|
|
skada.bgframe:SetTemplate(E.db.addOnSkins.skadaTemplate, E.db.addOnSkins.skadaTemplate == "Default" and E.db.addOnSkins.skadaTemplateGloss or false)
|
|
|
|
if skada.bgframe then
|
|
skada.bgframe:ClearAllPoints()
|
|
if win.db.reversegrowth then
|
|
skada.bgframe:SetPoint("LEFT", skada.button, "LEFT", -E.Border, 0)
|
|
skada.bgframe:SetPoint("RIGHT", skada.button, "RIGHT", E.Border, 0)
|
|
skada.bgframe:SetPoint("BOTTOM", skada.button, "TOP", 0, win.db.enabletitle and E.Spacing or -win.db.barheight - E.Border)
|
|
else
|
|
skada.bgframe:SetPoint("LEFT", skada.button, "LEFT", -E.Border, 0)
|
|
skada.bgframe:SetPoint("RIGHT", skada.button, "RIGHT", E.Border, 0)
|
|
skada.bgframe:SetPoint("TOP", skada.button, "BOTTOM", 0, win.db.enabletitle and -E.Spacing or win.db.barheight + E.Border)
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
local EMB = E:GetModule("EmbedSystem")
|
|
hooksecurefunc(Skada, "CreateWindow", function()
|
|
if EMB:CheckEmbed("Skada") then
|
|
EMB:EmbedSkada()
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc(Skada, "DeleteWindow", function()
|
|
if EMB:CheckEmbed("Skada") then
|
|
EMB:EmbedSkada()
|
|
end
|
|
end)
|
|
|
|
if Skada.revisited then
|
|
hooksecurefunc(Skada, "UpdateDisplay", function()
|
|
if EMB:CheckEmbed("Skada") then
|
|
EMB:EmbedSkada()
|
|
end
|
|
end)
|
|
end
|
|
|
|
hooksecurefunc(Skada, "SetTooltipPosition", function(self, tt, frame)
|
|
if self.db.profile.tooltippos == "default" then
|
|
if not E:HasMoverBeenMoved("ElvTooltipMover") then
|
|
if ElvUI_ContainerFrame and ElvUI_ContainerFrame:IsShown() then
|
|
tt:Point("BOTTOMRIGHT", ElvUI_ContainerFrame, "TOPRIGHT", 0, 18)
|
|
elseif RightChatPanel:IsShown() and RightChatPanel:GetAlpha() == 1 then
|
|
tt:Point("BOTTOMRIGHT", RightChatPanel, "TOPRIGHT", 0, 18)
|
|
else
|
|
tt:Point("BOTTOMRIGHT", RightChatPanel, "BOTTOMRIGHT", 0, 18)
|
|
end
|
|
else
|
|
local point = E:GetScreenQuadrant(ElvTooltipMover)
|
|
|
|
if point == "TOPLEFT" then
|
|
tt:SetPoint("TOPLEFT", ElvTooltipMover)
|
|
elseif point == "TOPRIGHT" then
|
|
tt:SetPoint("TOPRIGHT", ElvTooltipMover)
|
|
elseif point == "BOTTOMLEFT" or point == "LEFT" then
|
|
tt:SetPoint("BOTTOMLEFT", ElvTooltipMover)
|
|
else
|
|
tt:SetPoint("BOTTOMRIGHT", ElvTooltipMover)
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
end) |