You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
3.6 KiB

local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule('Skins')
local _G = _G
local next = next
local pairs, unpack = pairs, unpack
local hooksecurefunc = hooksecurefunc
local function ReskinEventTraceButton(button)
S:HandleButton(button)
button.NormalTexture:SetAlpha(0)
button.MouseoverOverlay:SetAlpha(0)
end
local function reskinScrollChild(self)
for _, child in next, { self.ScrollTarget:GetChildren() } do
local button = child.HideButton
if button and not button.IsSkinned then
S:HandleCloseButton(button)
button:ClearAllPoints()
button:SetPoint('LEFT', 3, 0)
local checkButton = child.CheckButton
if checkButton then
S:HandleCheckBox(checkButton)
checkButton:SetSize(22, 22)
end
button.IsSkinned = true
end
end
end
local function ReskinEventTraceScrollBox(frame)
frame:DisableDrawLayer('BACKGROUND')
frame:CreateBackdrop('Transparent')
hooksecurefunc(frame, 'Update', reskinScrollChild)
end
local function ReskinScrollBarArrow(frame, direction)
S:HandleNextPrevButton(frame, direction)
frame.Overlay:SetAlpha(0)
frame.Texture:Hide()
end
local function ReskinEventTraceScrollBar(frame)
frame.Background:Hide()
frame:StripTextures()
local track = frame.Track
track:SetTemplate('Transparent')
track:ClearAllPoints()
track:SetPoint('TOPLEFT', 4, -21)
track:SetPoint('BOTTOMRIGHT', -3, 21)
local thumb = track.Thumb
thumb.Middle:Hide()
thumb.Begin:Hide()
thumb.End:Hide()
thumb:SetTemplate(nil, true, true)
thumb:SetBackdropColor(unpack(E.media.rgbvaluecolor))
ReskinScrollBarArrow(frame.Back, 'up')
ReskinScrollBarArrow(frame.Forward, 'down')
end
local function ReskinEventTraceFrame(frame)
ReskinEventTraceScrollBox(frame.ScrollBox)
ReskinEventTraceScrollBar(frame.ScrollBar)
end
function S:Blizzard_EventTrace()
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.eventLog) then return end
-- Frame
local EventTrace = _G.EventTrace
EventTrace:StripTextures()
EventTrace:CreateBackdrop('Transparent')
S:HandleCloseButton(_G.EventTraceCloseButton)
_G.EventTraceTooltip:SetFrameLevel(10)
-- Top Buttons
local SubtitleBar = EventTrace.SubtitleBar
EventTrace.SubtitleBar.ViewLog:StripTextures()
EventTrace.SubtitleBar.ViewFilter:StripTextures()
S:HandleButton(EventTrace.SubtitleBar.ViewLog)
S:HandleButton(EventTrace.SubtitleBar.ViewFilter)
-- Options Dropdown
local OptionsDropDown = EventTrace.SubtitleBar.OptionsDropDown
OptionsDropDown:SetWidth(135)
S:HandleButton(OptionsDropDown)
-- Log Bar
local LogBar = EventTrace.Log.Bar
S:HandleEditBox(LogBar.SearchBox)
LogBar.SearchBox:SetHeight(18)
LogBar.DiscardAllButton:StripTextures()
LogBar.PlaybackButton:StripTextures()
LogBar.MarkButton:StripTextures()
S:HandleButton(LogBar.DiscardAllButton)
S:HandleButton(LogBar.PlaybackButton)
S:HandleButton(LogBar.MarkButton)
-- Filter Bar
local FilterBar = EventTrace.Filter.Bar
FilterBar.DiscardAllButton:StripTextures()
FilterBar.UncheckAllButton:StripTextures()
FilterBar.CheckAllButton:StripTextures()
S:HandleButton(FilterBar.DiscardAllButton)
S:HandleButton(FilterBar.UncheckAllButton)
S:HandleButton(FilterBar.CheckAllButton)
-- Resize Button
EventTrace.ResizeButton:SetAlpha(0)
ReskinEventTraceFrame(EventTrace.Log.Events)
ReskinEventTraceFrame(EventTrace.Log.Search)
ReskinEventTraceFrame(EventTrace.Filter)
local buttons = {
SubtitleBar.ViewLog,
SubtitleBar.ViewFilter,
LogBar.DiscardAllButton,
LogBar.PlaybackButton,
LogBar.MarkButton,
FilterBar.DiscardAllButton,
FilterBar.UncheckAllButton,
FilterBar.CheckAllButton,
}
for _, button in pairs(buttons) do
ReskinEventTraceButton(button)
end
end
S:AddCallbackForAddon('Blizzard_EventTrace')