df7cc26a64
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
365 lines
12 KiB
Lua
365 lines
12 KiB
Lua
local E, L, V, P, G = unpack(ElvUI)
|
|
local S = E:GetModule("Skins")
|
|
local AS = E:GetModule("AddOnSkins")
|
|
|
|
if not AS:IsAddonLODorEnabled("AckisRecipeList") then return end
|
|
|
|
local ipairs, select, unpack = ipairs, select, unpack
|
|
|
|
local hooksecurefunc = hooksecurefunc
|
|
|
|
-- AckisRecipeList 2.01.14
|
|
-- https://www.curseforge.com/wow/addons/arl/files/458020
|
|
|
|
S:AddCallbackForAddon("AckisRecipeList", "AckisRecipeList", function()
|
|
if not E.private.addOnSkins.AckisRecipeList then return end
|
|
|
|
local addon = LibStub("AceAddon-3.0"):GetAddon("Ackis Recipe List", true)
|
|
if not addon then return end
|
|
|
|
local function HandleScrollBar(frame)
|
|
local UpButton, DownButton = frame:GetChildren()
|
|
|
|
S:HandleNextPrevButton(UpButton, "up")
|
|
UpButton:Size(20, 18)
|
|
|
|
S:HandleNextPrevButton(DownButton)
|
|
DownButton:Size(20, 18)
|
|
|
|
frame.trackbg = CreateFrame("Frame", nil, frame)
|
|
frame.trackbg:Point("TOPLEFT", UpButton, "BOTTOMLEFT", 0, -1)
|
|
frame.trackbg:Point("BOTTOMRIGHT", DownButton, "TOPRIGHT", 0, 1)
|
|
frame.trackbg:SetTemplate()
|
|
|
|
frame:GetThumbTexture():SetAlpha(0)
|
|
|
|
frame.thumbbg = CreateFrame("Frame", nil, frame)
|
|
frame.thumbbg:Point("TOPLEFT", frame:GetThumbTexture(), "TOPLEFT", 8, -7)
|
|
frame.thumbbg:Point("BOTTOMRIGHT", frame:GetThumbTexture(), "BOTTOMRIGHT", -8, 7)
|
|
frame.thumbbg:SetTemplate("Default", true, true)
|
|
frame.thumbbg:SetBackdropColor(0.6, 0.6, 0.6)
|
|
frame.thumbbg:SetFrameLevel(frame.trackbg:GetFrameLevel() + 1)
|
|
end
|
|
|
|
local function SkinButton(button, strip)
|
|
S:HandleButton(button, strip)
|
|
|
|
button.SetNormalTexture = E.noop
|
|
button.SetHighlightTexture = E.noop
|
|
button.SetPushedTexture = E.noop
|
|
button.SetDisabledTexture = E.noop
|
|
end
|
|
|
|
local function ChangeTexture(texture)
|
|
texture:SetInside()
|
|
texture:SetTexCoord(0.22, 0.78, 0.22, 0.78)
|
|
end
|
|
|
|
local function ExpansionButton(button)
|
|
button:GetRegions():SetDesaturated(true)
|
|
|
|
button:GetPushedTexture():SetTexture(nil)
|
|
button:GetHighlightTexture():SetTexture(nil)
|
|
button:GetCheckedTexture():SetTexture(nil)
|
|
|
|
hooksecurefunc(button, "SetChecked", function(self, state)
|
|
self:GetRegions():SetDesaturated(state)
|
|
end)
|
|
end
|
|
|
|
S:HandleButton(addon.scan_button)
|
|
|
|
hooksecurefunc(addon, "TRADE_SKILL_SHOW", function(self)
|
|
if self.scan_button:GetParent() == TradeSkillFrame then
|
|
self.scan_button:SetFrameLevel(TradeSkillFrame:GetFrameLevel() + 10)
|
|
end
|
|
end)
|
|
|
|
S:SecureHook(addon, "Scan", function(self)
|
|
S:Unhook(self, "Scan")
|
|
|
|
local ARL_MainPanel = ARL_MainPanel
|
|
|
|
ARL_MainPanel:StripTextures()
|
|
ARL_MainPanel:CreateBackdrop("Transparent")
|
|
ARL_MainPanel.backdrop:Point("TOPLEFT", 11, -12)
|
|
ARL_MainPanel.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
|
|
|
S:SetBackdropHitRect(ARL_MainPanel, ARL_MainPanel.backdrop, true)
|
|
|
|
hooksecurefunc(ARL_MainPanel, "ToggleState", function(self)
|
|
if self.is_expanded then
|
|
self.backdrop:Point("BOTTOMRIGHT", -87, 76)
|
|
S:SetBackdropHitRect(self, self.backdrop, true)
|
|
else
|
|
self.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
|
S:SetBackdropHitRect(self, self.backdrop, true)
|
|
end
|
|
end)
|
|
|
|
S:HandleCloseButton(ARL_MainPanel.xclose_button, ARL_MainPanel.backdrop)
|
|
|
|
ARL_MainPanel.title_bar:Hide()
|
|
|
|
ARL_MainPanel.top_left:Hide()
|
|
ARL_MainPanel.top_right:Hide()
|
|
ARL_MainPanel.bottom_left:Hide()
|
|
ARL_MainPanel.bottom_right:Hide()
|
|
|
|
ARL_MainPanel.top_left.Show = E.noop
|
|
ARL_MainPanel.top_right.Show = E.noop
|
|
ARL_MainPanel.bottom_left.Show = E.noop
|
|
ARL_MainPanel.bottom_right.Show = E.noop
|
|
|
|
ARL_MainPanel.prof_button:SetTemplate()
|
|
ARL_MainPanel.prof_button:Size(32)
|
|
ARL_MainPanel.prof_button:Point("TOPLEFT", 19, -20)
|
|
|
|
local prof_buttonHighlight = ARL_MainPanel.prof_button:GetHighlightTexture()
|
|
prof_buttonHighlight:SetInside()
|
|
prof_buttonHighlight:SetTexture(1, 1, 1, 0.3)
|
|
prof_buttonHighlight:SetTexture()
|
|
|
|
ChangeTexture(ARL_MainPanel.prof_button._normal)
|
|
ChangeTexture(ARL_MainPanel.prof_button._pushed)
|
|
ChangeTexture(ARL_MainPanel.prof_button._disabled)
|
|
|
|
hooksecurefunc(ARL_MainPanel.prof_button, "ChangeTexture", function(self)
|
|
ChangeTexture(self._normal)
|
|
ChangeTexture(self._pushed)
|
|
ChangeTexture(self._disabled)
|
|
end)
|
|
|
|
S:HandleEditBox(ARL_MainPanel.search_editbox)
|
|
ARL_MainPanel.search_editbox.backdrop:Point("TOPLEFT", -2, 0)
|
|
ARL_MainPanel.search_editbox:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 90, -50)
|
|
ARL_MainPanel.search_editbox:DisableDrawLayer("BACKGROUND")
|
|
ARL_MainPanel.search_editbox:Size(140, 17)
|
|
|
|
for i = 1, ARL_MainPanel:GetNumChildren() do
|
|
local child = select(i, ARL_MainPanel:GetChildren())
|
|
if child and child:IsObjectType("CheckButton") and child.text then
|
|
-- SkillToggle
|
|
S:HandleCheckBox(child, true)
|
|
child:Size(14)
|
|
child:Point("TOPLEFT", ARL_MainPanel.search_editbox, "TOPRIGHT", -142, 34)
|
|
child.text:Point("LEFT", child, "RIGHT", 3, 0)
|
|
|
|
local excludeToggle = select(i + 1, ARL_MainPanel:GetChildren())
|
|
S:HandleCheckBox(excludeToggle, true)
|
|
excludeToggle:Size(14)
|
|
excludeToggle:Point("TOP", child, "BOTTOM", 0, -3)
|
|
excludeToggle.text:Point("LEFT", excludeToggle, "RIGHT", 3, 0)
|
|
|
|
break
|
|
end
|
|
end
|
|
|
|
select(2, ARL_MainPanel.expand_button:GetPoint()):GetParent():Hide()
|
|
S:HandleCollapseExpandButton(ARL_MainPanel.expand_button, "+")
|
|
ARL_MainPanel.expand_button:ClearAllPoints()
|
|
ARL_MainPanel.expand_button:Point("BOTTOMRIGHT", ARL_MainPanel.search_editbox, "BOTTOMLEFT", -53, -2)
|
|
|
|
ARL_MainPanel.list_frame:SetBackdrop(nil)
|
|
ARL_MainPanel.list_frame:CreateBackdrop("Transparent")
|
|
ARL_MainPanel.list_frame.backdrop:Point("TOPLEFT", -2, 2)
|
|
ARL_MainPanel.list_frame.backdrop:Point("BOTTOMRIGHT", 5, 5)
|
|
ARL_MainPanel.list_frame:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 21, -73)
|
|
|
|
HandleScrollBar(ARL_MainPanel.list_frame.scroll_bar)
|
|
ARL_MainPanel.list_frame.scroll_bar:Point("TOPLEFT", ARL_MainPanel.list_frame, "TOPRIGHT", 6, -12)
|
|
ARL_MainPanel.list_frame.scroll_bar:Point("BOTTOMLEFT", ARL_MainPanel.list_frame, "BOTTOMRIGHT", 6, 19)
|
|
ARL_MainPanel.list_frame.scroll_bar.Hide = E.noop
|
|
ARL_MainPanel.list_frame.scroll_bar:Show()
|
|
|
|
for i = 1, 25 do
|
|
S:HandleCollapseExpandButton(ARL_MainPanel.list_frame.state_buttons[i], "+")
|
|
S:HandleButtonHighlight(ARL_MainPanel.list_frame.entry_buttons[i])
|
|
end
|
|
|
|
S:HandleNextPrevButton(ARL_MainPanel.sort_button, "down", nil, true)
|
|
ARL_MainPanel.sort_button:Size(22)
|
|
ARL_MainPanel.sort_button:ClearAllPoints()
|
|
ARL_MainPanel.sort_button:Point("LEFT", ARL_MainPanel.expand_button, "RIGHT", 20, 0)
|
|
|
|
ARL_MainPanel.sort_button.SetTextures = function(self)
|
|
local normal, pushed = self:GetNormalTexture(), self:GetPushedTexture()
|
|
|
|
if addon.db.profile.sorting == "Ascending" then
|
|
normal:SetRotation(3.14)
|
|
pushed:SetRotation(3.14)
|
|
else
|
|
normal:SetRotation(0)
|
|
pushed:SetRotation(0)
|
|
end
|
|
end
|
|
|
|
ARL_MainPanel.progress_bar:StripTextures()
|
|
ARL_MainPanel.progress_bar:CreateBackdrop()
|
|
ARL_MainPanel.progress_bar:Size(209, 20)
|
|
ARL_MainPanel.progress_bar:Point("BOTTOMLEFT", ARL_MainPanel, 20, 85)
|
|
ARL_MainPanel.progress_bar:SetStatusBarTexture(E.media.normTex)
|
|
ARL_MainPanel.progress_bar:SetStatusBarColor(0.22, 0.39, 0.84)
|
|
E:RegisterStatusBar(ARL_MainPanel.progress_bar)
|
|
|
|
ARL_MainPanel.close_button:Height(22)
|
|
ARL_MainPanel.close_button:Point("LEFT", ARL_MainPanel.progress_bar, "RIGHT", 4, 0)
|
|
SkinButton(ARL_MainPanel.close_button, true)
|
|
|
|
for i, tab in ipairs(ARL_MainPanel.tabs) do
|
|
tab:StripTextures()
|
|
tab.left.SetTexture = E.noop
|
|
tab.middle.SetTexture = E.noop
|
|
tab.right.SetTexture = E.noop
|
|
|
|
tab:CreateBackdrop()
|
|
tab.backdrop:Point("TOPLEFT", 10, E.PixelMode and -1 or -3)
|
|
tab.backdrop:Point("BOTTOMRIGHT", -10, 3)
|
|
|
|
tab:SetHitRectInsets(10, 10, E.PixelMode and 1 or 3, 3)
|
|
|
|
if i == 1 then
|
|
tab:Point("TOPLEFT", ARL_MainPanel, "BOTTOMLEFT", 11, 78)
|
|
else
|
|
tab:Point("LEFT", ARL_MainPanel.tabs[i-1], "RIGHT", -15, 0)
|
|
end
|
|
end
|
|
|
|
if not (TipTac and TipTac.AddModifiedTip) then
|
|
E:GetModule("Tooltip"):SecureHookScript(AckisRecipeList_SpellTooltip, "OnShow", "SetStyle")
|
|
AS:SkinLibrary("LibQTip-1.0")
|
|
end
|
|
|
|
S:HandleNextPrevButton(ARL_MainPanel.filter_toggle, "right", nil, true)
|
|
ARL_MainPanel.filter_toggle:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 324, -39)
|
|
ARL_MainPanel.filter_toggle:Size(28)
|
|
|
|
ARL_MainPanel.filter_toggle.SetTextures = function(self)
|
|
local normal, pushed = self:GetNormalTexture(), self:GetPushedTexture()
|
|
if ARL_MainPanel.is_expanded then
|
|
normal:SetRotation(1.57)
|
|
pushed:SetRotation(1.57)
|
|
else
|
|
normal:SetRotation(-1.57)
|
|
pushed:SetRotation(-1.57)
|
|
end
|
|
|
|
self:HookScript("OnEnter", function()
|
|
normal:SetVertexColor(unpack(E.media.rgbvaluecolor))
|
|
end)
|
|
self:HookScript("OnLeave", function()
|
|
normal:SetVertexColor(1, 1, 1)
|
|
end)
|
|
end
|
|
|
|
ARL_MainPanel.filter_toggle:HookScript("OnClick", function(self)
|
|
if self.isFrameSkinned then return end
|
|
self.isFrameSkinned = true
|
|
|
|
ARL_MainPanel.filter_menu:SetTemplate("Transparent")
|
|
ARL_MainPanel.filter_menu:Size(326, 332)
|
|
ARL_MainPanel.filter_menu:Point("TOPRIGHT", ARL_MainPanel, "TOPRIGHT", -95, -71)
|
|
|
|
ARL_MainPanel.filter_reset:Point("BOTTOMRIGHT", ARL_MainPanel, "BOTTOMRIGHT", -95, 84)
|
|
SkinButton(ARL_MainPanel.filter_reset, true)
|
|
|
|
local menuIcons = {
|
|
"menu_toggle_general",
|
|
"menu_toggle_obtain",
|
|
"menu_toggle_binding",
|
|
"menu_toggle_item",
|
|
"menu_toggle_quality",
|
|
"menu_toggle_player",
|
|
"menu_toggle_rep",
|
|
"menu_toggle_misc"
|
|
}
|
|
|
|
for i, menuIcon in ipairs(menuIcons) do
|
|
local iconEntry = ARL_MainPanel[menuIcon]
|
|
|
|
if i == 1 then
|
|
iconEntry:Point("LEFT", ARL_MainPanel.filter_toggle, "RIGHT", 17, 0)
|
|
end
|
|
|
|
iconEntry:SetTemplate()
|
|
iconEntry:StyleButton()
|
|
iconEntry:DisableDrawLayer("BACKGROUND")
|
|
|
|
local region = select(2, iconEntry:GetRegions())
|
|
region:SetInside()
|
|
region:SetTexCoord(unpack(E.TexCoords))
|
|
end
|
|
|
|
local filterMenus = {
|
|
"general",
|
|
"obtain",
|
|
"binding",
|
|
"item",
|
|
"quality",
|
|
"player",
|
|
"rep",
|
|
"misc"
|
|
}
|
|
|
|
for _, menu in ipairs(filterMenus) do
|
|
local menuEntry = ARL_MainPanel.filter_menu[menu]
|
|
|
|
if menu == "misc" then
|
|
for i = 1, menuEntry:GetNumChildren() do
|
|
local child = select(i, menuEntry:GetChildren())
|
|
|
|
if child and child:IsObjectType("Button") then
|
|
S:HandleNextPrevButton(child)
|
|
select(2, child:GetPoint()):SetTextColor(1, 1, 1)
|
|
end
|
|
end
|
|
elseif menu == "rep" then
|
|
for expNum = 0, 2 do
|
|
for i = 1, menuEntry["expansion"..expNum]:GetNumChildren() do
|
|
local child = select(i, menuEntry["expansion"..expNum]:GetChildren())
|
|
|
|
if child and (child:IsObjectType("Button") and child.text and not child:IsObjectType("CheckButton")) then
|
|
child:StripTextures()
|
|
child.text:SetTextColor(1, 0.8, 0.1)
|
|
elseif child and child:IsObjectType("CheckButton") and child.text then
|
|
S:HandleCheckBox(child)
|
|
child.text:SetTextColor(1, 1, 1)
|
|
end
|
|
end
|
|
end
|
|
else
|
|
for i = 1, menuEntry:GetNumChildren() do
|
|
local child = select(i, menuEntry:GetChildren())
|
|
|
|
if child and (child:IsObjectType("Button") and child.text and not child:IsObjectType("CheckButton")) then
|
|
child:StripTextures()
|
|
child.text:SetTextColor(1, 0.8, 0.1)
|
|
elseif child and child:IsObjectType("CheckButton") and child.text then
|
|
S:HandleCheckBox(child)
|
|
child.text:SetTextColor(1, 1, 1)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion0)
|
|
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion1)
|
|
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion2)
|
|
end)
|
|
end)
|
|
|
|
ARLCopyFrame:StripTextures()
|
|
ARLCopyFrame:SetTemplate("Transparent")
|
|
|
|
S:HandleScrollBar(ARLCopyScrollScrollBar)
|
|
|
|
for i = 1, ARLCopyFrame:GetNumChildren() do
|
|
local child = select(i, ARLCopyFrame:GetChildren())
|
|
if child and child:IsObjectType("Button") then
|
|
child:ClearAllPoints()
|
|
child:Point("TOPRIGHT", ARLCopyFrame, "TOPRIGHT", 1, 0)
|
|
S:HandleCloseButton(child)
|
|
break
|
|
end
|
|
end
|
|
end) |