Files
coa-elvui/ElvUI_AddOnSkins/Skins/Addons/spy.lua
T

145 lines
5.2 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Spy") then return end
local _G = _G
-- Spy 1.2
-- https://www.curseforge.com/wow/addons/spy/files/442604
S:AddCallbackForAddon("Spy", "Spy", function()
if not E.private.addOnSkins.Spy then return end
Spy_AlertWindow:StripTextures()
Spy_AlertWindow:SetTemplate("Transparent")
Spy_AlertWindow:Point("TOP", UIParent, "TOP", 0, -130)
Spy.AlertWindow.Title:FontTemplate()
Spy.AlertWindow.Name:FontTemplate()
Spy.AlertWindow.Location:FontTemplate()
Spy_MainWindow:StripTextures()
Spy_MainWindow:CreateBackdrop("Transparent")
Spy_MainWindow.backdrop:Point("TOPLEFT", 0, -10)
Spy_MainWindow.backdrop:Point("BOTTOMRIGHT", 0, 12)
Spy.MainWindow.Title:FontTemplate()
S:HandleCloseButton(Spy_MainWindow.CloseButton)
Spy_MainWindow.CloseButton:Size(32)
Spy_MainWindow.CloseButton:Point("TOPRIGHT", 3, -6)
S:HandleNextPrevButton(Spy_MainWindow.RightButton, "right", nil, true)
Spy_MainWindow.RightButton:Size(20)
Spy_MainWindow.RightButton:Point("TOPRIGHT", -22, -12)
S:HandleNextPrevButton(Spy_MainWindow.LeftButton, "left", nil, true)
Spy_MainWindow.LeftButton:Size(20)
Spy_MainWindow.LeftButton:SetPoint("RIGHT", Spy_MainWindow.RightButton, "LEFT", 0, 0)
Spy_MainWindow.ClearButton:Size(18)
Spy_MainWindow.ClearButton:Point("RIGHT", Spy_MainWindow.LeftButton, "LEFT", 1, 0)
Spy_MainWindow.ClearButton:SetNormalTexture(E.Media.Textures.Minus)
Spy_MainWindow.ClearButton:SetPushedTexture(nil)
Spy_MainWindow.ClearButton:SetHighlightTexture(nil)
Spy_MainWindow.ClearButton:HookScript("OnEnter", function(self) self:GetNormalTexture():SetVertexColor(unpack(E.media.rgbvaluecolor)) end)
Spy_MainWindow.ClearButton:HookScript("OnLeave", function(self) self:GetNormalTexture():SetVertexColor(1, 1, 1) end)
Spy_MainWindow.DragBottomLeft:SetNormalTexture(nil)
Spy_MainWindow.DragBottomRight:SetNormalTexture(nil)
local function SkinBar(bar, i)
if bar.isSkinned then return end
bar:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
bar.LeftText:FontTemplate()
bar.RightText:FontTemplate()
bar:SetPoint("TOPLEFT", Spy.MainWindow, "TOPLEFT", 1, -33 - (Spy.db.profile.MainWindow.RowHeight + Spy.db.profile.MainWindow.RowSpacing) * (i - 1))
bar:SetWidth(Spy.MainWindow:GetWidth() - 2)
bar.isSkinned = true
end
for i = 1, Spy.ButtonLimit do
SkinBar(_G["Spy_MainWindow_Bar"..i], i)
end
hooksecurefunc(Spy, "CreateRow", function(self, num)
SkinBar(Spy.MainWindow.Rows[num], num)
end)
hooksecurefunc(Spy, "ResizeMainWindow", function()
local CurWidth = Spy.MainWindow:GetWidth() - 2
for i, row in pairs(Spy.MainWindow.Rows) do
row:SetWidth(CurWidth)
end
end)
hooksecurefunc(Spy, "RestoreMainWindowPosition", function(self, _, _, width)
for i = 1, Spy.ButtonLimit do
Spy.MainWindow.Rows[i]:SetWidth(width - 2)
end
end)
hooksecurefunc(Spy, "ShowMapTooltip", function()
if Spy.MapTooltip then
Spy.MapTooltip:SetTemplate("Transparent")
end
end)
-- for backported version
if Spy.MainWindow.TitleBar then
Spy_MainWindow.backdrop:Point("TOPLEFT", 0, -32)
Spy_MainWindow.backdrop:Point("BOTTOMRIGHT", 0, 2)
Spy.MainWindow.TitleBar:SetTemplate()
Spy_MainWindow.StatsButton:Size(18)
Spy_MainWindow.StatsButton:Point("RIGHT", Spy_MainWindow.ClearButton, "LEFT", 2, 0)
Spy_MainWindow.StatsButton:SetNormalTexture(E.Media.Textures.Copy)
Spy_MainWindow.StatsButton:SetPushedTexture(nil)
Spy_MainWindow.StatsButton:SetHighlightTexture(nil)
Spy_MainWindow.StatsButton:HookScript("OnEnter", function(self) self:GetNormalTexture():SetVertexColor(unpack(E.media.rgbvaluecolor)) end)
Spy_MainWindow.StatsButton:HookScript("OnLeave", function(self) self:GetNormalTexture():SetVertexColor(1, 1, 1) end)
Spy_MainWindow.CountFrame:Size(20)
Spy_MainWindow.CountFrame:Point("RIGHT", Spy_MainWindow.StatsButton, "LEFT", 1, 0)
Spy_MainWindow.CountButton:Size(20)
Spy_MainWindow.CountButton:Point("RIGHT", Spy_MainWindow.StatsButton, "LEFT", 1, 0)
Spy.MainWindow.CountFrame.Text:FontTemplate()
Spy_MainWindow.CountButton:HookScript("OnEnter", function() Spy_MainWindow.CountFrame.Text:SetTextColor(unpack(E.media.rgbvaluecolor)) end)
Spy_MainWindow.CountButton:HookScript("OnLeave", function() Spy_MainWindow.CountFrame.Text:SetTextColor(1, 1, 1) end)
SpyStatsFrame:SetTemplate("Transparent")
SpyStatsFrame_Header:Hide()
S:HandleCloseButton(SpyStatsFrameTopCloseButton)
S:HandleButton(SpyStatsRefreshButton)
SpyStatsTabFrameTabContentFrame:SetTemplate("Transparent")
S:HandleScrollBar(SpyStatsTabFrameTabContentFrameScrollFrameScrollBar)
SpyStatsFilterBox:SetTemplate()
S:HandleCheckBox(SpyStatsKosCheckbox)
S:HandleCheckBox(SpyStatsWinsLosesCheckbox)
S:HandleCheckBox(SpyStatsReasonCheckbox)
function Spy:BarsChanged()
for k, v in pairs(Spy.MainWindow.Rows) do
v:SetHeight(Spy.db.profile.MainWindow.RowHeight)
v:SetPoint("TOPLEFT", Spy.MainWindow, "TOPLEFT", 1, -33 - (Spy.db.profile.MainWindow.RowHeight + Spy.db.profile.MainWindow.RowSpacing) * (k - 1))
end
Spy:ResizeMainWindow()
end
function Spy:UpdateActiveCount()
local activeCount = 0
for _ in pairs(Spy.ActiveList) do
activeCount = activeCount + 1
end
Spy.MainWindow.CountFrame.Text:SetText(activeCount)
end
end
end)