Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.
Fix remaining lua errors covered by ascension patches Add Addon Skins Add Enhanced Friends List
This commit is contained in:
@@ -0,0 +1,365 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user