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,258 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ArkInventory") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
local format = string.format
|
||||
|
||||
-- ArkInventory 3.02.54
|
||||
-- https://www.wowace.com/projects/ark-inventory/files/458795
|
||||
|
||||
S:AddCallbackForAddon("ArkInventory", "ArkInventory", function()
|
||||
if not E.private.addOnSkins.ArkInventory then return end
|
||||
|
||||
local function skinIcon(frame)
|
||||
if frame.isSkinned then return end
|
||||
|
||||
local icon = frame:GetNormalTexture()
|
||||
|
||||
frame:SetTemplate("Default", true)
|
||||
frame:StyleButton()
|
||||
|
||||
icon:SetInside()
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon.SetTexCoord = E.noop
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
for i = 1, #ArkInventory.Global.Location do
|
||||
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, i)
|
||||
local frame = _G[frameName]
|
||||
|
||||
if frame then
|
||||
-- Title
|
||||
S:HandleCloseButton(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Close")])
|
||||
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Location0")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton11")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton12")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton13")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton14")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton21")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton22")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton23")])
|
||||
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton24")])
|
||||
|
||||
-- Search
|
||||
S:HandleEditBox(_G[format("%s%s%s", frame:GetName(), ArkInventory.Const.Frame.Search.Name, "Filter")])
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(ArkInventory, "Frame_Main_Anchor_Set", function(loc_id)
|
||||
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, loc_id)
|
||||
|
||||
local anchor = ArkInventory.LocationOptionGet(loc_id, "anchor", loc_id, "point")
|
||||
|
||||
local title = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Title.Name)]
|
||||
local search = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Search.Name)]
|
||||
local container = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Container.Name)]
|
||||
local changer = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Changer.Name)]
|
||||
local status = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Status.Name)]
|
||||
|
||||
if anchor == ArkInventory.Const.Anchor.BottomRight then
|
||||
changer:Point("BOTTOMRIGHT", status, "TOPRIGHT", 0, -1)
|
||||
container:Point("BOTTOMRIGHT", changer, "TOPRIGHT", 0, -1)
|
||||
search:Point("BOTTOMRIGHT", container, "TOPRIGHT", 0, -1)
|
||||
title:Point("BOTTOMRIGHT", search, "TOPRIGHT", 0, -1)
|
||||
elseif anchor == ArkInventory.Const.Anchor.BottomLeft then
|
||||
changer:Point("BOTTOMLEFT", status, "TOPLEFT", 0, -1)
|
||||
container:Point("BOTTOMLEFT", changer, "TOPLEFT", 0, -1)
|
||||
search:Point("BOTTOMLEFT", container, "TOPLEFT", 0, -1)
|
||||
title:Point("BOTTOMLEFT", search, "TOPLEFT", 0, -1)
|
||||
elseif anchor == ArkInventory.Const.Anchor.TopLeft then
|
||||
search:Point("TOPLEFT", title, "BOTTOMLEFT", 0, 1)
|
||||
container:Point("TOPLEFT", search, "BOTTOMLEFT", 0, 1)
|
||||
changer:Point("TOPLEFT", container, "BOTTOMLEFT", 0, 1)
|
||||
status:Point("TOPLEFT", changer, "BOTTOMLEFT", 0, 1)
|
||||
else
|
||||
search:Point("TOPRIGHT", title, "BOTTOMRIGHT", 0, 1)
|
||||
container:Point("TOPRIGHT", search, "BOTTOMRIGHT", 0, 1)
|
||||
changer:Point("TOPRIGHT", container, "BOTTOMRIGHT", 0, 1)
|
||||
status:Point("TOPRIGHT", changer, "BOTTOMRIGHT", 0, 1)
|
||||
end
|
||||
end)
|
||||
|
||||
ArkInventory.Frame_Main_Paint = function(frame)
|
||||
if not ArkInventory.ValidFrame(frame, true) then return end
|
||||
|
||||
for _, child in ipairs({frame:GetChildren()}) do
|
||||
if not child.isSkinned then
|
||||
child:SetTemplate("Transparent")
|
||||
|
||||
local frameName = child:GetName()
|
||||
if frameName then
|
||||
local bg = _G[format("%s%s", frameName, "Background")]
|
||||
local border = _G[format("%s%s", frameName, "ArkBorder")]
|
||||
|
||||
if bg then
|
||||
bg:Hide()
|
||||
end
|
||||
if border then
|
||||
border:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
child.isSkinned = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local defaultColors = ArkInventory.Const.Slot.DefaultColour
|
||||
|
||||
ArkInventory.Frame_Border_Paint = function(border, slot, file, size, offset, scale, r, g, b, a)
|
||||
if not border.parent then return end
|
||||
|
||||
if r == defaultColors.r and g == defaultColors.g and b == defaultColors.b then
|
||||
r, g, b = unpack(E.media.bordercolor)
|
||||
border.parent:SetBackdropBorderColor(r, g, b, 1)
|
||||
else
|
||||
border.parent:SetBackdropBorderColor(r or 0, g or 0, b or 0, a)
|
||||
end
|
||||
end
|
||||
|
||||
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
|
||||
local questColors = {
|
||||
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
|
||||
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
|
||||
}
|
||||
|
||||
local function updateQuestIcon(self, texture)
|
||||
if texture == TEXTURE_ITEM_QUEST_BORDER then
|
||||
self.parent:SetBackdropBorderColor(unpack(questColors.questItem))
|
||||
self:SetAlpha(0)
|
||||
else
|
||||
self.parent:SetBackdropBorderColor(unpack(questColors.questStarter))
|
||||
self:SetAlpha(1)
|
||||
end
|
||||
end
|
||||
|
||||
local function skinItemButton(frame)
|
||||
if frame.isSkinned then return end
|
||||
|
||||
local frameName = frame:GetName()
|
||||
local icon = _G[format("%s%s", frameName, "IconTexture")]
|
||||
local border = _G[format("%s%s", frameName, "ArkBorder")]
|
||||
local questIcon = _G[format("%s%s", frameName, "IconQuestTexture")]
|
||||
local cooldown = _G[format("%s%s", frameName, "Cooldown")]
|
||||
|
||||
frame:SetNormalTexture(nil)
|
||||
frame:SetTemplate("Default", true)
|
||||
frame:StyleButton()
|
||||
|
||||
icon:SetInside()
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon.SetTexCoord = E.noop
|
||||
|
||||
border:Kill()
|
||||
border.parent = frame
|
||||
|
||||
if questIcon then
|
||||
questIcon:SetInside()
|
||||
questIcon:SetTexture(E.Media.Textures.BagQuestIcon)
|
||||
questIcon.SetTexture = updateQuestIcon
|
||||
questIcon.parent = frame
|
||||
end
|
||||
|
||||
if cooldown then
|
||||
cooldown.CooldownOverride = "bags"
|
||||
E:RegisterCooldown(cooldown)
|
||||
end
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
hooksecurefunc(ArkInventory, "Frame_Item_Update_Border", function(frame)
|
||||
if not ArkInventory.ValidFrame(frame, true) then return end
|
||||
skinItemButton(frame)
|
||||
end)
|
||||
|
||||
-- GuildBank
|
||||
S:HandleButton(ARKINV_Frame4ChangerWindowPurchaseInfoPurchaseButton)
|
||||
S:HandleButton(ARKINV_Frame4ChangerWindowDepositButton)
|
||||
S:HandleButton(ARKINV_Frame4ChangerWindowWithdrawButton)
|
||||
|
||||
S:HandleNextPrevButton(ARKINV_Frame4LogScrollUp, "up")
|
||||
S:HandleNextPrevButton(ARKINV_Frame4LogScrollDown, "down")
|
||||
|
||||
S:HandleButton(ARKINV_Frame4InfoSave)
|
||||
S:HandleScrollBar(ARKINV_Frame4InfoScrollScrollBar)
|
||||
|
||||
-- Search Frame
|
||||
ARKINV_SearchTitleBackground:Kill()
|
||||
ARKINV_SearchFrameBackground:Kill()
|
||||
|
||||
ARKINV_SearchTitle:SetTemplate("Transparent")
|
||||
ARKINV_SearchFrame:SetTemplate("Transparent")
|
||||
|
||||
ARKINV_Rules:SetHeight(570)
|
||||
ARKINV_SearchFrame:Point("TOPLEFT", ARKINV_SearchTitle, "BOTTOMLEFT", 0, 1)
|
||||
|
||||
S:HandleCloseButton(ARKINV_SearchTitleClose)
|
||||
S:HandleEditBox(ARKINV_SearchFrameViewSearchFilter)
|
||||
S:HandleScrollBar(ARKINV_SearchFrameViewTableScrollScrollBar)
|
||||
|
||||
AS:SkinLibrary("ArkDewdrop-3.0")
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("ArkInventoryRules", "ArkInventoryRules", function()
|
||||
if not E.private.addOnSkins.ArkInventory then return end
|
||||
|
||||
ArkInventoryRules.Frame_Rules_Paint_Border = E.noop
|
||||
|
||||
-- Rules
|
||||
ARKINV_RulesTitleBackground:Kill()
|
||||
ARKINV_RulesFrameBackground:Kill()
|
||||
|
||||
ARKINV_RulesTitle:SetTemplate("Transparent")
|
||||
ARKINV_RulesFrame:SetTemplate("Transparent")
|
||||
|
||||
ARKINV_RulesFrameViewSearch:SetTemplate("Transparent")
|
||||
ARKINV_RulesFrameViewTable:SetTemplate("Transparent")
|
||||
|
||||
ARKINV_RulesFrame:Point("TOPLEFT", ARKINV_RulesTitle, "BOTTOMLEFT", 0, 1)
|
||||
ARKINV_RulesFrameViewTitle:SetPoint("TOP")
|
||||
|
||||
S:HandleCloseButton(ARKINV_RulesTitleClose)
|
||||
|
||||
S:HandleEditBox(ARKINV_RulesFrameViewSearchFilter)
|
||||
S:HandleScrollBar(ARKINV_RulesFrameViewTableScrollScrollBar)
|
||||
|
||||
S:HandleButton(ARKINV_RulesFrameViewMenuAdd)
|
||||
S:HandleButton(ARKINV_RulesFrameViewMenuEdit)
|
||||
S:HandleButton(ARKINV_RulesFrameViewMenuRemove)
|
||||
|
||||
-- Add Rule
|
||||
ARKINV_RulesFrameModifyTitle:SetPoint("TOP")
|
||||
|
||||
S:HandleCheckBox(ARKINV_RulesFrameModifyDataEnabled)
|
||||
|
||||
ARKINV_RulesFrameModifyDataOrder:Height(22)
|
||||
S:HandleEditBox(ARKINV_RulesFrameModifyDataOrder)
|
||||
ARKINV_RulesFrameModifyDataDescription:Height(22)
|
||||
S:HandleEditBox(ARKINV_RulesFrameModifyDataDescription)
|
||||
|
||||
ARKINV_RulesFrameModifyDataScrollTextBorder:SetTemplate("Transparent")
|
||||
|
||||
S:HandleScrollBar(ARKINV_RulesFrameModifyDataScrollScrollBar)
|
||||
|
||||
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("TOPLEFT", ARKINV_RulesFrameModifyDataScroll, "TOPRIGHT", 8, -13)
|
||||
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("BOTTOMLEFT", ARKINV_RulesFrameModifyDataScroll, "BOTTOMRIGHT", 8, 13)
|
||||
|
||||
S:HandleButton(ARKINV_RulesFrameModifyMenuOk)
|
||||
S:HandleButton(ARKINV_RulesFrameModifyMenuCancel)
|
||||
end)
|
||||
@@ -0,0 +1,88 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("CLCRet") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- CLCRet 1.3.03.025
|
||||
-- https://www.curseforge.com/wow/addons/clcret/files/439502
|
||||
|
||||
S:AddCallbackForAddon("CLCRet", "CLCRet", function()
|
||||
if not E.private.addOnSkins.CLCRet then return end
|
||||
|
||||
local function styleButton(button, icon, height, width)
|
||||
button:SetScale(1)
|
||||
button:Size(width or height, height)
|
||||
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
button.border:Hide()
|
||||
end
|
||||
|
||||
S:RawHook(clcret, "CreateButton", function(self, name, size, ...)
|
||||
local button = S.hooks[self].CreateButton(self, name, size, ...)
|
||||
|
||||
button:CreateBackdrop("Default")
|
||||
button.texture:SetDrawLayer("BORDER")
|
||||
|
||||
styleButton(button, button.texture, size)
|
||||
|
||||
return button
|
||||
end)
|
||||
|
||||
hooksecurefunc(clcret, "UpdateButtonLayout", function(self, button, opt)
|
||||
styleButton(button, button.texture, opt.size)
|
||||
end)
|
||||
|
||||
S:RawHook(clcret, "CreateSovBar", function(self, ...)
|
||||
local frame = S.hooks[self].CreateSovBar(self, ...)
|
||||
|
||||
frame:CreateBackdrop("Default")
|
||||
frame.icon:CreateBackdrop("Default")
|
||||
frame.icon:SetDrawLayer("BORDER")
|
||||
frame.icon.backdrop:Hide()
|
||||
|
||||
frame.bgtexture:SetTexture(nil)
|
||||
frame.texture:SetTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(frame.texture)
|
||||
|
||||
styleButton(frame, frame.icon, self.db.profile.sov.height)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
local MAX_SOVBARS = 5
|
||||
|
||||
hooksecurefunc(clcret, "UpdateSovBarsLayout", function(self)
|
||||
local db = self.db.profile.sov
|
||||
local bar
|
||||
|
||||
for i = 1, MAX_SOVBARS do
|
||||
bar = _G["clcretSovBar"..i]
|
||||
|
||||
styleButton(bar, bar.icon, db.height, db.useButtons and db.height or (db.width - db.height))
|
||||
|
||||
if db.useButtons then
|
||||
bar.icon.backdrop:Hide()
|
||||
else
|
||||
bar.icon.backdrop:Show()
|
||||
bar.icon:Point("RIGHT", bar, "LEFT", -1, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
S:SecureHook(clcret, "InitSwingBar", function(self)
|
||||
local frame = clcretswingBar
|
||||
|
||||
frame:CreateBackdrop("Default")
|
||||
|
||||
frame.bgtexture:SetTexture(nil)
|
||||
frame.texture:SetTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(frame.texture)
|
||||
|
||||
S:Unhook(self, "InitSwingBar")
|
||||
end)
|
||||
|
||||
end)
|
||||
@@ -0,0 +1,156 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("!ElvinCDs") then return end
|
||||
|
||||
local format = string.format
|
||||
|
||||
-- !ElvinCDs 0.1b
|
||||
-- https://github.com/bkader/ElvinCDs
|
||||
|
||||
S:AddCallbackForAddon("!ElvinCDs", "!ElvinCDs", function()
|
||||
if not E.private.addOnSkins.ElvinCDs then return end
|
||||
|
||||
hooksecurefunc(ElvinCDs.utils, "showHide", function(obj)
|
||||
if not obj.isSkinned then
|
||||
local objectType = obj:GetObjectType()
|
||||
|
||||
if objectType == "Frame" then
|
||||
local objName = obj:GetName()
|
||||
local bars = _G[format("%sBars", objName)]
|
||||
|
||||
if bars then
|
||||
_G[format("%sBackground", objName)]:StripTextures()
|
||||
|
||||
local title = _G[format("%sTitle", objName)]
|
||||
title:SetBackdrop(nil)
|
||||
title:CreateBackdrop("Transparent")
|
||||
title.backdrop:Point("TOPRIGHT", 19, -1)
|
||||
|
||||
bars:Point("TOPLEFT", title, "BOTTOMLEFT", 0, -1)
|
||||
end
|
||||
elseif objectType == "StatusBar" then
|
||||
obj:CreateBackdrop("Transparent")
|
||||
obj:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(obj)
|
||||
end
|
||||
|
||||
obj.isSkinned = true
|
||||
end
|
||||
end)
|
||||
|
||||
-- logs
|
||||
ElvinCDs_Logs:SetTemplate("Transparent")
|
||||
ElvinCDs_LogsList:SetBackdrop(nil)
|
||||
|
||||
S:HandleCloseButton(ElvinCDs_LogsCloseButton, ElvinCDs_Logs)
|
||||
S:HandleScrollBar(ElvinCDs_LogsListScrollFrameScrollBar)
|
||||
|
||||
ElvinCDs_LogsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_LogsListScrollFrame, "TOPRIGHT", 5, -13)
|
||||
ElvinCDs_LogsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_LogsListScrollFrame, "BOTTOMRIGHT", 5, 19)
|
||||
|
||||
-- options
|
||||
E:GetModule("Tooltip"):HookScript(ElvinCDs_Tooltip, "OnShow", "SetStyle")
|
||||
|
||||
ElvinCDs_Config:SetTemplate("Transparent")
|
||||
ElvinCDs_ConfigTitleBG:StripTextures()
|
||||
|
||||
ElvinCDs_Config_SpellsList:SetTemplate("Transparent")
|
||||
|
||||
S:HandleTab(ElvinCDs_ConfigTab1)
|
||||
S:HandleTab(ElvinCDs_ConfigTab2)
|
||||
|
||||
S:HandleButton(ElvinCDs_ConfigClose)
|
||||
S:HandleButton(ElvinCDs_Config_GeneralDefault)
|
||||
S:HandleButton(ElvinCDs_Config_SpellsSave)
|
||||
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_width)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_height)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_opacity)
|
||||
S:HandleSliderFrame(ElvinCDs_Config_General_spacing)
|
||||
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsSearch)
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsSpellId)
|
||||
S:HandleEditBox(ElvinCDs_Config_SpellsCooldown)
|
||||
|
||||
S:HandleScrollBar(ElvinCDs_Config_SpellsListScrollFrameScrollBar)
|
||||
|
||||
local checkBoxes = {
|
||||
ElvinCDs_Config_General_enabled,
|
||||
ElvinCDs_Config_General_icons,
|
||||
ElvinCDs_Config_General_strict,
|
||||
ElvinCDs_Config_General_announce,
|
||||
ElvinCDs_Config_General_shout,
|
||||
ElvinCDs_Config_General_verbose,
|
||||
ElvinCDs_Config_General_locked,
|
||||
ElvinCDs_Config_General_sync,
|
||||
ElvinCDs_Config_General_showInBG,
|
||||
ElvinCDs_Config_General_showInRaid,
|
||||
ElvinCDs_Config_General_showInParty,
|
||||
ElvinCDs_Config_General_showWhenSolo,
|
||||
|
||||
ElvinCDs_Config_SpellsCustom,
|
||||
ElvinCDs_Config_SpellsDefaults,
|
||||
ElvinCDs_Config_SpellsDisplay,
|
||||
ElvinCDs_Config_SpellsTrack,
|
||||
ElvinCDs_Config_SpellsBlind,
|
||||
ElvinCDs_Config_SpellsShout,
|
||||
ElvinCDs_Config_SpellsWhisper,
|
||||
ElvinCDs_Config_SpellsSpecial,
|
||||
}
|
||||
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(checkBox)
|
||||
end
|
||||
|
||||
ElvinCDs_Config_SpellsSearch:Height(22)
|
||||
ElvinCDs_Config_SpellsSpellId:Height(22)
|
||||
ElvinCDs_Config_SpellsCooldown:Height(22)
|
||||
|
||||
ElvinCDs_ConfigTab1:Point("CENTER", ElvinCDs_Config, "BOTTOMLEFT", 60, -14)
|
||||
ElvinCDs_ConfigClose:Point("TOPRIGHT", -6, -6)
|
||||
|
||||
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_Config_SpellsListScrollFrame, "TOPRIGHT", 5, -15)
|
||||
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_Config_SpellsListScrollFrame, "BOTTOMRIGHT", 5, 14)
|
||||
|
||||
ElvinCDs_Config_SpellsSpellId:Point("TOPLEFT", ElvinCDs_Config_SpellsList, "BOTTOMLEFT", 8, -10)
|
||||
|
||||
--[[
|
||||
local options = {
|
||||
"Display",
|
||||
"Track",
|
||||
"Blind",
|
||||
"Shout",
|
||||
"Whisper",
|
||||
"Special",
|
||||
}
|
||||
|
||||
local skinnedCheckboxes = 0
|
||||
local function skinButtons()
|
||||
local i = skinnedCheckboxes + 1
|
||||
local button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
|
||||
while button do
|
||||
for _, affix in ipairs(options) do
|
||||
S:HandleCheckBox(_G["ElvinCDs_Config_Spells_SpellBtn_"..i..affix])
|
||||
end
|
||||
i = i + 1
|
||||
button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
|
||||
end
|
||||
skinnedCheckboxes = i - 1
|
||||
end
|
||||
|
||||
local _SetChecked = ElvinCDs_Config_SpellsDefaults.SetChecked
|
||||
ElvinCDs_Config_SpellsDefaults.SetChecked = function(self, checked, ...)
|
||||
skinButtons()
|
||||
|
||||
_SetChecked(self, checked, ...)
|
||||
self.SetChecked = _SetChecked
|
||||
end
|
||||
|
||||
hooksecurefunc(ElvinCDs.Config.Spells, "save", function(self, button)
|
||||
if not button then return end
|
||||
skinButtons()
|
||||
end)
|
||||
--]]
|
||||
end)
|
||||
@@ -0,0 +1,234 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Examiner") then return end
|
||||
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
-- Examiner 10.08.14
|
||||
-- https://www.curseforge.com/wow/addons/examiner/files/445178
|
||||
|
||||
S:AddCallbackForAddon("Examiner", "Examiner", function()
|
||||
if not E.private.addOnSkins.Examiner then return end
|
||||
|
||||
UIPanelWindows["Examiner"].width = 348
|
||||
|
||||
Examiner:CreateBackdrop("Transparent")
|
||||
Examiner.backdrop:Point("TOPLEFT", 11, -12)
|
||||
Examiner.backdrop:Point("BOTTOMRIGHT", -32, 4)
|
||||
|
||||
S:SetBackdropHitRect(Examiner)
|
||||
|
||||
Examiner.dlgTopLeft:Hide()
|
||||
Examiner.dlgTopRight:Hide()
|
||||
Examiner.dlgBottomLeft:Hide()
|
||||
Examiner.dlgBottomRight:Hide()
|
||||
|
||||
Examiner.portrait:Hide()
|
||||
|
||||
S:HandleCloseButton((Examiner:GetChildren()), Examiner.backdrop)
|
||||
|
||||
Examiner.model:Size(325, 352)
|
||||
Examiner.model:Point("BOTTOM", -11, 12)
|
||||
|
||||
do -- Talents background
|
||||
local talantsPage
|
||||
for _, mod in ipairs(Examiner.modules) do
|
||||
if mod.token == "Talents" then
|
||||
talantsPage = mod.page
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
local bgTextures = {
|
||||
Examiner.bgTopLeft,
|
||||
Examiner.bgTopRight,
|
||||
Examiner.bgBottomLeft,
|
||||
Examiner.bgBottomRight
|
||||
}
|
||||
|
||||
for _, texture in ipairs(bgTextures) do
|
||||
texture:SetParent(talantsPage)
|
||||
texture.SetWidth = E.noop
|
||||
end
|
||||
|
||||
Examiner.bgTopLeft:Point("TOPLEFT", Examiner, "TOPLEFT", 20, -77)
|
||||
|
||||
Examiner.bgTopLeft:Size(256, 256)
|
||||
Examiner.bgTopRight:Size(67, 256)
|
||||
Examiner.bgBottomLeft:Size(256, 112)
|
||||
Examiner.bgBottomRight:Size(67, 112)
|
||||
end
|
||||
|
||||
local dropdownArrowColor = {1, 0.8, 0}
|
||||
local function skinAzDropdown(frame)
|
||||
frame:SetTemplate()
|
||||
|
||||
S:HandleNextPrevButton(frame.button, "down", dropdownArrowColor)
|
||||
frame.button:Point("TOPRIGHT", -2, -2)
|
||||
frame.button:Point("BOTTOMRIGHT", -2, 2)
|
||||
frame.button:Size(20)
|
||||
end
|
||||
|
||||
local function setSlotBackdropColor(self, r, g, b)
|
||||
self.parent:SetBackdropBorderColor(r, g, b)
|
||||
end
|
||||
|
||||
local function setSlotBackdropDefault(self)
|
||||
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
|
||||
local buttonReposition
|
||||
|
||||
for _, mod in ipairs(Examiner.modules) do
|
||||
if mod.page then
|
||||
mod.page:SetTemplate("Transparent")
|
||||
|
||||
if mod.token == "Talents" then
|
||||
mod.page:SetTemplate("Transparent")
|
||||
mod.page:Point("BOTTOM", -21, 40)
|
||||
mod.page:Size(304, 324)
|
||||
elseif mod.showItems then
|
||||
mod.page:Size(237, 284)
|
||||
else
|
||||
mod.page:Size(325, 324)
|
||||
end
|
||||
end
|
||||
|
||||
if mod.button then
|
||||
if not buttonReposition then
|
||||
mod.button:Point("BOTTOMLEFT", 24, 12)
|
||||
buttonReposition = true
|
||||
end
|
||||
|
||||
S:HandleButton(mod.button)
|
||||
end
|
||||
|
||||
if mod.token == "ItemSlots" then
|
||||
for i, slot in ipairs(mod.slotBtns) do
|
||||
slot:StripTextures()
|
||||
slot:StyleButton(false)
|
||||
slot:SetTemplate("Default", true, true)
|
||||
|
||||
slot.texture:SetDrawLayer("BORDER")
|
||||
slot.texture:SetInside()
|
||||
slot.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
slot.border:Kill()
|
||||
slot.border.parent = slot
|
||||
slot.border.SetVertexColor = setSlotBackdropColor
|
||||
slot.border.Hide = setSlotBackdropDefault
|
||||
|
||||
if i == 1 then
|
||||
slot:SetPoint("TOPLEFT", 0, 0)
|
||||
elseif i == 9 then
|
||||
slot:SetPoint("TOPRIGHT", 0, 0)
|
||||
elseif i == 17 then
|
||||
slot:Point("BOTTOM", -42, 28)
|
||||
elseif i <= 16 then
|
||||
slot:Point("TOP", mod.slotBtns[i - 1], "BOTTOM", 0, -4)
|
||||
else
|
||||
slot:Point("LEFT", mod.slotBtns[i - 1], "RIGHT", 5, 0)
|
||||
end
|
||||
end
|
||||
elseif mod.token == "Config" then
|
||||
skinAzDropdown((mod.page:GetChildren()))
|
||||
|
||||
for i = 2, mod.page:GetNumChildren() do
|
||||
local child = select(i, mod.page:GetChildren())
|
||||
S:HandleCheckBox(child)
|
||||
end
|
||||
elseif mod.token == "Cache" then
|
||||
S:HandleScrollBar(ExaminerCacheScrollScrollBar)
|
||||
ExaminerCacheScrollScrollBar:Point("TOPLEFT", ExaminerCacheScroll, "TOPRIGHT", 3, -19)
|
||||
ExaminerCacheScrollScrollBar:Point("BOTTOMLEFT", ExaminerCacheScroll, "BOTTOMRIGHT", 3, 19)
|
||||
elseif mod.token == "Stats" then
|
||||
for i = 1, 5 do
|
||||
local child = select(i, mod.page:GetChildren())
|
||||
|
||||
child:Size(24)
|
||||
child:SetTemplate("Transparent")
|
||||
|
||||
if i == 1 then
|
||||
child:Point("TOPLEFT", 58, -9)
|
||||
end
|
||||
|
||||
child.texture:SetInside()
|
||||
child.texture:SetDrawLayer("ARTWORK")
|
||||
|
||||
if i == 3 then -- Arcane
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 64
|
||||
child.texture:SetTexCoord(0.25, 0.8125, 0.25, 0.3203125)
|
||||
elseif i == 1 then -- Fire
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 6
|
||||
child.texture:SetTexCoord(0.25, 0.8125, 0.0234375, 0.09375)
|
||||
elseif i == 2 then -- Nature
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 35
|
||||
child.texture:SetTexCoord(0.25, 0.8125, 0.13671875, 0.20703125)
|
||||
elseif i == 4 then -- Frost
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 94
|
||||
child.texture:SetTexCoord(0.25, 0.8125, 0.3671875, 0.4375)
|
||||
elseif i == 5 then -- Shadow
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 122
|
||||
child.texture:SetTexCoord(0.25, 0.8125, 0.4765625, 0.546875)
|
||||
end
|
||||
end
|
||||
|
||||
S:HandleScrollBar(ExaminerStatScrollScrollBar)
|
||||
ExaminerStatScrollScrollBar:Point("TOPLEFT", ExaminerStatScroll, "TOPRIGHT", 10, -20)
|
||||
ExaminerStatScrollScrollBar:Point("BOTTOMLEFT", ExaminerStatScroll, "BOTTOMRIGHT", 10, 20)
|
||||
elseif mod.token == "PvP" then
|
||||
for i = 2, 4 do
|
||||
local child = select(i, mod.page:GetChildren())
|
||||
child:SetTemplate("Transparent")
|
||||
end
|
||||
elseif mod.token == "Feats" then
|
||||
skinAzDropdown((mod.page:GetChildren()))
|
||||
|
||||
S:HandleScrollBar(ExaminerFeatsScrollScrollBar)
|
||||
ExaminerFeatsScrollScrollBar:Point("TOPLEFT", ExaminerFeatsScroll, "TOPRIGHT", 6, -19)
|
||||
ExaminerFeatsScrollScrollBar:Point("BOTTOMLEFT", ExaminerFeatsScroll, "BOTTOMRIGHT", 6, 19)
|
||||
elseif mod.token == "Talents" then
|
||||
for i = 1, MAX_TALENT_TABS do
|
||||
local tab = _G["ExaminerTab"..i]
|
||||
tab:StripTextures()
|
||||
tab:CreateBackdrop("Default", true)
|
||||
|
||||
tab.backdrop:Point("TOPLEFT", 2, -7)
|
||||
tab.backdrop:Point("BOTTOMRIGHT", -1, -1)
|
||||
|
||||
S:SetBackdropHitRect(tab)
|
||||
end
|
||||
|
||||
for i, button in ipairs({ExaminerScrollChildFrame:GetChildren()}) do
|
||||
if i > 40 then break end
|
||||
|
||||
button:StripTextures()
|
||||
button:SetTemplate("Default")
|
||||
button:StyleButton()
|
||||
|
||||
button.icon:SetInside()
|
||||
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
button.icon:SetDrawLayer("ARTWORK")
|
||||
|
||||
button.slot:Hide()
|
||||
button.rankBorder:Hide()
|
||||
|
||||
button.rank:SetFont(E.LSM:Fetch("font", E.db.general.font), 12, "OUTLINE")
|
||||
end
|
||||
|
||||
S:HandleScrollBar(ExaminerTalentsScrollChildScrollBar)
|
||||
ExaminerTalentsScrollChildScrollBar:Point("TOPLEFT", ExaminerTalentsScrollChild, "TOPRIGHT", 4, -18)
|
||||
ExaminerTalentsScrollChildScrollBar:Point("BOTTOMLEFT", ExaminerTalentsScrollChild, "BOTTOMRIGHT", 4, 17)
|
||||
|
||||
ExaminerTalentsScrollChild:ClearAllPoints()
|
||||
ExaminerTalentsScrollChild:Point("TOPLEFT", 1, -1)
|
||||
ExaminerTalentsScrollChild:Point("BOTTOMRIGHT", -1, 2)
|
||||
end
|
||||
end
|
||||
|
||||
AS:SkinLibrary("AzDialog")
|
||||
AS:SkinLibrary("AzDropDown")
|
||||
end)
|
||||
@@ -0,0 +1,100 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("LootCouncil_Lite") then return end
|
||||
|
||||
-- Loot Council Lite 1.011
|
||||
-- https://www.curseforge.com/wow/addons/lootcouncil-lite/files/457971
|
||||
|
||||
S:AddCallbackForAddon("LootCouncil_Lite", "LootCouncil_Lite", function()
|
||||
if not E.private.addOnSkins.LootCouncil_Lite then return end
|
||||
|
||||
-- Main Frame
|
||||
MainFrame:SetTemplate("Transparent")
|
||||
|
||||
EntryFrame:SetTemplate("Transparent")
|
||||
|
||||
EmptyTexture:Kill()
|
||||
|
||||
local icons = {
|
||||
CurrentItemTexture,
|
||||
CurrentSelectionTexture,
|
||||
DualItemTexture1,
|
||||
DualItemTexture2,
|
||||
}
|
||||
|
||||
local showBackdrop = function(self) self.backdrop:Show() end
|
||||
local hideBackdrop = function(self) self.backdrop:Hide() end
|
||||
for _, icon in ipairs(icons) do
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:CreateBackdrop()
|
||||
icon.backdrop:Hide()
|
||||
|
||||
hooksecurefunc(icon, "Show", showBackdrop)
|
||||
hooksecurefunc(icon, "Hide", hideBackdrop)
|
||||
end
|
||||
|
||||
DisenchantButton:Point("TOPLEFT", MainFrame, "BOTTOMLEFT", 480, 73)
|
||||
|
||||
if SyncButton then
|
||||
S:HandleButton(SyncButton)
|
||||
end
|
||||
|
||||
S:HandleButton(AwardButton)
|
||||
S:HandleButton(RemoveButton)
|
||||
S:HandleButton(DisenchantButton)
|
||||
S:HandleButton(AbortButton)
|
||||
S:HandleButton(ClearSelectionButton)
|
||||
S:HandleButton(CloseButton)
|
||||
|
||||
-- S:HandleDropDownBox(GroupLootDropDownLCL)
|
||||
|
||||
-- Options
|
||||
LCOptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleDropDownBox(OptDropDown)
|
||||
|
||||
S:HandleButton(OptAcceptButton)
|
||||
S:HandleButton(OptCancelButton)
|
||||
|
||||
S:HandleSliderFrame(ScaleSlider)
|
||||
|
||||
local checkBoxes = {
|
||||
PrivateVoteMode,
|
||||
SingleVoteMode,
|
||||
SelfVoteMode,
|
||||
DisplaySpecMode,
|
||||
WhisperLinkMode,
|
||||
OfficerLinkMode,
|
||||
RaidLinkMode,
|
||||
ConfirmEnding,
|
||||
MasterLootIntegration,
|
||||
GuildLinkMode,
|
||||
}
|
||||
|
||||
for _, checkbox in ipairs(checkBoxes) do
|
||||
local p1, a, p2, x, y = checkbox:GetPoint()
|
||||
checkbox:Point(p1, a, p2, x, y - 8)
|
||||
checkbox:Size(24)
|
||||
|
||||
S:HandleCheckBox(checkbox)
|
||||
end
|
||||
|
||||
-- RankFrame
|
||||
RankFrame:EnableMouse(true)
|
||||
RankFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleDropDownBox(RankDropDown)
|
||||
|
||||
S:HandleButton(RankAcceptButton)
|
||||
S:HandleButton(RankCancelButton)
|
||||
|
||||
-- TestFrame
|
||||
if LCTestFrame then
|
||||
LCTestFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(RunTestButton)
|
||||
S:HandleButton(TestCancelButton)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,74 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetItemQualityColor = GetItemQualityColor
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- LootWonAlert 1.3
|
||||
-- https://gitlab.com/Artur91425/LootWonAlert
|
||||
|
||||
S:AddCallbackForAddon("LootWonAlert", "LootWonAlert", function()
|
||||
if not E.private.addOnSkins.LootWonAlert then return end
|
||||
|
||||
local function skinFrame(frame)
|
||||
if frame.isSkinned then return end
|
||||
|
||||
frame:Size(300, 88)
|
||||
frame.Background:Hide()
|
||||
frame.lootItem.IconBorder:Hide()
|
||||
|
||||
frame:CreateBackdrop("Transparent")
|
||||
frame.backdrop:Point("TOPLEFT", 0, -6)
|
||||
frame.backdrop:Point("BOTTOMRIGHT", 0, 6)
|
||||
|
||||
S:SetBackdropHitRect(frame)
|
||||
|
||||
frame.glow:Size(336, 116)
|
||||
|
||||
frame.shine:Size(158, 66)
|
||||
frame.shine:Point("TOPLEFT", -10, -12)
|
||||
|
||||
frame.lootItem:SetTemplate("Transparent")
|
||||
frame.lootItem:Point("TOPLEFT", 12, -18)
|
||||
|
||||
frame.lootItem.Icon:CreateBackdrop("Transparent")
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
S:RawHook("LootWonAlertFrame_Create", function(self, ...)
|
||||
local frame = S.hooks.LootWonAlertFrame_Create(self, ...)
|
||||
skinFrame(frame)
|
||||
return frame
|
||||
end)
|
||||
|
||||
hooksecurefunc("LootWonAlertFrame_SetUp", function(self, itemLink)
|
||||
if itemLink then
|
||||
local quality = select(3, GetItemInfo(itemLink))
|
||||
if quality then
|
||||
local r, g, b = GetItemQualityColor(quality)
|
||||
self:SetBackdropBorderColor(r, g, b)
|
||||
-- self.backdrop:SetBackdropBorderColor(r, g, b)
|
||||
self.lootItem.Icon.backdrop:SetBackdropBorderColor(r, g, b)
|
||||
else
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
-- self.backdrop:SetBackdropBorderColor(r, g, b)
|
||||
self.lootItem.Icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
do
|
||||
local i = 1
|
||||
local frame = _G["LootWonAlertFrame"..i]
|
||||
while frame do
|
||||
skinFrame(frame)
|
||||
i = i + 1
|
||||
frame = _G["LootWonAlertFrame"..i]
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,173 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Mapster") then return end
|
||||
|
||||
-- Mapster 1.3.9
|
||||
-- https://www.wowace.com/projects/mapster/files/436697
|
||||
|
||||
S:AddCallbackForAddon("Mapster", "Mapster", function()
|
||||
if not E.private.addOnSkins.Mapster then return end
|
||||
|
||||
local Mapster = LibStub("AceAddon-3.0"):GetAddon("Mapster", true)
|
||||
if not Mapster then return end
|
||||
|
||||
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.worldmap then
|
||||
WorldMapFrame:CreateBackdrop()
|
||||
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
|
||||
WorldMapFrame.backdrop:Point("BOTTOMRIGHT", WorldMapTrackQuest, 0, -3)
|
||||
|
||||
WorldMapFrame:DisableDrawLayer("BACKGROUND")
|
||||
WorldMapFrame:DisableDrawLayer("ARTWORK")
|
||||
WorldMapFrame:DisableDrawLayer("OVERLAY")
|
||||
|
||||
WorldMapFrameTitle:SetDrawLayer("BORDER")
|
||||
|
||||
WorldMapDetailFrame:CreateBackdrop()
|
||||
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -2, 2)
|
||||
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 2, -1)
|
||||
|
||||
WorldMapQuestDetailScrollFrame:Width(348)
|
||||
WorldMapQuestDetailScrollFrame:Point("BOTTOMLEFT", WorldMapDetailFrame, "BOTTOMLEFT", -25, -207)
|
||||
WorldMapQuestDetailScrollFrame:CreateBackdrop("Transparent")
|
||||
WorldMapQuestDetailScrollFrame.backdrop:Point("TOPLEFT", 24, 2)
|
||||
WorldMapQuestDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 23, -4)
|
||||
WorldMapQuestDetailScrollFrame:SetHitRectInsets(24, -23, 0, -2)
|
||||
WorldMapQuestDetailScrollFrame.backdrop:SetFrameLevel(WorldMapQuestDetailScrollFrame:GetFrameLevel())
|
||||
|
||||
WorldMapQuestDetailScrollFrameTrack:Kill()
|
||||
|
||||
WorldMapQuestRewardScrollFrame:Width(340)
|
||||
WorldMapQuestRewardScrollFrame:Point("LEFT", WorldMapQuestDetailScrollFrame, "RIGHT", 8, 0)
|
||||
WorldMapQuestRewardScrollFrame:CreateBackdrop("Transparent")
|
||||
WorldMapQuestRewardScrollFrame.backdrop:Point("TOPLEFT", 20, 2)
|
||||
WorldMapQuestRewardScrollFrame.backdrop:Point("BOTTOMRIGHT", 22, -4)
|
||||
WorldMapQuestRewardScrollFrame:SetHitRectInsets(20, -22, 0, -2)
|
||||
WorldMapQuestRewardScrollFrame.backdrop:SetFrameLevel(WorldMapQuestRewardScrollFrame:GetFrameLevel())
|
||||
|
||||
WorldMapQuestRewardScrollChildFrame:SetScale(1)
|
||||
|
||||
WorldMapQuestScrollFrame:CreateBackdrop("Transparent")
|
||||
WorldMapQuestScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
|
||||
WorldMapQuestScrollFrame.backdrop:Point("BOTTOMRIGHT", 25, -3)
|
||||
WorldMapQuestScrollFrame.backdrop:SetFrameLevel(WorldMapQuestScrollFrame:GetFrameLevel())
|
||||
|
||||
WorldMapQuestSelectBar:SetTexture(E.Media.Textures.Highlight)
|
||||
WorldMapQuestSelectBar:SetAlpha(0.35)
|
||||
|
||||
WorldMapQuestHighlightBar:SetTexture(E.Media.Textures.Highlight)
|
||||
WorldMapQuestHighlightBar:SetAlpha(0.35)
|
||||
|
||||
S:HandleScrollBar(WorldMapQuestScrollFrameScrollBar)
|
||||
S:HandleScrollBar(WorldMapQuestDetailScrollFrameScrollBar)
|
||||
S:HandleScrollBar(WorldMapQuestRewardScrollFrameScrollBar)
|
||||
|
||||
S:HandleCloseButton(WorldMapFrameCloseButton)
|
||||
|
||||
WorldMapFrameSizeDownButton:ClearAllPoints()
|
||||
WorldMapFrameSizeDownButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
|
||||
WorldMapFrameSizeDownButton.SetPoint = E.noop
|
||||
WorldMapFrameSizeDownButton:GetHighlightTexture():Kill()
|
||||
S:HandleNextPrevButton(WorldMapFrameSizeDownButton, nil, nil, true)
|
||||
WorldMapFrameSizeDownButton:Size(26)
|
||||
|
||||
WorldMapFrameSizeUpButton:ClearAllPoints()
|
||||
WorldMapFrameSizeUpButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
|
||||
WorldMapFrameSizeUpButton:GetHighlightTexture():Kill()
|
||||
S:HandleNextPrevButton(WorldMapFrameSizeUpButton, nil, nil, true)
|
||||
WorldMapFrameSizeUpButton:Size(26)
|
||||
|
||||
S:HandleDropDownBox(WorldMapLevelDropDown)
|
||||
S:HandleDropDownBox(WorldMapZoneMinimapDropDown)
|
||||
S:HandleDropDownBox(WorldMapContinentDropDown)
|
||||
S:HandleDropDownBox(WorldMapZoneDropDown)
|
||||
|
||||
S:HandleButton(WorldMapZoomOutButton)
|
||||
WorldMapZoomOutButton:Point("LEFT", WorldMapZoneDropDown, "RIGHT", 0, 3)
|
||||
|
||||
S:HandleCheckBox(WorldMapTrackQuest)
|
||||
S:HandleCheckBox(WorldMapQuestShowObjectives)
|
||||
|
||||
WorldMapFrameAreaLabel:FontTemplate(nil, 50, "OUTLINE")
|
||||
WorldMapFrameAreaLabel:SetShadowOffset(2, -2)
|
||||
WorldMapFrameAreaLabel:SetTextColor(0.90, 0.8294, 0.6407)
|
||||
|
||||
WorldMapFrameAreaDescription:FontTemplate(nil, 40, "OUTLINE")
|
||||
WorldMapFrameAreaDescription:SetShadowOffset(2, -2)
|
||||
|
||||
WorldMapZoneInfo:FontTemplate(nil, 27, "OUTLINE")
|
||||
WorldMapZoneInfo:SetShadowOffset(2, -2)
|
||||
else
|
||||
WorldMapDetailFrame.backdrop:Hide()
|
||||
end
|
||||
|
||||
local function sizeDown()
|
||||
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -14, 27)
|
||||
WorldMapDetailFrame.backdrop:Hide()
|
||||
end
|
||||
local function sizeUp()
|
||||
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -14, 70)
|
||||
WorldMapDetailFrame.backdrop:Show()
|
||||
end
|
||||
|
||||
S:SecureHook(Mapster, "SizeDown", sizeDown)
|
||||
S:SecureHook(Mapster, "SizeUp", sizeUp)
|
||||
|
||||
if WorldMapFrame.sizedDown or WORLDMAP_SETTINGS and WORLDMAP_SETTINGS.size == WORLDMAP_WINDOWED_SIZE then
|
||||
sizeDown()
|
||||
else
|
||||
sizeUp()
|
||||
end
|
||||
|
||||
S:SecureHook(Mapster, "UpdateBorderVisibility", function(self)
|
||||
if self.bordersVisible then
|
||||
WorldMapFrame.backdrop:Show()
|
||||
else
|
||||
WorldMapFrame.backdrop:Hide()
|
||||
end
|
||||
end)
|
||||
|
||||
MapsterOptionsButton:Point("TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -50, -3)
|
||||
MapsterOptionsButton.SetPoint = E.noop
|
||||
|
||||
MapsterQuestObjectivesDropDown:Point("BOTTOMRIGHT", WorldMapPositioningGuide, "BOTTOMRIGHT", -7, -4)
|
||||
|
||||
S:HandleButton(MapsterOptionsButton)
|
||||
S:HandleDropDownBox(MapsterQuestObjectivesDropDown)
|
||||
|
||||
do -- Scaler
|
||||
local Scale = Mapster:GetModule("Scale", true)
|
||||
local scaler = WorldMapPositioningGuide:GetRegions()
|
||||
|
||||
local function updateScalerPoint(mini)
|
||||
if mini then
|
||||
scaler:Point("BOTTOMRIGHT", -25, -8)
|
||||
elseif Mapster.bordersVisible then
|
||||
scaler:Point("BOTTOMRIGHT", -1, 3)
|
||||
end
|
||||
end
|
||||
|
||||
if scaler then
|
||||
scaler:Size(14)
|
||||
updateScalerPoint(Mapster.miniMap)
|
||||
else
|
||||
if Scale then
|
||||
S:SecureHook(Scale, "OnEnable", function(self)
|
||||
scaler = WorldMapPositioningGuide:GetRegions()
|
||||
scaler:Size(14)
|
||||
updateScalerPoint(Mapster.miniMap)
|
||||
|
||||
S:Unhook(self, "OnEnable")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
if Scale then
|
||||
function Scale:UpdateMapsize(mini)
|
||||
if not scaler then return end
|
||||
updateScalerPoint(mini)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,185 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("QDKP2_GUI") then return end
|
||||
|
||||
-- Quick DKP V2 - GUI v 2.6.7 and v 2.7.5
|
||||
|
||||
S:AddCallbackForAddon("QDKP2_GUI", "QDKP2_GUI", function()
|
||||
if not E.private.addOnSkins.QDKP2_GUI then return end
|
||||
--Roster Frame
|
||||
QDKP2_Frame2:StripTextures()
|
||||
QDKP2_Frame2:CreateBackdrop("Transparent")
|
||||
QDKP2_Frame2:Size(780, 400)
|
||||
QDKP2_frame2_title:Size(725, 14)
|
||||
QDKP2_frame2_scrollbar:StripTextures()
|
||||
QDKP2_frame2_scrollbar:Point("TOPLEFT", 15, - 55)
|
||||
QDKP2_frame2_scrollbar:Point("BOTTOMRIGHT", - 30, 41)
|
||||
QDKP2_frame2_title_name:Size(105, 14)
|
||||
QDKP2_frame2_title_class:Size(80, 14)
|
||||
QDKP2_frame2_title_net:Size(60, 14)
|
||||
QDKP2_frame2_title_total:Size(60, 14)
|
||||
QDKP2_frame2_title_spent:Size(60, 14)
|
||||
QDKP2_Frame2_Bid_Item:ClearAllPoints()
|
||||
QDKP2_Frame2_Bid_Item:Point("BottomLeft", QDKP2_frame2_showRaid, "BottomLeft", - 60, - 2)
|
||||
|
||||
for i = 10, 29 do
|
||||
local child = select(i, QDKP2_Frame2:GetChildren())
|
||||
if child:IsObjectType("Button") then
|
||||
child:StripTextures()
|
||||
child:SetHighlightTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\Highlight.tga", "Add")
|
||||
S:HandleButtonHighlight(child, 1, 0.8, 0.1)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1, 20 do
|
||||
_G["QDKP2_frame2_entry" .. i]:Size(725, 14)
|
||||
_G["QDKP2_frame2_entry" .. i .. "_name"]:Size(105, 14)
|
||||
_G["QDKP2_frame2_entry" .. i .. "_class"]:Size(80, 14)
|
||||
_G["QDKP2_frame2_entry" .. i .. "_net"]:Size(60, 14)
|
||||
_G["QDKP2_frame2_entry" .. i .. "_total"]:Size(60, 14)
|
||||
_G["QDKP2_frame2_entry" .. i .. "_spent"]:Size(60, 14)
|
||||
|
||||
local highlight = _G["QDKP2_frame2_entry" .. i .. "_Highlight"]
|
||||
highlight:SetAllPoints(true)
|
||||
highlight:SetTexture(E.Media.Textures.Highlight)
|
||||
highlight:SetVertexColor(0.8, 0.6, 0.2, 0.5)
|
||||
end
|
||||
|
||||
S:HandleScrollBar(QDKP2_frame2_scrollbarScrollBar)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_name)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_rank)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_class)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_net)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_total)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_spent)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_hours)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_deltatotal)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_deltaspent)
|
||||
S:HandleButton(QDKP2_frame2_showRaid)
|
||||
S:HandleButton(QDKP2_Frame2_Bid_Button)
|
||||
S:HandleButton(QDKP2_Frame2_Bid_ButtonWin)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_roll)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_bid)
|
||||
S:HandleButton(QDKP2_Frame2_SortBtn_value)
|
||||
S:HandleEditBox(QDKP2_Frame2_Bid_Item)
|
||||
S:HandleCheckBox(QDKP2frame2_selectList_guild)
|
||||
if QDKP2frame2_selectList_guildOnline then
|
||||
S:HandleCheckBox(QDKP2frame2_selectList_guildOnline)
|
||||
elseif QDKP2frame2_selectList_Custom then
|
||||
S:HandleCheckBox(QDKP2frame2_selectList_Custom)
|
||||
end
|
||||
S:HandleCheckBox(QDKP2frame2_selectList_Raid)
|
||||
S:HandleCheckBox(QDKP2frame2_selectList_Bid)
|
||||
S:HandleCloseButton(QDKP2_Frame2_Button1, QDKP2_Frame2)
|
||||
|
||||
--RaidLog Frame
|
||||
QDKP2_Frame5:StripTextures()
|
||||
QDKP2_Frame5:CreateBackdrop("Transparent")
|
||||
QDKP2_frame5_scrollbar:StripTextures()
|
||||
S:HandleCloseButton(QDKP2_Frame5_Button1, QDKP2_Frame5)
|
||||
S:HandleScrollBar(QDKP2_frame5_scrollbarScrollBar)
|
||||
QDKP2_frame5_intest_net:Size(40, 14)
|
||||
QDKP2_frame5_intest_mod:Size(40, 14)
|
||||
for i = 1, 25 do
|
||||
_G["QDKP2_frame5_entry" .. i .. "_net"]:Size(40, 14)
|
||||
_G["QDKP2_frame5_entry" .. i .. "_mod"]:Size(40, 14)
|
||||
end
|
||||
for i = 4, 28 do
|
||||
local child = select(i, QDKP2_Frame5:GetChildren())
|
||||
if child:IsObjectType("Button") then
|
||||
child:StripTextures()
|
||||
child:SetHighlightTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\Highlight.tga", "Add")
|
||||
S:HandleButtonHighlight(child, 1, 0.8, 0.1)
|
||||
end
|
||||
end
|
||||
|
||||
--Frame 1
|
||||
QDKP2_Frame1:StripTextures()
|
||||
QDKP2_Frame1:CreateBackdrop("Transparent")
|
||||
S:HandleCloseButton(QDKP2_Frame1_Button1, QDKP2_Frame1)
|
||||
S:HandleButton(QDKP2frame1_newSession)
|
||||
S:HandleButton(QDKP2frame1_closeSession)
|
||||
S:HandleButton(QDKP2frame1_upload)
|
||||
S:HandleButton(QDKP2frame1_revert)
|
||||
S:HandleButton(QDKP2frame1_backup)
|
||||
S:HandleButton(QDKP2frame1_restore)
|
||||
S:HandleButton(QDKP2frame1_exportTXT)
|
||||
S:HandleButton(QDKP2frame1_list)
|
||||
S:HandleButton(QDKP2frame1_log)
|
||||
S:HandleButton(QDKP2frame1_award)
|
||||
S:HandleButton(QDKP2frame1_dkpBox_perhr)
|
||||
S:HandleButton(QDKP2frame1_dkpBox_IM)
|
||||
S:HandleButton(QDKP2frame1_ironman)
|
||||
S:HandleButton(QDKP2frame1_onOff)
|
||||
S:HandleButton(QDKP2frame1_dkpBox)
|
||||
S:HandleNextPrevButton(QDKP2frame1_upbutton, "up")
|
||||
S:HandleNextPrevButton(QDKP2frame1_downbutton, "down")
|
||||
S:HandleNextPrevButton(QDKP2frame1_hourlybonus_upbutton, "up")
|
||||
S:HandleNextPrevButton(QDKP2frame1_hourlybonus_downbutton, "down")
|
||||
S:HandleNextPrevButton(QDKP2frame1_IMbonus_upbutton, "up")
|
||||
S:HandleNextPrevButton(QDKP2frame1_IMbonus_downbutton, "down")
|
||||
S:HandleCheckBox(QDKP2frame1_UseBossMod)
|
||||
S:HandleCheckBox(QDKP2frame1_DetectBids)
|
||||
S:HandleCheckBox(QDKP2frame1_FixedPrice)
|
||||
QDKP2_frame1_BackupDate:Point("CENTER", 0, - 3)
|
||||
QDKP2_Frame1_raidDKP_text:Point("LEFT", 4, 0)
|
||||
QDKP2_Frame1_timerDKP_text:Point("LEFT", 4, 0)
|
||||
QDKP2_Frame1_IMDKP_text:Point("LEFT", 4, 0)
|
||||
QDKP2frame1_exportTXT:Size(60, 20)
|
||||
QDKP2frame1_exportTXT:Point("Left", QDKP2frame1_upload, "RIGHT", 5, - 22)
|
||||
QDKP2frame1_log:Point("CENTER", QDKP2_Frame1, "TOP", - 2, - 55)
|
||||
QDKP2frame1_newSession:Point("RIGHT", QDKP2_Frame1, "TOP", - 2, - 103)
|
||||
QDKP2frame1_backup:Point("RIGHT", QDKP2_frame1_BackupDate_Parent, "TOP", - 36, 5)
|
||||
QDKP2frame1_restore:Point("LEFT", QDKP2_frame1_BackupDate_Parent, "TOP", - 35, 5)
|
||||
QDKP2frame1_backup:Size(89, 20)
|
||||
QDKP2frame1_restore:Size(89, 20)
|
||||
|
||||
--Frame 3
|
||||
QDKP2_Frame3:StripTextures()
|
||||
QDKP2_Frame3:CreateBackdrop("Transparent")
|
||||
QDKP2frame3_dkpBox:Size(45, 20)
|
||||
QDKP2frame3_reasonBox:Size(137, 20)
|
||||
QDKP2frame3_reasonBox:Point("LEFT", QDKP2frame3_For, "RIGHT", 4, - 2)
|
||||
QDKP2frame3_changePlayerInfo:Point("CENTER", QDKP2_Frame3, "BOTTOM", 0, 23)
|
||||
S:HandleCloseButton(QDKP2_Frame3_Button1)
|
||||
S:HandleEditBox(QDKP2frame3_dkpBox)
|
||||
S:HandleEditBox(QDKP2frame3_reasonBox)
|
||||
S:HandleButton(QDKP2frame3_award)
|
||||
S:HandleButton(QDKP2frame3_spend)
|
||||
S:HandleButton(QDKP2frame3_zsBtn)
|
||||
S:HandleButton(QDKP2frame3_PopupLog)
|
||||
S:HandleButton(QDKP2frame3_changePlayerInfo)
|
||||
|
||||
--Frame 4
|
||||
QDKP2_Frame4:StripTextures()
|
||||
QDKP2_Frame4:CreateBackdrop("Transparent")
|
||||
S:HandleCloseButton(QDKP2_Frame4_Button1)
|
||||
QDKP2frame4_NetBox:Size(100, 15)
|
||||
QDKP2frame4_TotalBox:Size(100, 15)
|
||||
QDKP2frame4_HoursBox:Size(70, 15)
|
||||
QDKP2frame4_NetBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 31)
|
||||
QDKP2frame4_TotalBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 51)
|
||||
QDKP2frame4_HoursBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 71)
|
||||
S:HandleEditBox(QDKP2frame4_NetBox)
|
||||
S:HandleEditBox(QDKP2frame4_TotalBox)
|
||||
S:HandleEditBox(QDKP2frame4_HoursBox)
|
||||
S:HandleButton(QDKP2Frame4_Set)
|
||||
|
||||
--QDKP2_modify_log_entry
|
||||
QDKP2_modify_log_entry:StripTextures()
|
||||
QDKP2_modify_log_entry:CreateBackdrop("Transparent")
|
||||
S:HandleCloseButton(QDKP2_modify_log_entry_ButtonClose)
|
||||
QDKP2_modify_log_entry:Size(230, 160)
|
||||
QDKP2frame6_GainedBox:Size(50, 20)
|
||||
QDKP2frame6_SpentBox:Size(50, 20)
|
||||
QDKP2frame6_ReasonBox:Size(160, 20)
|
||||
QDKP2frame6_ReasonBox:Point("TOP", 19, - 70)
|
||||
QDKP2_modify_log_entry_for:Point("TOPLEFT", 5, - 74)
|
||||
S:HandleEditBox(QDKP2frame6_GainedBox)
|
||||
S:HandleEditBox(QDKP2frame6_SpentBox)
|
||||
S:HandleEditBox(QDKP2frame6_ReasonBox)
|
||||
S:HandleButton(QDKP2_modify_log_entry_Apply)
|
||||
S:HandleButton(QDKP2_modify_log_entry_Cancel)
|
||||
end)
|
||||
@@ -0,0 +1,513 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("QuestGuru") then return end
|
||||
|
||||
local _G = _G
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetItemQualityColor = GetItemQualityColor
|
||||
local GetQuestLogChoiceInfo = GetQuestLogChoiceInfo
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- QuestGuru 1.4.1
|
||||
|
||||
S:AddCallbackForAddon("QuestGuru", "QuestGuru", function()
|
||||
if not E.private.addOnSkins.QuestGuru then return end
|
||||
|
||||
local origCount = QUESTGURU_QUESTS_DISPLAYED
|
||||
QUESTS_DISPLAYED = 21
|
||||
QUESTGURU_QUESTS_DISPLAYED = 21
|
||||
|
||||
for i = QUESTS_DISPLAYED + 1, origCount do
|
||||
_G["QuestGuru_QuestLogTitle"..i]:Hide()
|
||||
_G["QuestGuru_QuestAbandonTitle"..i]:Hide()
|
||||
end
|
||||
|
||||
QuestGuru_UpdateGossipFrame = E.noop
|
||||
QuestGuru_UpdateProgressFrame = E.noop
|
||||
QuestGuru_UpdateDetailFrame = E.noop
|
||||
QuestGuru_QuestFrameGreetingPanel_OnShow = E.noop
|
||||
|
||||
QuestGuru_QuestLogFrame:Size(682, 447)
|
||||
|
||||
if not QuestGuru_QuestLogFrame.backdrop then
|
||||
QuestGuru_QuestLogFrame:StripTextures()
|
||||
QuestGuru_QuestLogFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestLogFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
QuestGuru_QuestLogFrame.backdrop:Point("BOTTOMRIGHT", -1, 11)
|
||||
end
|
||||
|
||||
S:SetUIPanelWindowInfo(QuestGuru_QuestLogFrame, "xoffset", -50)
|
||||
|
||||
S:HandleCloseButton(QuestGuru_QuestLogFrameCloseButton, QuestLogFrame.backdrop)
|
||||
|
||||
QuestGuru_QuestLogTitleText:Point("TOP", 0, -16)
|
||||
|
||||
QuestGuruShowMapButton:StripTextures()
|
||||
S:HandleButton(QuestGuruShowMapButton)
|
||||
QuestGuruShowMapButton:Width(82)
|
||||
QuestGuruShowMapButton:Point("TOPRIGHT", 1, 32)
|
||||
QuestGuruShowMapButton.text:ClearAllPoints()
|
||||
QuestGuruShowMapButton.text:SetPoint("CENTER")
|
||||
|
||||
QuestGuru_QuestLogCount:StripTextures()
|
||||
QuestGuru_QuestLogCount:Point("TOPRIGHT", -118, -23)
|
||||
QuestGuru_QuestLogCount.SetPoint = E.noop
|
||||
QuestGuru_QuestLogCount:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestLogCount.backdrop:Point("TOPLEFT", -1, 0)
|
||||
QuestGuru_QuestLogCount.backdrop:Point("BOTTOMRIGHT", 1, -4)
|
||||
|
||||
S:HandleButton(QuestGuru_QuestFrameExpandCollapseButton)
|
||||
QuestGuru_QuestFrameExpandCollapseButton:Point("TOPLEFT", 19, -39)
|
||||
|
||||
QuestGuru_QuestLogFrameTab1:StripTextures()
|
||||
QuestGuru_QuestLogFrameTab1:SetTemplate()
|
||||
QuestGuru_QuestLogFrameTab1:Height(24)
|
||||
QuestGuru_QuestLogFrameTab1:Point("TOPLEFT", 40, -35)
|
||||
QuestGuru_QuestLogFrameTab1.SetPoint = E.noop
|
||||
QuestGuru_QuestLogFrameTab1:SetHitRectInsets(0, 0, 0, 0)
|
||||
QuestGuru_QuestLogFrameTab1:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
QuestGuru_QuestLogFrameTab1:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
QuestGuru_QuestLogFrameTab2:StripTextures()
|
||||
QuestGuru_QuestLogFrameTab2:SetTemplate()
|
||||
QuestGuru_QuestLogFrameTab2:Height(24)
|
||||
QuestGuru_QuestLogFrameTab2:Point("LEFT", QuestGuru_QuestLogFrameTab1, "RIGHT", 1, 0)
|
||||
QuestGuru_QuestLogFrameTab2.SetPoint = E.noop
|
||||
QuestGuru_QuestLogFrameTab2:SetHitRectInsets(0, 0, 0, 0)
|
||||
QuestGuru_QuestLogFrameTab2:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
QuestGuru_QuestLogFrameTab2:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
QuestGuru_QuestLogTitle1:ClearAllPoints()
|
||||
QuestGuru_QuestLogTitle1:SetPoint("TOPLEFT", QuestGuru_QuestLogListScrollFrame)
|
||||
|
||||
QuestGuru_QuestLogListScrollFrame:Size(305, 335)
|
||||
QuestGuru_QuestLogListScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestLogListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
|
||||
QuestGuru_QuestLogListScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestLogListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
|
||||
QuestGuru_QuestLogListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
QuestGuru_QuestLogListScrollFrame:Show()
|
||||
QuestGuru_QuestLogListScrollFrame.Hide = QuestGuru_QuestLogListScrollFrame.Show
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestLogListScrollFrameScrollBar)
|
||||
QuestGuru_QuestLogListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestLogListScrollFrame, "TOPRIGHT", 3, -17)
|
||||
QuestGuru_QuestLogListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestLogListScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
QuestGuru_QuestLogDetailScrollFrame:Size(304, 336)
|
||||
QuestGuru_QuestLogDetailScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestLogDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
|
||||
QuestGuru_QuestLogDetailScrollFrame:StripTextures()
|
||||
QuestGuru_QuestLogDetailScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestLogDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
|
||||
QuestGuru_QuestLogDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestLogDetailScrollFrameScrollBar)
|
||||
QuestGuru_QuestLogDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestLogDetailScrollFrame, "TOPRIGHT", 3, -18)
|
||||
QuestGuru_QuestLogDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestLogDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
S:HandleButton(QuestGuru_QuestLogFrameAbandonButton)
|
||||
S:HandleButton(QuestGuru_QuestFramePushQuestButton)
|
||||
S:HandleButton(QuestGuru_QuestFrameOptionsButton)
|
||||
S:HandleButton(QuestGuru_QuestFrameExitButton)
|
||||
|
||||
QuestGuru_QuestLogFrameAbandonButton:Height(22)
|
||||
QuestGuru_QuestFramePushQuestButton:Height(22)
|
||||
QuestGuru_QuestFrameOptionsButton:Height(22)
|
||||
QuestGuru_QuestFrameExitButton:Height(22)
|
||||
|
||||
QuestGuru_QuestLogFrameAbandonButton:Point("BOTTOMLEFT", QuestGuru_QuestLogFrame, "BOTTOMLEFT", 19, 19)
|
||||
QuestGuru_QuestFramePushQuestButton:Point("LEFT", QuestGuru_QuestLogFrameAbandonButton, "RIGHT", 3, 0)
|
||||
|
||||
QuestGuru_QuestFrameExitButton:Point("BOTTOMRIGHT", -9, 19)
|
||||
QuestGuru_QuestFrameOptionsButton:Point("RIGHT", QuestGuru_QuestFrameExitButton, "LEFT", -3, 0)
|
||||
|
||||
-- Abandoned
|
||||
QuestGuru_QuestAbandonTitle1:ClearAllPoints()
|
||||
QuestGuru_QuestAbandonTitle1:SetPoint("TOPLEFT", QuestGuru_QuestAbandonListScrollFrame)
|
||||
|
||||
QuestGuru_QuestAbandonListScrollFrame:Size(305, 335)
|
||||
QuestGuru_QuestAbandonListScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestAbandonListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
|
||||
QuestGuru_QuestAbandonListScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestAbandonListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
|
||||
QuestGuru_QuestAbandonListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
QuestGuru_QuestAbandonListScrollFrame:Show()
|
||||
QuestGuru_QuestAbandonListScrollFrame.Hide = QuestGuru_QuestAbandonListScrollFrame.Show
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestAbandonListScrollFrameScrollBar)
|
||||
QuestGuru_QuestAbandonListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestAbandonListScrollFrame, "TOPRIGHT", 3, -17)
|
||||
QuestGuru_QuestAbandonListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestAbandonListScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
QuestGuru_QuestAbandonDetailScrollFrame:Size(304, 336)
|
||||
QuestGuru_QuestAbandonDetailScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestAbandonDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
|
||||
QuestGuru_QuestAbandonDetailScrollFrame:StripTextures()
|
||||
QuestGuru_QuestAbandonDetailScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestAbandonDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
|
||||
QuestGuru_QuestAbandonDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestAbandonDetailScrollFrameScrollBar)
|
||||
QuestGuru_QuestAbandonDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestAbandonDetailScrollFrame, "TOPRIGHT", 3, -18)
|
||||
QuestGuru_QuestAbandonDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestAbandonDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
S:HandleEditBox(QuestGuru_QuestAbandonSearch)
|
||||
QuestGuru_QuestAbandonSearch:Point("LEFT", QuestGuru_QuestAbandonSearchText, "RIGHT", 4, -1)
|
||||
|
||||
S:HandleButton(QuestGuru_QuestAbandonClearList)
|
||||
QuestGuru_QuestAbandonClearList:Height(22)
|
||||
QuestGuru_QuestAbandonClearList:Point("LEFT", QuestGuru_QuestAbandonSearch, "RIGHT", 8, 0)
|
||||
|
||||
local function skinOptions(f)
|
||||
for i = 1, f:GetNumChildren() do
|
||||
local child = select(i, f:GetChildren())
|
||||
if child then
|
||||
if child:IsObjectType("CheckButton") then
|
||||
S:HandleCheckBox(child)
|
||||
elseif child:IsObjectType("EditBox") then
|
||||
S:HandleEditBox(child)
|
||||
elseif child:IsObjectType("Button") then
|
||||
S:HandleButton(child)
|
||||
elseif child:IsObjectType("Frame") then
|
||||
S:HandleDropDownBox(child, 240)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
skinOptions(QuestGuru_OptionsFrameGeneral)
|
||||
skinOptions(QuestGuru_OptionsFrameSound)
|
||||
skinOptions(QuestGuru_AnnounceFrame)
|
||||
|
||||
local function skinLogEntry(questLogTitle, index)
|
||||
questLogTitle:Width(300)
|
||||
|
||||
if index > 1 then
|
||||
questLogTitle:SetPoint("TOPLEFT", _G["QuestGuru_QuestLogTitle"..(index-1)], "BOTTOMLEFT", 0, 0)
|
||||
end
|
||||
|
||||
if questLogTitle.check then
|
||||
questLogTitle.check:CreateBackdrop()
|
||||
questLogTitle.check.backdrop:SetInside()
|
||||
questLogTitle.check:SetNormalTexture(nil)
|
||||
questLogTitle.check:SetPushedTexture(nil)
|
||||
questLogTitle.check:SetHighlightTexture(nil)
|
||||
end
|
||||
|
||||
S:HandleCollapseExpandButton(questLogTitle)
|
||||
end
|
||||
|
||||
for i = 1, QUESTS_DISPLAYED do
|
||||
skinLogEntry(_G["QuestGuru_QuestLogTitle"..i], i)
|
||||
skinLogEntry(_G["QuestGuru_QuestAbandonTitle"..i], i)
|
||||
end
|
||||
|
||||
-- QuestStart Tooltip
|
||||
QuestGuru_QuestStartInfoFrame:StripTextures()
|
||||
QuestGuru_QuestStartInfoFrame:SetTemplate("Transparent")
|
||||
|
||||
-- Quest items
|
||||
local function updateItemQuality(self, texture)
|
||||
if self.parent.link or self.parent.type == "choice" then
|
||||
local quality
|
||||
|
||||
if self.parent.link then
|
||||
quality = select(3, GetItemInfo(self.parent.link))
|
||||
elseif self.parent.type == "choice" then
|
||||
quality = select(4, GetQuestLogChoiceInfo(self.parent:GetID()))
|
||||
end
|
||||
|
||||
if quality then
|
||||
local r, g, b = GetItemQualityColor(quality)
|
||||
|
||||
self.parent:SetBackdropBorderColor(r, g, b)
|
||||
self.parent.backdrop:SetBackdropBorderColor(r, g, b)
|
||||
|
||||
self.parent.text:SetTextColor(r, g, b)
|
||||
else
|
||||
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
self.parent.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
|
||||
self.parent.text:SetTextColor(1, 1, 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local items = {
|
||||
["QuestGuru_QuestLogItem"] = 10,
|
||||
["QuestGuru_QuestLogObjectiveItem"] = 10,
|
||||
["QuestGuru_QuestAbandonItem"] = 10,
|
||||
}
|
||||
for frame, numItems in pairs(items) do
|
||||
for i = 1, numItems do
|
||||
local item = _G[frame..i]
|
||||
local icon = _G[frame..i.."IconTexture"]
|
||||
local count = _G[frame..i.."Count"]
|
||||
|
||||
item:StripTextures()
|
||||
item:SetTemplate("Default")
|
||||
item:StyleButton()
|
||||
item:Size(143, 40)
|
||||
item:SetFrameLevel(item:GetFrameLevel() + 2)
|
||||
|
||||
icon:Size(E.PixelMode and 38 or 32)
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
|
||||
S:HandleIcon(icon)
|
||||
|
||||
item.text = _G[frame..i.."Name"]
|
||||
icon.parent = item
|
||||
hooksecurefunc(icon, "SetTexture", updateItemQuality)
|
||||
|
||||
count:SetParent(item.backdrop)
|
||||
count:SetDrawLayer("OVERLAY")
|
||||
end
|
||||
end
|
||||
|
||||
do -- Fonts
|
||||
local function fixFontColor(obj, r, g, b)
|
||||
obj:SetTextColor(r, g, b)
|
||||
obj.SetTextColor = E.noop
|
||||
end
|
||||
|
||||
fixFontColor(QuestGuru_QuestStartInfoTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoNPC, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoPOS, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoArea, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoTimeLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoTime, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoLevelLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestStartInfoLevel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogQuestTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestLogObjectivesText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogTimerText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective1, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective2, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective3, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective4, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective5, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective6, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective7, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective8, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective9, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogObjective10, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogRequiredMoneyText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogSuggestedGroupNum, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogDescriptionTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestLogQuestDescription, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogRewardTitleText, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestLogItemChooseText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogItemReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogSpellLearnText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogPlayerTitleText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogStartLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogFinishLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogFinishPos, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogFinishNPCName, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestLogHonorFrameReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogTalentFrameReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestLogXPFrameReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonQuestTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjectivesText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonTimerText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective1, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective2, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective3, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective4, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective5, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective6, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective7, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective8, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective9, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonObjective10, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonRequiredMoneyText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonSuggestedGroupNum, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonDescriptionTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestAbandonQuestDescription, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonRewardTitleText, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestAbandonItemChooseText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonItemReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonSpellLearnText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonPlayerTitleText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonStartLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonFinishLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonFinishPos, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonFinishNPCName, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestAbandonHonorFrameReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestAbandonTalentFrameReceiveText, 1, 1, 1)
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("QuestGuru_History", "QuestGuru_History", function()
|
||||
if not E.private.addOnSkins.QuestGuru then return end
|
||||
|
||||
QuestGuru_QuestLogFrameTab3:StripTextures()
|
||||
QuestGuru_QuestLogFrameTab3:SetTemplate()
|
||||
QuestGuru_QuestLogFrameTab3:Height(24)
|
||||
QuestGuru_QuestLogFrameTab3:Point("LEFT", QuestGuru_QuestLogFrameTab2, "RIGHT", 1, 0)
|
||||
QuestGuru_QuestLogFrameTab3.SetPoint = E.noop
|
||||
QuestGuru_QuestLogFrameTab3:SetHitRectInsets(0, 0, 0, 0)
|
||||
QuestGuru_QuestLogFrameTab3:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
QuestGuru_QuestLogFrameTab3:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
QuestGuru_QuestLogFrameTab2.SetPoint = nil
|
||||
QuestGuru_QuestLogFrameTab2:Point("LEFT", QuestGuru_QuestLogFrameTab1, "RIGHT", 1, 0)
|
||||
QuestGuru_QuestLogFrameTab2.SetPoint = E.noop
|
||||
|
||||
QuestGuru_QuestHistoryTitle1:ClearAllPoints()
|
||||
QuestGuru_QuestHistoryTitle1:SetPoint("TOPLEFT", QuestGuru_QuestHistoryListScrollFrame)
|
||||
|
||||
QuestGuru_QuestHistoryListScrollFrame:Size(305, 335)
|
||||
QuestGuru_QuestHistoryListScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestHistoryListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
|
||||
QuestGuru_QuestHistoryListScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestHistoryListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
|
||||
QuestGuru_QuestHistoryListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
QuestGuru_QuestHistoryListScrollFrame:Show()
|
||||
QuestGuru_QuestHistoryListScrollFrame.Hide = QuestGuru_QuestHistoryListScrollFrame.Show
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestHistoryListScrollFrameScrollBar)
|
||||
QuestGuru_QuestHistoryListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestHistoryListScrollFrame, "TOPRIGHT", 3, -17)
|
||||
QuestGuru_QuestHistoryListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestHistoryListScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
QuestGuru_QuestHistoryDetailScrollFrame:Size(304, 336)
|
||||
QuestGuru_QuestHistoryDetailScrollFrame:ClearAllPoints()
|
||||
QuestGuru_QuestHistoryDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
|
||||
QuestGuru_QuestHistoryDetailScrollFrame:StripTextures()
|
||||
QuestGuru_QuestHistoryDetailScrollFrame:CreateBackdrop("Transparent")
|
||||
QuestGuru_QuestHistoryDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
|
||||
QuestGuru_QuestHistoryDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
|
||||
S:HandleScrollBar(QuestGuru_QuestHistoryDetailScrollFrameScrollBar)
|
||||
QuestGuru_QuestHistoryDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestHistoryDetailScrollFrame, "TOPRIGHT", 3, -18)
|
||||
QuestGuru_QuestHistoryDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestHistoryDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
|
||||
|
||||
S:HandleEditBox(QuestGuru_QuestHistorySearch)
|
||||
QuestGuru_QuestHistorySearch:Width(143)
|
||||
QuestGuru_QuestHistorySearch:Point("LEFT", QuestGuru_QuestHistorySearchText, "RIGHT", 4, -1)
|
||||
|
||||
S:HandleButton(QuestGuru_HistoryListFrameShowButton)
|
||||
QuestGuru_HistoryListFrameShowButton:Point("LEFT", QuestGuru_QuestHistorySearch, "RIGHT", 4, 0)
|
||||
|
||||
local function skinLogEntry(questLogTitle, index)
|
||||
questLogTitle:Width(300)
|
||||
|
||||
if index > 1 then
|
||||
questLogTitle:SetPoint("TOPLEFT", _G["QuestGuru_QuestLogTitle"..(index-1)], "BOTTOMLEFT", 0, 0)
|
||||
end
|
||||
|
||||
if questLogTitle.check then
|
||||
questLogTitle.check:CreateBackdrop()
|
||||
questLogTitle.check.backdrop:SetInside()
|
||||
questLogTitle.check:SetNormalTexture(nil)
|
||||
questLogTitle.check:SetPushedTexture(nil)
|
||||
questLogTitle.check:SetHighlightTexture(nil)
|
||||
end
|
||||
|
||||
S:HandleCollapseExpandButton(questLogTitle)
|
||||
end
|
||||
|
||||
for i = 1, QUESTS_DISPLAYED do
|
||||
skinLogEntry(_G["QuestGuru_QuestHistoryTitle"..i], i)
|
||||
end
|
||||
|
||||
-- Quest items
|
||||
local function updateItemQuality(self, texture)
|
||||
if self.parent.link or self.parent.type == "choice" then
|
||||
local quality
|
||||
|
||||
if self.parent.link then
|
||||
quality = select(3, GetItemInfo(self.parent.link))
|
||||
elseif self.parent.type == "choice" then
|
||||
quality = select(4, GetQuestLogChoiceInfo(self.parent:GetID()))
|
||||
end
|
||||
|
||||
if quality then
|
||||
local r, g, b = GetItemQualityColor(quality)
|
||||
|
||||
self.parent:SetBackdropBorderColor(r, g, b)
|
||||
self.parent.backdrop:SetBackdropBorderColor(r, g, b)
|
||||
|
||||
self.parent.text:SetTextColor(r, g, b)
|
||||
else
|
||||
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
self.parent.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
|
||||
self.parent.text:SetTextColor(1, 1, 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local items = {
|
||||
["QuestGuru_QuestHistoryItem"] = 10,
|
||||
}
|
||||
for frame, numItems in pairs(items) do
|
||||
for i = 1, numItems do
|
||||
local item = _G[frame..i]
|
||||
local icon = _G[frame..i.."IconTexture"]
|
||||
local count = _G[frame..i.."Count"]
|
||||
|
||||
item:StripTextures()
|
||||
item:SetTemplate("Default")
|
||||
item:StyleButton()
|
||||
item:Size(143, 40)
|
||||
item:SetFrameLevel(item:GetFrameLevel() + 2)
|
||||
|
||||
icon:Size(E.PixelMode and 38 or 32)
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
|
||||
S:HandleIcon(icon)
|
||||
|
||||
item.text = _G[frame..i.."Name"]
|
||||
icon.parent = item
|
||||
hooksecurefunc(icon, "SetTexture", updateItemQuality)
|
||||
|
||||
count:SetParent(item.backdrop)
|
||||
count:SetDrawLayer("OVERLAY")
|
||||
end
|
||||
end
|
||||
|
||||
do -- Fonts
|
||||
local function fixFontColor(obj, r, g, b)
|
||||
obj:SetTextColor(r, g, b)
|
||||
obj.SetTextColor = E.noop
|
||||
end
|
||||
|
||||
fixFontColor(QuestGuru_QuestHistoryQuestTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjectivesText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryTimerText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective1, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective2, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective3, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective4, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective5, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective6, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective7, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective8, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective9, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryObjective10, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryRequiredMoneyText, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistorySuggestedGroupNum, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryDescriptionTitle, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestHistoryQuestDescription, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryRewardTitleText, 1, 0.8, 0.1)
|
||||
fixFontColor(QuestGuru_QuestHistoryItemChooseText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryItemReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistorySpellLearnText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryPlayerTitleText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryXPText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryRepText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryStartLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryStartPos, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryStartNPCName, 0.4, 0.8, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryFinishLabel, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryFinishPos, 0.6, 0.6, 0.6)
|
||||
fixFontColor(QuestGuru_QuestHistoryFinishNPCName, 0.4, 0.8, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryHonorFrameReceiveText, 1, 1, 1)
|
||||
fixFontColor(QuestGuru_QuestHistoryTalentFrameReceiveText, 1, 1, 1)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,445 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("QuestGuru_Tracker") then return end
|
||||
|
||||
-- QuestGuru_Tracker 1.4.4
|
||||
|
||||
S:AddCallbackForAddon("QuestGuru_Tracker", "QuestGuru_Tracker", function()
|
||||
if not E.private.addOnSkins.QuestGuru_Tracker then return end
|
||||
|
||||
E:GetModule("Tooltip"):SetStyle(QGT_QuestWatchFrameTooltip)
|
||||
QGT_QuestWatchFrameTooltip.SetBackdropColor = E.noop
|
||||
QGT_QuestWatchFrameTooltip.SetBackdropBorderColor = E.noop
|
||||
|
||||
QGT_QuestWatchFrame:SetBackdrop(nil)
|
||||
QGT_QuestWatchFrame:CreateBackdrop(QGT_Settings.ShowBorder and "Transparent" or "NoBackdrop")
|
||||
QGT_QuestWatchFrame:SetHitRectInsets(0, 0, 0, 0)
|
||||
QGT_QuestWatchFrameBackground:Hide()
|
||||
|
||||
QGT_AchievementWatchFrame:SetBackdrop(nil)
|
||||
QGT_AchievementWatchFrame:CreateBackdrop(QGT_Settings.ShowBorder and "Transparent" or "NoBackdrop")
|
||||
QGT_AchievementWatchFrame:SetHitRectInsets(0, 0, 0, 0)
|
||||
QGT_AchievementWatchFrameBackground:Hide()
|
||||
|
||||
S:HandleButton(QGT_QuestWatchFrameToggle)
|
||||
S:HandleButton(QGT_QuestWatchFrameMinimize)
|
||||
S:HandleButton(QGT_QuestWatchFrameOptions)
|
||||
S:HandleButton(QGT_AchievementWatchFrameToggle)
|
||||
S:HandleButton(QGT_AchievementWatchFrameMinimize)
|
||||
S:HandleButton(QGT_AchievementWatchFrameOptions)
|
||||
|
||||
QGT_QuestWatchFrameMinimize:Point("RIGHT", QGT_QuestWatchFrameOptions, "LEFT", -1, 0)
|
||||
QGT_QuestWatchFrameToggle:Point("RIGHT", QGT_QuestWatchFrameMinimize, "LEFT", -2, 0)
|
||||
|
||||
QGT_AchievementWatchFrameMinimize:Point("RIGHT", QGT_AchievementWatchFrameOptions, "LEFT", -1, 0)
|
||||
QGT_AchievementWatchFrameToggle:Point("RIGHT", QGT_AchievementWatchFrameMinimize, "LEFT", -2, 0)
|
||||
|
||||
local _SetPoint = QGT_QuestWatchFrameSlider.SetPoint
|
||||
local function sliderSetPoint(self, point)
|
||||
if point == "TOPLEFT" then
|
||||
_SetPoint(self, "TOPLEFT", -12, -17)
|
||||
else
|
||||
_SetPoint(self, "TOPRIGHT", 12, -17)
|
||||
end
|
||||
end
|
||||
|
||||
S:HandleSliderFrame(QGT_QuestWatchFrameSlider)
|
||||
QGT_QuestWatchFrameSlider.SetPoint = sliderSetPoint
|
||||
|
||||
S:HandleSliderFrame(QGT_AchievementWatchFrameSlider)
|
||||
QGT_AchievementWatchFrameSlider.SetPoint = sliderSetPoint
|
||||
|
||||
local function skinOptions(f)
|
||||
for i = 1, f:GetNumChildren() do
|
||||
local child = select(i, f:GetChildren())
|
||||
if child then
|
||||
if child:IsObjectType("CheckButton") then
|
||||
S:HandleCheckBox(child)
|
||||
elseif child:IsObjectType("EditBox") then
|
||||
S:HandleEditBox(child)
|
||||
elseif child:IsObjectType("Button") then
|
||||
S:HandleButton(child)
|
||||
elseif child:IsObjectType("Slider") then
|
||||
S:HandleSliderFrame(child)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
skinOptions(QGT_OptionsFrameTracker)
|
||||
|
||||
for i = 1, 40 do
|
||||
local frame = _G["QGT_AchievementWatchLine"..i]
|
||||
local icon = _G["QGT_AchievementWatchLine"..i.."Icon"]
|
||||
|
||||
icon:Size(14)
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
frame.statusBar:StripTextures()
|
||||
frame.statusBar:CreateBackdrop("Transparent")
|
||||
|
||||
frame.statusBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(frame.statusBar)
|
||||
end
|
||||
|
||||
do
|
||||
local alpha = QGT_Settings.Alpha
|
||||
local backdropR, backdropG, backdropB = unpack(E.media.backdropfadecolor, 1, 3)
|
||||
local borderR, borderG, borderB = unpack(E.media.bordercolor, 1, 3)
|
||||
|
||||
QGT_QuestWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
|
||||
QGT_QuestWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
|
||||
QGT_AchievementWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
|
||||
QGT_AchievementWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
|
||||
end
|
||||
|
||||
QGT_SetQuestWatchBorder = function(enabled)
|
||||
if enabled then
|
||||
QGT_QuestWatchFrame.backdrop:SetTemplate("Transparent", nil, true)
|
||||
else
|
||||
QGT_QuestWatchFrame.backdrop:SetTemplate("NoBackdrop", nil, true)
|
||||
end
|
||||
end
|
||||
|
||||
QGT_SetAchievementWatchBorder = function(enabled)
|
||||
if enabled then
|
||||
QGT_AchievementWatchFrame.backdrop:SetTemplate("Transparent", nil, true)
|
||||
else
|
||||
QGT_AchievementWatchFrame.backdrop:SetTemplate("NoBackdrop", nil, true)
|
||||
end
|
||||
end
|
||||
|
||||
QGT_OptionsFrameTrackerAlpha:SetScript("OnValueChanged", function(self)
|
||||
local alpha = self:GetValue()
|
||||
local backdropR, backdropG, backdropB = unpack(E.media.backdropfadecolor, 1, 3)
|
||||
local borderR, borderG, borderB = unpack(E.media.bordercolor, 1, 3)
|
||||
|
||||
QGT_Settings.Alpha = alpha
|
||||
|
||||
QGT_QuestWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
|
||||
QGT_QuestWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
|
||||
QGT_AchievementWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
|
||||
QGT_AchievementWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
|
||||
|
||||
QGT_OptionsFrameTrackerAlphaText:SetFormattedText("%s (%d%%)", QG_OPT_TRACKER_ALPHA, math.abs(math.ceil(alpha * 100 - 0.5)))
|
||||
end)
|
||||
|
||||
local skinnedButtons = 0
|
||||
hooksecurefunc("QGT_QuestWatch_Update", function()
|
||||
local questItemIcons = QGT_Settings.QuestItemIcons
|
||||
|
||||
if questItemIcons or QGT_WATCHFRAME_NUM_ITEMS > skinnedButtons then
|
||||
local leftSide = (QGT_Settings.QuestWatch.Left * QGT_Settings.Scale) < 32
|
||||
local sliderVisible = QGT_QuestWatchFrameSlider:GetAlpha() > 0
|
||||
local sliderRightVisible = sliderVisible and ((QGT_Settings.QuestWatch.Left + 256) * QGT_Settings.Scale) > (UIParent:GetWidth() - 16)
|
||||
|
||||
for i = questItemIcons and 1 or skinnedButtons + 1, QGT_WATCHFRAME_NUM_ITEMS do
|
||||
local button = _G["WatchFrameItem"..i]
|
||||
|
||||
if button then
|
||||
if not button.isSkinned then
|
||||
local icon = _G["WatchFrameItem"..i.."IconTexture"]
|
||||
local normal = _G["WatchFrameItem"..i.."NormalTexture"]
|
||||
local cooldown = _G["WatchFrameItem"..i.."Cooldown"]
|
||||
|
||||
button:CreateBackdrop()
|
||||
button.backdrop:SetAllPoints()
|
||||
button:StyleButton()
|
||||
button:Size(25)
|
||||
|
||||
normal:SetAlpha(0)
|
||||
|
||||
icon:SetInside()
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
E:RegisterCooldown(cooldown)
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
|
||||
if questItemIcons then
|
||||
local _, watchText = button:GetPoint()
|
||||
|
||||
if leftSide then
|
||||
if sliderVisible then
|
||||
button:Point("TOPLEFT", watchText, "TOPRIGHT", 19, 0)
|
||||
else
|
||||
button:Point("TOPLEFT", watchText, "TOPRIGHT", 8, 0)
|
||||
end
|
||||
else
|
||||
if sliderRightVisible then
|
||||
button:Point("TOPRIGHT", watchText, "TOPLEFT", -19, 0)
|
||||
else
|
||||
button:Point("TOPRIGHT", watchText, "TOPLEFT", -8, 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
skinnedButtons = QGT_WATCHFRAME_NUM_ITEMS
|
||||
end
|
||||
end)
|
||||
|
||||
do -- Fixes
|
||||
local _G = _G
|
||||
local tonumber = tonumber
|
||||
local len, sub = string.len, string.sub
|
||||
|
||||
local ChatEdit_ChooseBoxForSend = ChatEdit_ChooseBoxForSend
|
||||
local GetAchievementLink = GetAchievementLink
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetQuestLink = GetQuestLink
|
||||
local GetQuestLogTitle = GetQuestLogTitle
|
||||
local IsShiftKeyDown = IsShiftKeyDown
|
||||
local QuestLog_OpenToQuest = QuestLog_OpenToQuest
|
||||
local QuestLog_SetSelection = QuestLog_SetSelection
|
||||
local RemoveTrackedAchievement = RemoveTrackedAchievement
|
||||
local WatchFrame_Update = WatchFrame_Update
|
||||
|
||||
local function questOnClick(self, button)
|
||||
local qID = self.qID
|
||||
|
||||
if button == "LeftButton" then
|
||||
if IsShiftKeyDown() then
|
||||
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
|
||||
|
||||
-- header line
|
||||
if not qID then
|
||||
if ChatFrameEditBox:IsVisible() then
|
||||
ChatFrameEditBox:Insert(self:GetText())
|
||||
end
|
||||
-- objective line
|
||||
elseif not tonumber(qID) then
|
||||
local objName = sub(self:GetText(), 3 + len(QGT_Settings.Bullet))
|
||||
local objText
|
||||
|
||||
if qID == "item" then
|
||||
local _, itemLink = GetItemInfo(objName)
|
||||
|
||||
if not itemLink then
|
||||
objText = objName
|
||||
else
|
||||
objText = itemLink
|
||||
end
|
||||
else
|
||||
objText = objName
|
||||
end
|
||||
|
||||
if ChatFrameEditBox:IsVisible() then
|
||||
ChatFrameEditBox:Insert(objText)
|
||||
end
|
||||
-- quest number
|
||||
else
|
||||
if ChatFrameEditBox:IsVisible() then
|
||||
ChatFrameEditBox:Insert(GetQuestLink(qID))
|
||||
end
|
||||
end
|
||||
else
|
||||
-- header line
|
||||
if not qID then
|
||||
local headName = self:GetText()
|
||||
if QGT_WatchHeaders[headName] then
|
||||
QGT_WatchHeaders[headName] = false
|
||||
else
|
||||
QGT_WatchHeaders[headName] = true
|
||||
end
|
||||
|
||||
WatchFrame_Update()
|
||||
-- objective line
|
||||
elseif not tonumber(qID) then
|
||||
local objName = sub(self:GetText(), 3 + len(QGT_Settings.Bullet))
|
||||
if qID == "item" then
|
||||
local _, itemLink = GetItemInfo(objName)
|
||||
if itemLink then
|
||||
SetItemRef(itemLink, nil, button)
|
||||
end
|
||||
end
|
||||
-- title line
|
||||
else
|
||||
QuestLog_OpenToQuest(qID)
|
||||
|
||||
if QuestGuru_QuestLogFrame then
|
||||
QuestGuru_QuestLogFrame:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif button == "RightButton" then
|
||||
if IsShiftKeyDown() then
|
||||
if qID and tonumber(qID) then
|
||||
QuestLog_SetSelection(qID, button)
|
||||
QuestLog_Update()
|
||||
ToggleDropDownMenu(1, nil, QGT_QuestWatchTitleMenu, self:GetName(), 0, 0)
|
||||
end
|
||||
else
|
||||
-- header line
|
||||
if not qID then
|
||||
local headName = self:GetText()
|
||||
if QGT_WatchHeaders[headName] then
|
||||
QGT_WatchHeaders[headName] = false
|
||||
else
|
||||
QGT_WatchHeaders[headName] = true
|
||||
end
|
||||
|
||||
WatchFrame_Update()
|
||||
-- title line
|
||||
elseif tonumber(qID) then
|
||||
local qName = GetQuestLogTitle(qID)
|
||||
|
||||
if QGT_WatchQuests[qName] then
|
||||
QGT_WatchQuests[qName] = false
|
||||
else
|
||||
QGT_WatchQuests[qName] = true
|
||||
end
|
||||
|
||||
WatchFrame_Update()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
QGT_ShowQuestTrackerSlider(true)
|
||||
end
|
||||
|
||||
local function achievementOnClick(self)
|
||||
if self.achievementID then
|
||||
if IsShiftKeyDown() then
|
||||
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
|
||||
|
||||
if ChatFrameEditBox:IsVisible() then
|
||||
ChatFrameEditBox:Insert(GetAchievementLink(self.achievementID))
|
||||
else
|
||||
RemoveTrackedAchievement(self.achievementID)
|
||||
end
|
||||
else
|
||||
if not AchievementFrame then
|
||||
AchievementFrame_LoadUI()
|
||||
end
|
||||
|
||||
if not AchievementFrame:IsShown() then
|
||||
AchievementFrame_ToggleAchievementFrame()
|
||||
AchievementFrame_SelectAchievement(self.achievementID)
|
||||
elseif AchievementFrameAchievements.selection ~= self.achievementID then
|
||||
AchievementFrame_SelectAchievement(self.achievementID)
|
||||
else
|
||||
AchievementFrame_ToggleAchievementFrame()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local frame1, frame2
|
||||
for i = 1, 40 do
|
||||
frame1 = _G["QGT_QuestWatchLine"..i]
|
||||
frame2 = _G["QGT_AchievementWatchLine"..i]
|
||||
|
||||
if frame1 then
|
||||
frame1:SetScript("OnClick", questOnClick)
|
||||
end
|
||||
if frame2 then
|
||||
frame2:SetScript("OnClick", achievementOnClick)
|
||||
end
|
||||
end
|
||||
|
||||
QGT_QuestWatchButton_OnClick = questOnClick
|
||||
end
|
||||
|
||||
do -- Adjustments
|
||||
local function updateQuestHeader(flag)
|
||||
if flag then
|
||||
local width = 20
|
||||
|
||||
QGT_QuestWatchQuestName:ClearAllPoints()
|
||||
QGT_QuestWatchNumQuests:ClearAllPoints()
|
||||
|
||||
if QGT_QuestWatchFrameToggle:IsShown() then
|
||||
width = width + 60
|
||||
QGT_QuestWatchNumQuests:Point("TOPRIGHT", -60, -6)
|
||||
else
|
||||
width = width + 42
|
||||
QGT_QuestWatchNumQuests:Point("TOPRIGHT", -42, -6)
|
||||
end
|
||||
|
||||
QGT_QuestWatchQuestName:Point("RIGHT", QGT_QuestWatchNumQuests, "LEFT", -12, 0)
|
||||
|
||||
-- width = width + QGT_QuestWatchQuestName:GetWidth() + QGT_QuestWatchNumQuests:GetWidth()
|
||||
width = width + QGT_QuestWatchQuestName:GetWidth() + 32
|
||||
|
||||
QGT_QuestWatchFrame.backdrop:ClearAllPoints()
|
||||
QGT_QuestWatchFrame.backdrop:Point("TOPRIGHT", 1, 1)
|
||||
QGT_QuestWatchFrame.backdrop:Point("BOTTOMLEFT", QGT_QuestWatchFrame:GetWidth() - width, 1)
|
||||
else
|
||||
QGT_QuestWatchFrame.backdrop:ClearAllPoints()
|
||||
QGT_QuestWatchFrame.backdrop:Point("TOPLEFT", -1, 1)
|
||||
QGT_QuestWatchFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
|
||||
|
||||
QGT_QuestWatchQuestName:ClearAllPoints()
|
||||
QGT_QuestWatchQuestName:Point("TOPLEFT", 8, -6)
|
||||
|
||||
QGT_QuestWatchNumQuests:ClearAllPoints()
|
||||
QGT_QuestWatchNumQuests:Point("LEFT", QGT_QuestWatchQuestName, "RIGHT", 12, 0)
|
||||
end
|
||||
end
|
||||
local function updateAchievemtHeader(flag)
|
||||
if flag then
|
||||
local width = 20
|
||||
|
||||
QGT_AchievementWatchName:ClearAllPoints()
|
||||
QGT_AchievementWatchNum:ClearAllPoints()
|
||||
|
||||
if QGT_AchievementWatchFrameToggle:IsShown() then
|
||||
width = width + 60
|
||||
QGT_AchievementWatchNum:Point("TOPRIGHT", -60, -6)
|
||||
else
|
||||
width = width + 42
|
||||
QGT_AchievementWatchNum:Point("TOPRIGHT", -42, -6)
|
||||
end
|
||||
|
||||
QGT_AchievementWatchName:Point("RIGHT", QGT_AchievementWatchNum, "LEFT", -12, 0)
|
||||
|
||||
-- width = width + QGT_AchievementWatchName:GetWidth() + QGT_AchievementWatchNum:GetWidth()
|
||||
width = width + QGT_AchievementWatchName:GetWidth() + 8
|
||||
|
||||
QGT_AchievementWatchFrame.backdrop:ClearAllPoints()
|
||||
QGT_AchievementWatchFrame.backdrop:Point("TOPRIGHT", 1, 1)
|
||||
QGT_AchievementWatchFrame.backdrop:Point("BOTTOMLEFT", QGT_AchievementWatchFrame:GetWidth() - width, 1)
|
||||
else
|
||||
QGT_AchievementWatchFrame.backdrop:ClearAllPoints()
|
||||
QGT_AchievementWatchFrame.backdrop:Point("TOPLEFT", -1, 1)
|
||||
QGT_AchievementWatchFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
|
||||
|
||||
QGT_AchievementWatchName:ClearAllPoints()
|
||||
QGT_AchievementWatchName:Point("TOPLEFT", 8, -6)
|
||||
|
||||
QGT_AchievementWatchNum:ClearAllPoints()
|
||||
QGT_AchievementWatchNum:Point("LEFT", QGT_AchievementWatchName, "RIGHT", 12, 0)
|
||||
end
|
||||
end
|
||||
|
||||
QGT_QuestWatchFrameToggle:HookScript("OnClick", function()
|
||||
updateAchievemtHeader(QGT_Settings.AchievementWatch.Minimized)
|
||||
end)
|
||||
QGT_AchievementWatchFrameToggle:HookScript("OnClick", function()
|
||||
updateQuestHeader(QGT_Settings.QuestWatch.Minimized)
|
||||
end)
|
||||
|
||||
QGT_QuestWatchFrameMinimize:HookScript("OnClick", function(self, button)
|
||||
if button == "LeftButton" then
|
||||
updateQuestHeader(QGT_Settings.QuestWatch.Minimized)
|
||||
end
|
||||
end)
|
||||
QGT_AchievementWatchFrameMinimize:HookScript("OnClick", function(self, button)
|
||||
if button == "LeftButton" then
|
||||
updateAchievemtHeader(QGT_Settings.AchievementWatch.Minimized)
|
||||
end
|
||||
end)
|
||||
|
||||
if QGT_Settings.QuestWatch.Minimized then
|
||||
updateQuestHeader(true)
|
||||
end
|
||||
if QGT_Settings.AchievementWatch.Minimized then
|
||||
updateAchievemtHeader(true)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,140 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("RCLootCouncil") then return end
|
||||
|
||||
-- RCLootCouncil 2.0.4
|
||||
-- https://github.com/ajseward/RcLootCouncil-Wotlk
|
||||
|
||||
S:AddCallbackForAddon("RCLootCouncil", "RCLootCouncil", function()
|
||||
if not E.private.addOnSkins.RCLootCouncil then return end
|
||||
|
||||
local addon = LibStub("AceAddon-3.0"):GetAddon("RCLootCouncil", true)
|
||||
if not addon then return end
|
||||
|
||||
AS:SkinLibrary("DropDownMenu")
|
||||
AS:SkinLibrary("LibDialog-1.0")
|
||||
AS:SkinLibrary("ScrollingTable")
|
||||
|
||||
S:RawHook(addon, "CreateFrame", function(self, ...)
|
||||
local frame = S.hooks[self].CreateFrame(self, ...)
|
||||
|
||||
frame:SetScale(UIParent:GetScale())
|
||||
frame.title:SetTemplate("Default")
|
||||
frame.content:SetTemplate("Transparent")
|
||||
|
||||
frame.title:SetFrameLevel(frame:GetFrameLevel() + 3)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:RawHook(addon, "CreateButton", function(self, ...)
|
||||
local button = S.hooks[self].CreateButton(self, ...)
|
||||
|
||||
S:HandleButton(button)
|
||||
|
||||
return button
|
||||
end)
|
||||
|
||||
local function updateTexCoord(self)
|
||||
local normalTexture = self:GetNormalTexture()
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
end
|
||||
|
||||
local function skinIconButton(button)
|
||||
button:SetTemplate()
|
||||
button:StyleButton(nil, true, true)
|
||||
button:GetNormalTexture():SetDrawLayer("ARTWORK")
|
||||
hooksecurefunc(button, "SetNormalTexture", updateTexCoord)
|
||||
end
|
||||
|
||||
local votingFrame = addon:GetModule("RCVotingFrame", true)
|
||||
if votingFrame then
|
||||
local function moreInfoSetTexture(self, texture)
|
||||
local normalTexture = self:GetNormalTexture()
|
||||
local pushedTexture = self:GetPushedTexture()
|
||||
|
||||
local arrowDir = texture == "Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Up" and "left" or "right"
|
||||
normalTexture:SetRotation(S.ArrowRotation[arrowDir])
|
||||
pushedTexture:SetRotation(S.ArrowRotation[arrowDir])
|
||||
end
|
||||
|
||||
local function setBackdropBorderColor(self, r, g, b)
|
||||
if r == 1 and g == 1 and b == 1 then
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
|
||||
S:RawHook(votingFrame, "GetFrame", function(self, ...)
|
||||
local frame = S.hooks[self].GetFrame(self, ...)
|
||||
S:Unhook(self, "GetFrame")
|
||||
|
||||
skinIconButton(frame.itemIcon)
|
||||
|
||||
S:HandleNextPrevButton(frame.moreInfoBtn, "right")
|
||||
|
||||
frame.moreInfoBtn.SetNormalTexture = moreInfoSetTexture
|
||||
frame.moreInfoBtn.SetPushedTexture = E.noop
|
||||
|
||||
E:GetModule("Tooltip"):HookScript(frame.moreInfo, "OnShow", "SetStyle")
|
||||
|
||||
frame.filter:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
frame.filter:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:RawHook(votingFrame, "UpdateSessionButton", function(self, ...)
|
||||
local button = S.hooks[self].UpdateSessionButton(self, ...)
|
||||
|
||||
if not button.isSkinned then
|
||||
hooksecurefunc(button, "SetBackdropBorderColor", setBackdropBorderColor)
|
||||
skinIconButton(button)
|
||||
button.SetBackdrop = E.noop
|
||||
button.isSkinned = true
|
||||
end
|
||||
|
||||
return button
|
||||
end)
|
||||
end
|
||||
|
||||
local lootFrame = addon:GetModule("RCLootFrame", true)
|
||||
if lootFrame then
|
||||
local function updateTexCoord(self)
|
||||
self.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
S:RawHook(lootFrame, "GetEntry", function(self, ...)
|
||||
local frame = S.hooks[self].GetEntry(self, ...)
|
||||
|
||||
frame:SetTemplate("Transparent")
|
||||
skinIconButton(frame.icon)
|
||||
hooksecurefunc(frame, "Show", updateTexCoord)
|
||||
|
||||
return frame
|
||||
end)
|
||||
end
|
||||
|
||||
local sessionFrame = addon:GetModule("RCSessionFrame", true)
|
||||
if sessionFrame then
|
||||
S:RawHook(sessionFrame, "GetFrame", function(self, ...)
|
||||
local frame = S.hooks[self].GetFrame(self, ...)
|
||||
S:Unhook(self, "GetFrame")
|
||||
|
||||
S:HandleCheckBox(frame.toggle)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
S:SecureHook(sessionFrame, "SetCellItemIcon", function(_, frame)
|
||||
frame:SetTemplate()
|
||||
frame:StyleButton(nil, true, true)
|
||||
local normalTexture = frame:GetNormalTexture()
|
||||
normalTexture:SetDrawLayer("ARTWORK")
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,87 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("SatrinaBuffFrame") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
|
||||
-- SatrinaBuffFrame 3.1.20
|
||||
|
||||
S:AddCallbackForAddon("SatrinaBuffFrame", "SatrinaBuffFrame", function()
|
||||
if not E.private.addOnSkins.SatrinaBuffFrame then return end
|
||||
|
||||
local SBF = LibStub("AceAddon-3.0"):GetAddon("SBF", true)
|
||||
if not SBF then return end
|
||||
|
||||
local function skinIcon(frame)
|
||||
if frame.isSkinned then return end
|
||||
|
||||
frame.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
frame.icon:CreateBackdrop("Default")
|
||||
|
||||
frame.border:Kill()
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
local function skinBar(frame)
|
||||
if frame.isSkinned then return end
|
||||
|
||||
frame:SetFrameLevel(frame:GetFrameLevel() + 1)
|
||||
frame:StripTextures()
|
||||
frame:CreateBackdrop("Transparent")
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
do
|
||||
local iconCount = 0
|
||||
local barCount = 0
|
||||
|
||||
for _, frame in ipairs(SBF.frames) do
|
||||
for _, slot in ipairs(frame.slots) do
|
||||
if slot.icon then
|
||||
skinIcon(slot.icon)
|
||||
iconCount = iconCount + 1
|
||||
end
|
||||
if slot.bar then
|
||||
skinBar(slot.bar)
|
||||
barCount = barCount + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local i = iconCount + 1
|
||||
local frame = _G["SBFBuffIcon"..i]
|
||||
|
||||
while frame do
|
||||
skinIcon(frame)
|
||||
i = i + 1
|
||||
frame = _G["SBFBuffIcon"..i]
|
||||
end
|
||||
|
||||
i = barCount + 1
|
||||
frame = _G["SBFBuffBar"..i]
|
||||
|
||||
while frame do
|
||||
skinBar(frame)
|
||||
i = i + 1
|
||||
frame = _G["SBFBuffBar"..i]
|
||||
end
|
||||
end
|
||||
|
||||
S:RawHook(SBF, "GetIcon", function(self)
|
||||
local element = S.hooks[SBF].GetIcon(self)
|
||||
skinIcon(element)
|
||||
return element
|
||||
end)
|
||||
|
||||
S:RawHook(SBF, "GetBar", function(self)
|
||||
local element = S.hooks[SBF].GetBar(self)
|
||||
skinBar(element)
|
||||
return element
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,22 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("SlideBar") then return end
|
||||
|
||||
-- SlideBar 5.8.4723
|
||||
-- https://www.curseforge.com/wow/addons/auctionator/files/426882
|
||||
|
||||
S:AddCallbackForAddon("SlideBar", "SlideBar", function()
|
||||
if not E.private.addOnSkins.SlideBar then return end
|
||||
|
||||
local lib = LibStub("SlideBar", true)
|
||||
if not lib then return end
|
||||
|
||||
lib.frame:SetTemplate("Transparent")
|
||||
|
||||
local TT = E:GetModule("Tooltip")
|
||||
hooksecurefunc(lib, "SetTip", function(self)
|
||||
TT:SetStyle(self.tooltip)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,313 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("WIM") then return end
|
||||
|
||||
local format = string.format
|
||||
|
||||
-- WIM 3.3.7
|
||||
-- https://www.wowace.com/projects/wim-3/files/439176
|
||||
|
||||
S:AddCallbackForAddon("WIM", "WIM", function()
|
||||
if not E.private.addOnSkins.WIM then return end
|
||||
|
||||
local function formatDetails(window, guild, level, race, class)
|
||||
if guild == "" then
|
||||
return format("|cffffffff %s %s %s|r", level, race, class)
|
||||
else
|
||||
return format("|cffffffff<%s> %s %s %s|r", guild, level, race, class)
|
||||
end
|
||||
end
|
||||
|
||||
local WIM_Elvui = {
|
||||
title = "WIM ElvUI",
|
||||
version = "1.0.0",
|
||||
author = "Divico",
|
||||
website = "",
|
||||
message_window = {
|
||||
texture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\message_window",
|
||||
min_width = 256,
|
||||
min_height = 128,
|
||||
backdrop = {
|
||||
top_left = {
|
||||
width = 64,
|
||||
height = 64,
|
||||
offset = {0, 0},
|
||||
texture_coord = {0, 0, 0, .25, .25, 0, .25, .25}
|
||||
},
|
||||
top_right = {
|
||||
width = 64,
|
||||
height = 64,
|
||||
offset = {0, 0},
|
||||
texture_coord = {.75, 0, .75, .25, 1, 0, 1, .25}
|
||||
},
|
||||
bottom_left = {
|
||||
width = 64,
|
||||
height = 64,
|
||||
offset = {0, 0},
|
||||
texture_coord = {0, .75, 0, 1, .25, .75, .25, 1}
|
||||
},
|
||||
bottom_right = {
|
||||
width = 64,
|
||||
height = 64,
|
||||
offset = {0, 0},
|
||||
texture_coord = {.75, .75, .75, 1, 1, .75, 1, 1}
|
||||
},
|
||||
top = {
|
||||
tile = false,
|
||||
texture_coord = {.25, 0, .25, .25, .75, 0, .75, .25}
|
||||
},
|
||||
bottom = {
|
||||
tile = false,
|
||||
texture_coord = {.25, .75, .25, 1, .75, .75, .75, 1}
|
||||
},
|
||||
left = {
|
||||
tile = false,
|
||||
texture_coord = {0, .25, 0, .75, .25, .25, .25, .75}
|
||||
},
|
||||
right = {
|
||||
tile = false,
|
||||
texture_coord = {.75, .25, .75, .75, 1, .25, 1, .75}
|
||||
},
|
||||
background = {
|
||||
tile = false,
|
||||
texture_coord = {.25, .25, .25, .75, .75, .25, .75, .75}
|
||||
}
|
||||
},
|
||||
widgets = {
|
||||
class_icon = {
|
||||
texture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\class_icons",
|
||||
chatAlphaMask = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\chatAlphaMask",
|
||||
width = 16, -- 64
|
||||
height = 16, -- 64
|
||||
points = {
|
||||
{"TOPLEFT", "window", "TOPLEFT", 4, -4} -- "TOPLEFT", "window", "TOPLEFT", -10, 12
|
||||
},
|
||||
is_round = false, -- true
|
||||
blank = {.5, .5, .5, .75, .75, .5, .75, .75},
|
||||
druid = {0, 0, 0, .25, .25, 0, .25, .25},
|
||||
hunter = {.25, 0, .25, .25, .5, 0, .5, .25},
|
||||
mage = {.5, 0, .5, .25, .75, 0, .75, .25},
|
||||
paladin = {.75, 0, .75, .25, 1, 0, 1, .25},
|
||||
priest = {0, .25, 0, .5, .25, .25, .25, .5},
|
||||
rogue = {.25, .25, .25, .5, .5, .25, .5, .5},
|
||||
shaman = {.5, .25, .5, .5, .75, .25, .75, .5},
|
||||
warlock = {.75, .25, .75, .5, 1, .25, 1, .5},
|
||||
warrior = {0, .5, 0, .75, .25, .5, .25, .75},
|
||||
deathknight = {.75, .5, .75, .75, 1, .5, 1, .75},
|
||||
gm = {.25, .5, .25, .75, .5, .5, .5, .75}
|
||||
},
|
||||
from = {
|
||||
points = {
|
||||
{"TOPLEFT", "window", "TOPLEFT", 24, -7} -- "TOPLEFT", "window", "TOPLEFT", 50, -8
|
||||
},
|
||||
font = "FriendsFont_Normal", -- GameFontNormalLarge
|
||||
font_color = "ffffff",
|
||||
font_height = 11, -- 16
|
||||
font_flags = "",
|
||||
use_class_color = true
|
||||
},
|
||||
char_info = {
|
||||
format = formatDetails,
|
||||
points = {
|
||||
{"TOPRIGHT", "window", "TOPRIGHT", -25, -7} -- "TOP", "window", "TOP", 0, -30
|
||||
},
|
||||
font = "FriendsFont_Normal", -- GameFontNormal
|
||||
font_color = "1883d1" -- ffffff
|
||||
},
|
||||
close = {
|
||||
state_hide = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\hide",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\hide_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD"
|
||||
},
|
||||
state_close = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\close",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\close_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD"
|
||||
},
|
||||
width = 16, -- 32
|
||||
height = 16, -- 32
|
||||
points = {
|
||||
{"TOPRIGHT", "window", "TOPRIGHT", -4, -4} -- "TOPRIGHT", "window", "TOPRIGHT", 4, 1
|
||||
}
|
||||
},
|
||||
history = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\history",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\history_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD",
|
||||
width = 16, -- 18
|
||||
height = 16, -- 18
|
||||
points = {
|
||||
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 44} -- "TOPRIGHT", "window", "TOPRIGHT", -28, -6
|
||||
}
|
||||
},
|
||||
w2w = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
|
||||
HighlightAlphaMode = "ADD",
|
||||
points = {
|
||||
{"TOPLEFT", "class_icon", 14, -14},
|
||||
{"BOTTOMRIGHT", "class_icon", -14, 14}
|
||||
}
|
||||
},
|
||||
chat_info = {
|
||||
NormalTexture = "",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\w2w",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\w2w",
|
||||
HighlightAlphaMode = "ADD",
|
||||
points = {
|
||||
{"TOPLEFT", "class_icon", 14, -14},
|
||||
{"BOTTOMRIGHT", "class_icon", -14, 14}
|
||||
}
|
||||
},
|
||||
chatting = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\chatting",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\chatting",
|
||||
width = 16,
|
||||
height = 16,
|
||||
points = {
|
||||
{"TOPLEFT", "window", -3, -23} -- "TOPLEFT", "window", 45, -28
|
||||
}
|
||||
},
|
||||
scroll_up = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_up",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_up_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_disabled",
|
||||
HighlightAlphaMode = "ADD",
|
||||
width = 16, -- 32
|
||||
height = 16, -- 32
|
||||
points = {
|
||||
{"TOPRIGHT", "window", "TOPRIGHT", -3, -23} -- "TOPRIGHT", "window", "TOPRIGHT", -4, -39
|
||||
}
|
||||
},
|
||||
scroll_down = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_down",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_down_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_disabled",
|
||||
HighlightAlphaMode = "ADD",
|
||||
width = 16, -- 32
|
||||
height = 16, -- 32
|
||||
points = {
|
||||
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 27} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -4, 24
|
||||
}
|
||||
},
|
||||
chat_display = {
|
||||
points = {
|
||||
{"TOPLEFT", "window", "TOPLEFT", 4, -24}, -- "TOPLEFT", "window", "TOPLEFT", 24, -46
|
||||
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -22, 27} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -38, 39
|
||||
},
|
||||
font = "FriendsFont_UserText", -- ChatFontNormal
|
||||
font_height = 12,
|
||||
font_flags = ""
|
||||
},
|
||||
msg_box = {
|
||||
font = "FriendsFont_UserText", -- ChatFontNormal
|
||||
font_height = 14,
|
||||
font_color = {1,1,1},
|
||||
points = {
|
||||
{"TOPLEFT", "window", "BOTTOMLEFT", 6, 25}, -- "TOPLEFT", "window", "BOTTOMLEFT", 24, 30
|
||||
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 1} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -10, 4
|
||||
}
|
||||
},
|
||||
resize = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
|
||||
HighlightAlphaMode = "ADD",
|
||||
width = 16, -- 25
|
||||
height = 16, -- 25
|
||||
points = {
|
||||
{"BOTTOMLEFT", "window", "BOTTOMRIGHT", -16, 0} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", 5, -5
|
||||
}
|
||||
},
|
||||
shortcuts = {
|
||||
stack = "DOWN",
|
||||
spacing = 1, -- 2
|
||||
points = {
|
||||
{"TOPLEFT", "window", "TOPRIGHT", -19, -40}, -- "TOPLEFT", "window", "TOPRIGHT", -30, -70
|
||||
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 105} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -8, 55
|
||||
},
|
||||
buttons = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_frame",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_pushed",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD",
|
||||
icons = {
|
||||
location = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\location",
|
||||
invite = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\invite",
|
||||
friend = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\friend",
|
||||
ignore = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\ignore"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
tab_strip = {
|
||||
textures = {
|
||||
tab = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_normal",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_selected",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_flash",
|
||||
-- HighlightTexture = "Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight",
|
||||
HighlightAlphaMode = "ADD"
|
||||
},
|
||||
prev = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev_pushed",
|
||||
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD",
|
||||
height = 16, -- 20
|
||||
width = 16 -- 20
|
||||
},
|
||||
next = {
|
||||
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next",
|
||||
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next_pushed",
|
||||
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next",
|
||||
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
|
||||
HighlightAlphaMode = "ADD",
|
||||
height = 16, -- 20
|
||||
width = 16 -- 20
|
||||
}
|
||||
},
|
||||
height = 20, -- 26
|
||||
points = {
|
||||
{"BOTTOMLEFT", "window", "TOPLEFT", 18, 4}, -- "BOTTOMLEFT", "window", "TOPLEFT", 38, -4
|
||||
{"BOTTOMRIGHT", "window", "TOPRIGHT", -18, 4} -- "BOTTOMRIGHT", "window", "TOPRIGHT", -20, -4
|
||||
},
|
||||
text = {
|
||||
font = "SystemFont_Small", -- ChatFontNormal
|
||||
font_color = {1, 1, 1},
|
||||
font_height = 11, -- 12
|
||||
font_flags = ""
|
||||
},
|
||||
vertical = false
|
||||
}
|
||||
}
|
||||
|
||||
local function ApplySkin(self)
|
||||
self.db.skin.selected = "WIM ElvUI"
|
||||
self.RegisterSkin(WIM_Elvui)
|
||||
end
|
||||
|
||||
if WIM.db then
|
||||
ApplySkin(WIM)
|
||||
else
|
||||
hooksecurefunc(WIM, "VARIABLES_LOADED", function(self)
|
||||
ApplySkin(self)
|
||||
end)
|
||||
end
|
||||
|
||||
TutorialFrameTop.Show = E.noop
|
||||
TutorialFrameTop:Hide()
|
||||
TutorialFrameBottom.Show = E.noop
|
||||
TutorialFrameBottom:Hide()
|
||||
end)
|
||||
@@ -0,0 +1,144 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ZOMGBuffs") then return end
|
||||
|
||||
local pairs = pairs
|
||||
local unpack = unpack
|
||||
|
||||
-- ZOMGBuffs r156
|
||||
-- https://www.wowace.com/projects/zomgbuffs/files/424938
|
||||
|
||||
S:AddCallbackForAddon("ZOMGBuffs", "ZOMGBuffs", function()
|
||||
if not E.private.addOnSkins.ZOMGBuffs then return end
|
||||
|
||||
if ZOMGBuffsButton then
|
||||
ZOMGBuffsButton:SetNormalTexture(nil)
|
||||
ZOMGBuffsButton.SetNormalTexture = E.noop
|
||||
ZOMGBuffsButton:SetHighlightTexture(nil)
|
||||
ZOMGBuffsButton:SetPushedTexture(nil)
|
||||
else
|
||||
S:SecureHook(ZOMGBuffs, "OnStartup", function(self)
|
||||
self.icon:SetNormalTexture(nil)
|
||||
self.icon.SetNormalTexture = E.noop
|
||||
self.icon:SetHighlightTexture(nil)
|
||||
self.icon:SetPushedTexture(nil)
|
||||
|
||||
S:Unhook(ZOMGBuffs, "OnStartup")
|
||||
end)
|
||||
end
|
||||
|
||||
S:RawHook(ZOMGBuffs, "CreateHelpFrame", function(self)
|
||||
local frame = S.hooks[self].CreateHelpFrame(self)
|
||||
|
||||
frame:SetScale(E:Scale(0.9))
|
||||
frame:SetTemplate("Transparent")
|
||||
frame.close:StripTextures()
|
||||
S:HandleButton((frame:GetChildren()))
|
||||
|
||||
S:Unhook(ZOMGBuffs, "CreateHelpFrame")
|
||||
|
||||
return frame
|
||||
end, true)
|
||||
|
||||
AS:SkinLibrary("AceAddon-2.0")
|
||||
AS:SkinLibrary("Dewdrop-2.0")
|
||||
AS:SkinLibrary("Tablet-2.0")
|
||||
AS:SkinLibrary("ZFrame-1.0")
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("ZOMGBuffs_BlessingsManager", "ZOMGBuffs_BlessingsManager", function()
|
||||
if not E.private.addOnSkins.ZOMGBuffs then return end
|
||||
|
||||
local ZBM = ZOMGBuffs:GetModule("ZOMGBlessingsManager", true)
|
||||
if not ZBM then return end
|
||||
|
||||
S:SecureHook(ZBM, "SplitInitialize", function(self)
|
||||
local frame = self.splitframe
|
||||
|
||||
S:HandleButton(frame.autoButton)
|
||||
S:HandleCheckBox(frame.useGuild)
|
||||
|
||||
for i = 1, #frame.column do
|
||||
frame.column[i]:SetTemplate("Transparent")
|
||||
S:HandleScrollBar(frame.column[i].scroll.bar)
|
||||
|
||||
for j = 1, 10 do
|
||||
frame.column[i].list[j].icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
S:RawHook(ZBM, "CreateMainMainFrame", function(self)
|
||||
local frame = S.hooks[self].CreateMainMainFrame(self)
|
||||
|
||||
S:HandleButton(frame.configure)
|
||||
S:HandleButton(frame.help)
|
||||
S:HandleButton(frame.generate)
|
||||
S:HandleButton(frame.broadcast)
|
||||
S:HandleButton(frame.groups)
|
||||
S:HandleButton(frame.autoroles)
|
||||
|
||||
for _, button in pairs(frame.classTitle.cell) do
|
||||
button.highlightTex:SetTexture(1, 1, 1, 0.3)
|
||||
end
|
||||
|
||||
S:Unhook(ZOMGBlessingsManager, "CreateMainMainFrame")
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
local function SkinActionButton(button)
|
||||
if button.isSkinned then return end
|
||||
|
||||
button:StyleButton()
|
||||
button:SetTemplate("Default")
|
||||
button:SetNormalTexture(nil)
|
||||
button.SetNormalTexture = E.noop
|
||||
|
||||
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
button.icon:SetInside()
|
||||
button.icon:SetDrawLayer("ARTWORK")
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
|
||||
S:SecureHook(ZBM, "SplitPanelColumnPopulate", function(self, col)
|
||||
if not self.expandpanel.class then return end
|
||||
|
||||
for i in pairs(col.cell) do
|
||||
SkinActionButton(col.cell[i])
|
||||
end
|
||||
end)
|
||||
|
||||
S:SecureHook(ZBM, "DrawAll", function(self)
|
||||
if not self.configuring then return end
|
||||
|
||||
local f = self.frame
|
||||
|
||||
for i = 1, #f.row do
|
||||
for j in pairs(f.row[i].cell) do
|
||||
SkinActionButton(f.row[i].cell[j])
|
||||
end
|
||||
end
|
||||
|
||||
S:Unhook(ZBM, "DrawAll")
|
||||
end)
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("ZOMGBuffs_Log", "ZOMGBuffs_Log", function()
|
||||
if not E.private.addOnSkins.ZOMGBuffs then return end
|
||||
|
||||
local ZL = ZOMGBuffs:GetModule("ZOMGLog", true)
|
||||
if not ZL then return end
|
||||
|
||||
S:RawHook(ZL, "CreateLogFrame", function(self)
|
||||
local frame = S.hooks[self].CreateLogFrame(self)
|
||||
|
||||
S:HandleScrollBar(frame.scrollBar.slider)
|
||||
frame.scrollBar.slider:Height(24)
|
||||
|
||||
return frame
|
||||
end, true)
|
||||
end)
|
||||
@@ -0,0 +1,35 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("_NPCScan") then return end
|
||||
|
||||
-- NPCScan 3.3.5.5
|
||||
-- https://www.curseforge.com/wow/addons/npcscan/files/441050
|
||||
|
||||
S:AddCallbackForAddon("_NPCScan", "_NPCScan", function()
|
||||
if not E.private.addOnSkins._NPCScan then return end
|
||||
|
||||
_NPCScanButton:SetScale(1)
|
||||
_NPCScanButton.SetScale = E.noop
|
||||
|
||||
_NPCScanButton:StripTextures()
|
||||
_NPCScanButton:SetTemplate("Default", true)
|
||||
|
||||
_NPCScanButton:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
_NPCScanButton:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
for i = 1, _NPCScanButton:GetNumChildren() do
|
||||
local child = select(i, _NPCScanButton:GetChildren())
|
||||
if child and child:IsObjectType("Button") then
|
||||
S:HandleCloseButton(child)
|
||||
child:ClearAllPoints()
|
||||
child:Point("TOPRIGHT", _NPCScanButton, "TOPRIGHT", 4, 5)
|
||||
child:SetScale(1)
|
||||
end
|
||||
end
|
||||
|
||||
local NPCFoundText = select(4, _NPCScanButton:GetRegions())
|
||||
NPCFoundText:SetTextColor(1, 1, 1, 1)
|
||||
NPCFoundText:SetShadowOffset(1, -1)
|
||||
end)
|
||||
@@ -0,0 +1,35 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("_NPCScan.Overlay") then return end
|
||||
|
||||
-- NPCScan Overlay 3.3.5.1
|
||||
-- https://www.curseforge.com/wow/addons/npcscan-overlay/files/434851
|
||||
|
||||
S:AddCallbackForAddon("_NPCScan.Overlay", "_NPCScan.Overlay", function()
|
||||
if not E.private.addOnSkins._NPCScanOverlay then return end
|
||||
|
||||
S:HandleCheckBox(_NPCScanOverlayWorldMapToggle)
|
||||
_NPCScanOverlayWorldMapToggle:Size(24)
|
||||
|
||||
local worldMapKey = _NPCScan.Overlay.Modules.List.WorldMap.KeyParent.Key
|
||||
|
||||
worldMapKey:SetTemplate("Transparent")
|
||||
worldMapKey.Body:SetBackdrop(nil)
|
||||
worldMapKey.Body:DisableDrawLayer("BORDER")
|
||||
|
||||
local bottomPoint
|
||||
worldMapKey:SetScript("OnEnter", function(self)
|
||||
bottomPoint = not bottomPoint
|
||||
self:ClearAllPoints()
|
||||
if bottomPoint then
|
||||
self:Point("BOTTOMRIGHT", 1, -1)
|
||||
else
|
||||
self:Point("TOPRIGHT", 1, 1)
|
||||
end
|
||||
end)
|
||||
|
||||
worldMapKey:ClearAllPoints()
|
||||
worldMapKey:Point("TOPRIGHT", 1, 1)
|
||||
end)
|
||||
@@ -0,0 +1,90 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ACP") then return end
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- Addon Control Panel 3.3.7
|
||||
-- https://www.curseforge.com/wow/addons/acp/files/453071
|
||||
|
||||
S:AddCallbackForAddon("ACP", "ACP", function()
|
||||
if not E.private.addOnSkins.ACP then return end
|
||||
|
||||
S:HandleButton(GameMenuButtonAddOns)
|
||||
|
||||
ACP_AddonList:SetParent(UIParent)
|
||||
ACP_AddonList:SetFrameStrata("HIGH")
|
||||
ACP_AddonList:SetHitRectInsets(0, 0, 0, 0)
|
||||
|
||||
ACP_AddonList:StripTextures()
|
||||
ACP_AddonList:SetTemplate("Transparent")
|
||||
ACP_AddonList:Size(580, 488)
|
||||
|
||||
S:HandleCloseButton(ACP_AddonListCloseButton, ACP_AddonList)
|
||||
|
||||
S:HandleDropDownBox(ACP_AddonListSortDropDown, 145)
|
||||
ACP_AddonListSortDropDown:Point("TOPLEFT", 50, -5)
|
||||
|
||||
ACP_AddonListCollapseAll:Point("TOPLEFT", 12, -17)
|
||||
ACP_AddonListEntry1:Point("TOPLEFT", 29, -44)
|
||||
|
||||
ACP_AddonList_ScrollFrame:StripTextures()
|
||||
ACP_AddonList_ScrollFrame:SetTemplate("Transparent")
|
||||
ACP_AddonList_ScrollFrame:Size(543, 414)
|
||||
ACP_AddonList_ScrollFrame:Point("TOPLEFT", 8, -35)
|
||||
|
||||
S:HandleScrollBar(ACP_AddonList_ScrollFrameScrollBar)
|
||||
ACP_AddonList_ScrollFrameScrollBar:Point("TOPLEFT", ACP_AddonList_ScrollFrame, "TOPRIGHT", 3, -19)
|
||||
ACP_AddonList_ScrollFrameScrollBar:Point("BOTTOMLEFT", ACP_AddonList_ScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
S:HandleButton(ACP_AddonListSetButton)
|
||||
S:HandleButton(ACP_AddonListDisableAll)
|
||||
S:HandleButton(ACP_AddonListEnableAll)
|
||||
S:HandleButton(ACP_AddonList_ReloadUI)
|
||||
S:HandleButton(ACP_AddonListBottomClose)
|
||||
|
||||
S:HandleCheckBox(ACP_AddonList_NoRecurse)
|
||||
|
||||
ACP_AddonListSetButton:Point("BOTTOMLEFT", 8, 8)
|
||||
ACP_AddonListDisableAll:Point("BOTTOMLEFT", 78, 8)
|
||||
ACP_AddonListEnableAll:Point("BOTTOMLEFT", 163, 8)
|
||||
ACP_AddonList_ReloadUI:Point("BOTTOMRIGHT", -121, 8)
|
||||
ACP_AddonListBottomClose:Point("BOTTOMRIGHT", -8, 8)
|
||||
|
||||
local function collapseSetTexture(self, texture)
|
||||
if texture == "Interface\\Minimap\\UI-Minimap-ZoomInButton-Up" then
|
||||
self:_SetTexture(E.Media.Textures.Plus)
|
||||
else
|
||||
self:_SetTexture(E.Media.Textures.Minus)
|
||||
end
|
||||
end
|
||||
|
||||
local function skinCollapseIcon(frame)
|
||||
frame:SetTexture(E.Media.Textures.Minus)
|
||||
|
||||
frame._SetTexture = frame.SetTexture
|
||||
frame.SetTexture = collapseSetTexture
|
||||
end
|
||||
|
||||
local function updateCheckboxSize(self, size)
|
||||
if size == 32 then
|
||||
self:Size(24)
|
||||
else
|
||||
self:Size(20)
|
||||
end
|
||||
end
|
||||
|
||||
skinCollapseIcon(ACP_AddonListCollapseAllIcon)
|
||||
|
||||
for i = 1, 20 do
|
||||
local checkbox = _G["ACP_AddonListEntry" .. i.. "Enabled"]
|
||||
S:HandleCheckBox(checkbox)
|
||||
checkbox.SetHeight = updateCheckboxSize
|
||||
|
||||
skinCollapseIcon(_G["ACP_AddonListEntry" .. i.. "CollapseIcon"])
|
||||
|
||||
S:HandleButton(_G["ACP_AddonListEntry" .. i .. "LoadNow"])
|
||||
end
|
||||
end)
|
||||
@@ -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)
|
||||
@@ -0,0 +1,201 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("AdiBags") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local type = type
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemInfo = GetItemInfo
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
local ITEM_QUALITY_POOR = ITEM_QUALITY_POOR
|
||||
local ITEM_QUALITY_UNCOMMON = ITEM_QUALITY_UNCOMMON
|
||||
local TEXTURE_ITEM_QUEST_BANG = TEXTURE_ITEM_QUEST_BANG
|
||||
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
|
||||
|
||||
-- AdiBags 1.1 beta 7
|
||||
-- https://www.curseforge.com/wow/addons/adibags/files/452440
|
||||
|
||||
S:AddCallbackForAddon("AdiBags", "AdiBags", function()
|
||||
if not E.private.addOnSkins.AdiBags then return end
|
||||
|
||||
local AdiBags = LibStub("AceAddon-3.0"):GetAddon("AdiBags", true)
|
||||
if not AdiBags then return end
|
||||
|
||||
hooksecurefunc(AdiBags, "ResetBagPositions", function(self)
|
||||
self.db.profile.scale = 1
|
||||
self:LayoutBags()
|
||||
end)
|
||||
|
||||
local function SkinContainer(frame)
|
||||
frame:SetTemplate("Transparent")
|
||||
S:HandleCloseButton(frame.CloseButton)
|
||||
|
||||
local bagSlots = frame.HeaderLeftRegion.widgets[1].widget
|
||||
bagSlots:SetTemplate()
|
||||
bagSlots:StyleButton(nil, true)
|
||||
|
||||
local bagSlotsTex = bagSlots:GetNormalTexture()
|
||||
bagSlotsTex:SetInside()
|
||||
bagSlotsTex:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
frame.BagSlotPanel:SetTemplate("Transparent")
|
||||
|
||||
for _, bag in ipairs(frame.BagSlotPanel.buttons) do
|
||||
bag:StripTextures()
|
||||
bag:SetTemplate()
|
||||
bag:StyleButton()
|
||||
|
||||
local icon = _G[bag:GetName().."IconTexture"]
|
||||
icon:SetInside()
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
S:RawHook(AdiBags, "CreateContainerFrame", function(self, ...)
|
||||
local frame = S.hooks[self].CreateContainerFrame(self, ...)
|
||||
|
||||
SkinContainer(frame)
|
||||
|
||||
return frame
|
||||
end)
|
||||
|
||||
local qualityColors = {
|
||||
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
|
||||
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
|
||||
}
|
||||
for i = 0, 7 do
|
||||
qualityColors[i] = {GetItemQualityColor(i)}
|
||||
end
|
||||
|
||||
local LayeredRegionClass = AdiBags:GetClass("LayeredRegion")
|
||||
hooksecurefunc(LayeredRegionClass.prototype, "AddWidget", function(self, widget)
|
||||
if widget:IsObjectType("Button") then
|
||||
if widget:GetText() then
|
||||
S:HandleButton(widget)
|
||||
else
|
||||
widget:StyleButton(true, true)
|
||||
widget:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
widget:GetCheckedTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
elseif widget.editBox and widget.editBox.clearButton then
|
||||
widget.editBox:DisableDrawLayer("BACKGROUND")
|
||||
S:HandleEditBox(widget.editBox)
|
||||
|
||||
S:HandleButton(widget.editBox.clearButton)
|
||||
end
|
||||
end)
|
||||
|
||||
local function updateBorderTexture(self, texture, g, b)
|
||||
if texture == TEXTURE_ITEM_QUEST_BANG then
|
||||
self:SetAlpha(1)
|
||||
self.parent:SetBackdropBorderColor(unpack(qualityColors.questStarter))
|
||||
self.parent._itemQuality = "questStarter"
|
||||
else
|
||||
self:SetAlpha(0)
|
||||
|
||||
if texture == TEXTURE_ITEM_QUEST_BORDER then
|
||||
self.parent:SetBackdropBorderColor(unpack(qualityColors.questItem))
|
||||
self.parent._itemQuality = "questItem"
|
||||
elseif texture == "Interface\\Buttons\\UI-ActionButton-Border" then
|
||||
-- await for vertex color
|
||||
self.awaitColor = true
|
||||
|
||||
local _, _, quality = GetItemInfo(self.parent.itemId)
|
||||
if quality and quality >= ITEM_QUALITY_UNCOMMON then
|
||||
self.parent._itemQuality = quality
|
||||
elseif quality == ITEM_QUALITY_POOR and AdiBags.db.profile.dimJunk then
|
||||
self.parent._itemQuality = 1 - 0.5 * AdiBags.db.profile.qualityOpacity
|
||||
end
|
||||
|
||||
return
|
||||
elseif type(texture) == "number" then
|
||||
self.parent._itemQuality = 1
|
||||
self.parent:SetBackdropBorderColor(texture, g, b)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function updateBorderVertexColor(self, r, g, b)
|
||||
if not self.awaitColor then return end
|
||||
|
||||
self.parent:SetBackdropBorderColor(r, g, b)
|
||||
self.awaitColor = nil
|
||||
end
|
||||
|
||||
local function updateDimJunk(self, mode)
|
||||
if mode == "MOD" and AdiBags.db.profile.dimJunk then
|
||||
local alpha = 1 - 0.5 * AdiBags.db.profile.qualityOpacity
|
||||
self.parent.IconTexture:SetVertexColor(1, 1, 1, alpha)
|
||||
self._dimmed = true
|
||||
elseif self.dimmed then
|
||||
self.parent.IconTexture:SetVertexColor(1, 1, 1, 1)
|
||||
self._dimmed = nil
|
||||
end
|
||||
end
|
||||
|
||||
local function updateBorderOnHide(self)
|
||||
if not self._searchMode then
|
||||
if self._restoreBorder then
|
||||
local color = qualityColors[self.parent._itemQuality]
|
||||
self.parent:SetBackdropBorderColor(color[1], color[2], color[3], 1)
|
||||
self._restoreBorder = nil
|
||||
end
|
||||
|
||||
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
self.parent.IconTexture:SetVertexColor(1, 1, 1, 1)
|
||||
elseif self.parent._itemQuality then
|
||||
self._restoreBorder = true
|
||||
|
||||
local color = qualityColors[self.parent._itemQuality]
|
||||
if color then
|
||||
self.parent:SetBackdropBorderColor(color[1], color[2], color[3], 0.2)
|
||||
else
|
||||
color = self.parent._itemQuality
|
||||
self.parent:SetBackdropBorderColor(color, color, color, 0.2)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local ItemButtonClass = AdiBags:GetClass("ItemButton")
|
||||
hooksecurefunc(ItemButtonClass.prototype, "OnCreate", function(self)
|
||||
self.NormalTexture:SetTexture(nil)
|
||||
self:SetTemplate("Default", true)
|
||||
self:StyleButton()
|
||||
|
||||
self.IconTexture:SetInside()
|
||||
self.IconTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
self.IconTexture.SetTexCoord = E.noop
|
||||
|
||||
self.IconQuestTexture:SetInside()
|
||||
self.IconQuestTexture:SetTexture(E.Media.Textures.BagQuestIcon)
|
||||
self.IconQuestTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
self.IconQuestTexture.SetTexCoord = E.noop
|
||||
self.IconQuestTexture.parent = self
|
||||
self.IconQuestTexture.SetTexture = updateBorderTexture
|
||||
self.IconQuestTexture.SetVertexColor = updateBorderVertexColor
|
||||
self.IconQuestTexture.SetBlendMode = updateDimJunk
|
||||
hooksecurefunc(self.IconQuestTexture, "Hide", updateBorderOnHide)
|
||||
|
||||
E:RegisterCooldown(self.Cooldown)
|
||||
end)
|
||||
|
||||
hooksecurefunc(ItemButtonClass.prototype, "Update", function(self)
|
||||
if not self:CanUpdate() then return end
|
||||
|
||||
if not self.texture then
|
||||
self.IconTexture:SetTexture(nil)
|
||||
end
|
||||
end)
|
||||
|
||||
local AdiBags_SearchHighlight = AdiBags:GetModule("SearchHighlight", true)
|
||||
S:RawHook(AdiBags_SearchHighlight, "UpdateButton", function(self, event, button)
|
||||
button.IconQuestTexture._searchMode = true
|
||||
S.hooks[self].UpdateButton(self, event, button)
|
||||
button.IconQuestTexture._searchMode = nil
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,368 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("AdvancedTradeSkillWindow") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
|
||||
local GetTradeSkillListLink = GetTradeSkillListLink
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- AdvancedTradeSkillWindow 0.7.8
|
||||
-- https://www.curseforge.com/wow/addons/advanced-trade-skill-window/files/400569
|
||||
|
||||
S:AddCallbackForAddon("AdvancedTradeSkillWindow", "AdvancedTradeSkillWindow", function()
|
||||
if not E.private.addOnSkins.AdvancedTradeSkillWindow then return end
|
||||
|
||||
local scrollBars = {
|
||||
-- Main Frame
|
||||
"ATSWListScrollFrameScrollBar",
|
||||
"ATSWQueueScrollFrameScrollBar",
|
||||
-- Sorting Editor
|
||||
"ATSWCSUListScrollFrameScrollBar",
|
||||
"ATSWCSSListScrollFrameScrollBar",
|
||||
-- ShoppingList Frame
|
||||
"ATSWSLScrollFrameScrollBar",
|
||||
}
|
||||
|
||||
local buttons = {
|
||||
-- Scan
|
||||
"ATSWScanDelayFrameSkipButton",
|
||||
"ATSWScanDelayFrameAbortButton",
|
||||
-- Main Frame
|
||||
"ATSWCSButton",
|
||||
"ATSWOptionsButton",
|
||||
"ATSWQueueAllButton",
|
||||
"ATSWCreateAllButton",
|
||||
"ATSWCreateButton",
|
||||
"ATSWQueueButton",
|
||||
"ATSWQueueStartStopButton",
|
||||
"ATSWQueueDeleteButton",
|
||||
"ATSWReagentsButton",
|
||||
-- Sorting Editor
|
||||
"ATSWAddCategoryButton",
|
||||
-- Reagent Frame
|
||||
"ATSWBuyReagentsButton",
|
||||
-- Options
|
||||
"ATSWOptionsFrameOKButton",
|
||||
-- Merchant Frame
|
||||
"ATSWAutoBuyButton",
|
||||
}
|
||||
|
||||
local checkBoxes = {
|
||||
-- Main Frame
|
||||
"ATSWHeaderSortButton",
|
||||
"ATSWNameSortButton",
|
||||
"ATSWDifficultySortButton",
|
||||
"ATSWCustomSortButton",
|
||||
"ATSWOnlyCreatableButton",
|
||||
-- Options
|
||||
"ATSWOFUnifiedCounterButton",
|
||||
"ATSWOFSeparateCounterButton",
|
||||
"ATSWOFIncludeBankButton",
|
||||
"ATSWOFIncludeAltsButton",
|
||||
"ATSWOFIncludeMerchantsButton",
|
||||
"ATSWOFAutoBuyButton",
|
||||
"ATSWOFTooltipButton",
|
||||
"ATSWOFShoppingListButton",
|
||||
"ATSWOFReagentListButton",
|
||||
"ATSWOFNewRecipeLinkButton",
|
||||
}
|
||||
|
||||
local editBoxes = {
|
||||
-- Main Frame
|
||||
"ATSWFilterBox",
|
||||
"ATSWInputBox",
|
||||
-- Sorting Editor
|
||||
"ATSWCSNewCategoryBox",
|
||||
}
|
||||
|
||||
local dropDownBoxes = {
|
||||
-- Main Frame
|
||||
"ATSWSubClassDropDown",
|
||||
"ATSWInvSlotDropDown",
|
||||
}
|
||||
|
||||
local closeButtons = {
|
||||
-- Main Frame
|
||||
"ATSWFrameCloseButton",
|
||||
-- Reagent Frame
|
||||
"ATSWReagentFrameCloseButton",
|
||||
-- Sorting Editor
|
||||
"ATSWCSFrameCloseButton",
|
||||
}
|
||||
|
||||
local statusBars = {
|
||||
-- Scan
|
||||
"ATSWScanDelayFrameBar",
|
||||
-- Main Frame
|
||||
"ATSWRankFrame",
|
||||
}
|
||||
|
||||
for _, scrollBar in ipairs(scrollBars) do
|
||||
scrollBar = _G[scrollBar]
|
||||
scrollBar:GetParent():StripTextures()
|
||||
S:HandleScrollBar(scrollBar)
|
||||
end
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(_G[button])
|
||||
end
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(_G[checkBox])
|
||||
end
|
||||
for _, editBox in ipairs(editBoxes) do
|
||||
S:HandleEditBox(_G[editBox])
|
||||
end
|
||||
for _, dropDownBox in ipairs(dropDownBoxes) do
|
||||
S:HandleDropDownBox(_G[dropDownBox])
|
||||
end
|
||||
for _, closeButton in ipairs(closeButtons) do
|
||||
closeButton = _G[closeButton]
|
||||
S:HandleCloseButton(closeButton, closeButton:GetParent().backdrop)
|
||||
end
|
||||
for _, statusBar in ipairs(statusBars) do
|
||||
statusBar = _G[statusBar]
|
||||
statusBar:StripTextures()
|
||||
statusBar:CreateBackdrop()
|
||||
statusBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(statusBar)
|
||||
end
|
||||
|
||||
E:GetModule("Tooltip"):SecureHookScript(ATSWTradeskillTooltip, "OnShow", "SetStyle")
|
||||
|
||||
-- ScanDelay Frame
|
||||
ATSWScanDelayFrame:Size(400, 151) -- fix pixelperfect
|
||||
ATSWScanDelayFrame:StripTextures()
|
||||
ATSWScanDelayFrame:SetTemplate("Transparent")
|
||||
|
||||
-- Options Frame
|
||||
ATSWOptionsFrame:SetParent(UIParent)
|
||||
ATSWOptionsFrame:StripTextures()
|
||||
ATSWOptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
-- Main Frame
|
||||
ATSWFrame:StripTextures()
|
||||
ATSWFrame:CreateBackdrop("Transparent")
|
||||
ATSWFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
ATSWFrame.backdrop:Point("BOTTOMRIGHT", -32, 10)
|
||||
ATSWFrame:SetClampedToScreen(true)
|
||||
S:SetBackdropHitRect(ATSWFrame, nil, true)
|
||||
|
||||
ATSWFramePortrait:Hide()
|
||||
|
||||
S:HandleNextPrevButton(ATSWDecrementButton)
|
||||
S:HandleNextPrevButton(ATSWIncrementButton)
|
||||
|
||||
ATSWExpandButtonFrame:StripTextures()
|
||||
|
||||
ATSWRankFrameBorder:StripTextures()
|
||||
ATSWRankFrameBorder:Hide()
|
||||
|
||||
for i = 0, ATSW_TRADE_SKILLS_DISPLAYED or 23 do
|
||||
if i == 0 then
|
||||
S:HandleCollapseExpandButton(ATSWCollapseAllButton)
|
||||
|
||||
local onClick = function(self)
|
||||
if self.collapsed then
|
||||
self:GetNormalTexture():SetTexture(E.Media.Textures.Minus)
|
||||
self:GetPushedTexture():SetTexture(E.Media.Textures.Minus)
|
||||
self:GetDisabledTexture():SetTexture(E.Media.Textures.Minus)
|
||||
else
|
||||
self:GetNormalTexture():SetTexture(E.Media.Textures.Plus)
|
||||
self:GetPushedTexture():SetTexture(E.Media.Textures.Plus)
|
||||
self:GetDisabledTexture():SetTexture(E.Media.Textures.Plus)
|
||||
end
|
||||
end
|
||||
|
||||
onClick(ATSWCollapseAllButton)
|
||||
ATSWCollapseAllButton:HookScript("OnClick", onClick)
|
||||
else
|
||||
local button = _G["ATSWSkill"..i]
|
||||
if button then
|
||||
S:HandleCollapseExpandButton(button)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function SkinIcon(reagent, icon, count)
|
||||
reagent:StripTextures()
|
||||
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
|
||||
icon.backdrop = CreateFrame("Frame", nil, reagent)
|
||||
icon.backdrop:SetFrameLevel(reagent:GetFrameLevel() - 1)
|
||||
icon.backdrop:SetTemplate("Default")
|
||||
icon.backdrop:SetOutside(icon)
|
||||
|
||||
icon:SetParent(icon.backdrop)
|
||||
count:SetParent(icon.backdrop)
|
||||
count:SetDrawLayer("OVERLAY")
|
||||
end
|
||||
|
||||
for i = 1, ATSW_MAX_TRADE_SKILL_REAGENTS do
|
||||
local reagent = _G["ATSWReagent" .. i]
|
||||
local icon = _G["ATSWReagent" .. i .. "IconTexture"]
|
||||
local count = _G["ATSWReagent" .. i .. "Count"]
|
||||
|
||||
SkinIcon(reagent, icon, count)
|
||||
end
|
||||
|
||||
hooksecurefunc(ATSWSkillIcon, "SetNormalTexture", function(self)
|
||||
if self.skinned then
|
||||
self:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
else
|
||||
local reagent = _G["ATSWSkillIcon"]
|
||||
local icon = _G["ATSWSkillIcon"]:GetNormalTexture()
|
||||
local count = _G["ATSWSkillIconCount"]
|
||||
|
||||
SkinIcon(reagent, icon, count)
|
||||
|
||||
self.skinned = true
|
||||
end
|
||||
end)
|
||||
|
||||
for i = 1, 4 do
|
||||
local button = _G["ATSWQueueItem"..i.."DeleteButton"]
|
||||
S:HandleButton(button)
|
||||
button:Size(20, 21)
|
||||
end
|
||||
|
||||
ATSWHeaderSortButton:Point("TOPLEFT", 29, -30)
|
||||
ATSWNameSortButton:Point("TOPLEFT", 29, -45)
|
||||
ATSWDifficultySortButton:Point("TOPLEFT", 189, -30)
|
||||
ATSWCustomSortButton:Point("TOPLEFT", 189, -45)
|
||||
|
||||
ATSWOnlyCreatableButton:Point("TOPLEFT", 349, -37)
|
||||
|
||||
ATSWCSButton:Point("CENTER", ATSWFrame, "TOPLEFT", 594, -44)
|
||||
|
||||
ATSWOptionsButton:Height(20)
|
||||
ATSWOptionsButton:Point("CENTER", ATSWFrame, "TOPLEFT", 683, -44)
|
||||
|
||||
ATSWRankFrame:Point("TOPLEFT", 459, -62)
|
||||
|
||||
ATSWInvSlotDropDown:Point("TOPRIGHT", -421, -65)
|
||||
ATSWSubClassDropDown:Point("RIGHT", ATSWInvSlotDropDown, "LEFT", 20, 0)
|
||||
|
||||
ATSWFilterBox:Width(212)
|
||||
|
||||
ATSWExpandButtonFrame:Point("TOPLEFT", 14, -95)
|
||||
|
||||
ATSWListScrollFrame:SetTemplate("Transparent")
|
||||
ATSWListScrollFrame:Size(299, 374)
|
||||
ATSWListScrollFrame:Point("TOPLEFT", 19, -120)
|
||||
ATSWListScrollFrame.Hide = E.noop
|
||||
|
||||
ATSWListScrollFrameScrollBar:Point("TOPLEFT", ATSWListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
ATSWListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
ATSWSkill1:Point("TOPLEFT", 22, -123)
|
||||
|
||||
ATSWCreateButton:Point("CENTER", ATSWFrame, "TOPLEFT", 625, -349)
|
||||
ATSWQueueButton:Point("LEFT", ATSWCreateButton, "RIGHT", 3, 0)
|
||||
|
||||
ATSWCreateAllButton:Point("RIGHT", ATSWCreateButton, "LEFT", -84, 0)
|
||||
ATSWQueueAllButton:Point("RIGHT", ATSWCreateAllButton, "LEFT", -3, 0)
|
||||
|
||||
ATSWDecrementButton:Point("LEFT", ATSWCreateAllButton, "RIGHT", 5, 0)
|
||||
ATSWInputBox:Point("LEFT", ATSWDecrementButton, "RIGHT", 4, 0)
|
||||
ATSWIncrementButton:Point("RIGHT", ATSWCreateButton, "LEFT", -5, 0)
|
||||
|
||||
ATSWQueueItem1:Point("TOPLEFT", 355, -373)
|
||||
|
||||
ATSWQueueScrollFrameScrollBar:Point("TOPLEFT", ATSWQueueScrollFrame, "TOPRIGHT", 8, -16)
|
||||
ATSWQueueScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWQueueScrollFrame, "BOTTOMRIGHT", 8, 16)
|
||||
|
||||
ATSWReagentsButton:Point("CENTER", ATSWFrame, "TOPLEFT", 683, -483)
|
||||
ATSWQueueStartStopButton:Point("CENTER", ATSWFrame, "TOPLEFT", 421, -483)
|
||||
|
||||
ATSWQueueDeleteButton:ClearAllPoints()
|
||||
ATSWQueueDeleteButton:Point("LEFT", ATSWQueueStartStopButton, "RIGHT", 3, 0)
|
||||
ATSWQueueDeleteButton:Point("RIGHT", ATSWReagentsButton, "LEFT", -3, 0)
|
||||
|
||||
-- Reagent Frame
|
||||
ATSWReagentFrame:StripTextures()
|
||||
ATSWReagentFrame:CreateBackdrop("Transparent")
|
||||
ATSWReagentFrame.backdrop:Point("TOPLEFT", 12, -14)
|
||||
ATSWReagentFrame.backdrop:Point("BOTTOMRIGHT", -34, 74)
|
||||
S:SetBackdropHitRect(ATSWReagentFrame, nil, true)
|
||||
|
||||
-- SortingEditor Frame
|
||||
ATSWCSFrame:StripTextures()
|
||||
ATSWCSFrame:CreateBackdrop("Transparent")
|
||||
ATSWCSFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
ATSWCSFrame.backdrop:Point("BOTTOMRIGHT", -32, 10)
|
||||
ATSWCSFrame:SetClampedToScreen(true)
|
||||
S:SetBackdropHitRect(ATSWCSFrame, nil, true)
|
||||
|
||||
ATSWCSUListScrollFrame:SetTemplate("Transparent")
|
||||
ATSWCSUListScrollFrame:Size(342, 383) -- 311, 383
|
||||
ATSWCSUListScrollFrame:Point("TOPLEFT", 19, -111)
|
||||
ATSWCSSkill1:Point("TOPLEFT", 28, -120)
|
||||
|
||||
ATSWCSUListScrollFrameScrollBar:Point("TOPLEFT", ATSWCSUListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
ATSWCSUListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWCSUListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
ATSWCSSListScrollFrame:SetTemplate("Transparent")
|
||||
ATSWCSSListScrollFrame:Size(322, 354)
|
||||
ATSWCSSListScrollFrame:Point("TOPLEFT", 385, -111)
|
||||
ATSWCSCSkill1:Point("TOPLEFT", 394, -120)
|
||||
|
||||
ATSWCSSListScrollFrameScrollBar:Point("TOPLEFT", ATSWCSSListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
ATSWCSSListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWCSSListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
for i = 1, 17 do
|
||||
local buttonDelete = _G["ATSWCSCSkill" .. i .. "Delete"]
|
||||
local buttonUp = _G["ATSWCSCSkill" .. i .. "MoveUp"]
|
||||
local buttonDown = _G["ATSWCSCSkill" .. i .. "MoveDown"]
|
||||
local skillButton = _G["ATSWCSCSkill" .. i .. "SkillButton"]
|
||||
|
||||
buttonDelete:Size(17)
|
||||
buttonUp:Size(24)
|
||||
buttonDown:Size(24)
|
||||
|
||||
S:HandleButton(buttonDelete)
|
||||
S:HandleNextPrevButton(buttonUp, "up")
|
||||
S:HandleNextPrevButton(buttonDown, "down")
|
||||
|
||||
S:HandleCollapseExpandButton(skillButton)
|
||||
end
|
||||
|
||||
ATSWCSNewCategoryBox:Point("TOPLEFT", 424, -473)
|
||||
|
||||
ATSWAddCategoryButton:Point("LEFT", ATSWCSNewCategoryBox, "RIGHT", 4, 0)
|
||||
|
||||
-- ShoppingList
|
||||
ATSWShoppingListFrame:StripTextures()
|
||||
ATSWShoppingListFrame:CreateBackdrop("Transparent")
|
||||
ATSWShoppingListFrame.backdrop:Point("TOPLEFT", 12, 0)
|
||||
ATSWShoppingListFrame.backdrop:Point("BOTTOMRIGHT", -35, 59)
|
||||
|
||||
S:SetBackdropHitRect(ATSWShoppingListFrame)
|
||||
|
||||
S:HandleCloseButton(ATSWSLCloseButton)
|
||||
ATSWSLCloseButton:Point("BOTTOMRIGHT", -39, 177)
|
||||
ATSWSLCloseButton:SetHitRectInsets(1, 0, 1, 0)
|
||||
ATSWSLCloseButton:SetText(nil)
|
||||
|
||||
ATSWSLScrollFrameScrollBar:Point("TOPLEFT", ATSWSLScrollFrame, "TOPRIGHT", 5, -18)
|
||||
ATSWSLScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWSLScrollFrame, "BOTTOMRIGHT", 5, 22)
|
||||
|
||||
ATSWShoppingListFrame.SetPoint = function(self)
|
||||
ATSWSLCloseButton.SetPoint(ATSWShoppingListFrame, "TOPLEFT", AuctionFrame, "TOPLEFT", 355, -446)
|
||||
end
|
||||
|
||||
-- ChatLink fix
|
||||
ATSWTradeSkillLinkButton:SetScript("OnClick", function()
|
||||
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
|
||||
if not ChatFrameEditBox:IsShown() then
|
||||
ChatEdit_ActivateChat(ChatFrameEditBox)
|
||||
end
|
||||
|
||||
ChatFrameEditBox:Insert(GetTradeSkillListLink())
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,26 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("AllStats") then return end
|
||||
|
||||
-- All Stats 1.1
|
||||
-- https://www.curseforge.com/wow/addons/all-stats/files/430951
|
||||
|
||||
S:AddCallbackForAddon("AllStats", "AllStats", function()
|
||||
if not E.private.addOnSkins.AllStats then return end
|
||||
|
||||
AllStatsFrame:StripTextures()
|
||||
AllStatsFrame:SetTemplate("Transparent")
|
||||
AllStatsFrame:Height(424)
|
||||
AllStatsFrame:Point("TOPLEFT", PaperDollFrame, "TOPLEFT", 351, -12)
|
||||
|
||||
S:HandleButton(AllStatsButtonShowFrame)
|
||||
AllStatsButtonShowFrame:Height(21)
|
||||
|
||||
if CharacterFrameExpandButton then
|
||||
AllStatsButtonShowFrame:Point("BOTTOMRIGHT", -40, 84)
|
||||
else
|
||||
AllStatsButtonShowFrame:Point("BOTTOMRIGHT", -60, 84)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,402 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Altoholic") then return end
|
||||
|
||||
local _G = _G
|
||||
local pairs = pairs
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- Altoholic 3.3.002b
|
||||
|
||||
S:AddCallbackForAddon("Altoholic", "Altoholic", function()
|
||||
if not E.private.addOnSkins.Altoholic then return end
|
||||
|
||||
local function AltoItem(item)
|
||||
local name = item:GetName()
|
||||
item:SetTemplate()
|
||||
item:StyleButton()
|
||||
|
||||
item:SetNormalTexture("")
|
||||
_G[name.."IconTexture"]:SetInside()
|
||||
_G[name.."IconTexture"]:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
local cooldown = _G[name.."Cooldown"]
|
||||
if cooldown then
|
||||
E:RegisterCooldown(cooldown)
|
||||
end
|
||||
end
|
||||
|
||||
AltoTooltip:HookScript("OnShow", function(self)
|
||||
self:SetTemplate("Transparent", nil, true) --ignore updates
|
||||
|
||||
local r, g, b = self:GetBackdropColor()
|
||||
self:SetBackdropColor(r, g, b, E.db.tooltip.colorAlpha)
|
||||
end)
|
||||
|
||||
AltoholicFrame:StripTextures()
|
||||
AltoholicFrame:CreateBackdrop("Transparent")
|
||||
AltoholicFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
AltoholicFrame.backdrop:Point("BOTTOMRIGHT", -1, 11)
|
||||
|
||||
AltoholicFramePortrait:Hide()
|
||||
|
||||
S:HandleCloseButton(AltoholicFrameCloseButton, AltoholicFrame.backdrop)
|
||||
|
||||
for i = 1, 5 do
|
||||
local tab = _G["AltoholicFrameTab"..i]
|
||||
|
||||
if i == 1 then
|
||||
tab:Point("TOPLEFT", AltoholicFrame, "BOTTOMLEFT", 11, 13)
|
||||
else
|
||||
tab:Point("TOPLEFT", _G["AltoholicFrameTab"..(i - 1)], "TOPRIGHT", -15, 0)
|
||||
end
|
||||
|
||||
S:HandleTab(tab)
|
||||
end
|
||||
|
||||
S:HandleEditBox(AltoholicFrame_SearchEditBox)
|
||||
S:HandleButton(AltoholicFrame_ResetButton)
|
||||
AltoholicFrame_ResetButton:Point("TOPLEFT", "$parent_SearchEditBox", "BOTTOMLEFT", -40, -3)
|
||||
S:HandleButton(AltoholicFrame_SearchButton)
|
||||
|
||||
local function ClassesItemItemTexure_SetTexCoord(self, left, right, top, bottom)
|
||||
if self.customTexCoord then return end
|
||||
self.customTexCoord = true
|
||||
self:SetTexCoord(left + 0.02, right - 0.02, top + 0.02, bottom - 0.02)
|
||||
self.customTexCoord = nil
|
||||
end
|
||||
|
||||
local function ClassesItem_OnShow(self)
|
||||
if self.border:IsShown() then
|
||||
self:SetBackdropBorderColor(self.border:GetVertexColor())
|
||||
else
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
|
||||
_G[self:GetName().."IconTexture"]:SetInside()
|
||||
|
||||
self.border:SetTexture("")
|
||||
end
|
||||
|
||||
for i = 1, 10 do
|
||||
local item = _G["AltoholicFrameClassesItem"..i]
|
||||
AltoItem(item)
|
||||
|
||||
hooksecurefunc(_G[item:GetName().."IconTexture"], "SetTexCoord", ClassesItemItemTexure_SetTexCoord)
|
||||
|
||||
item:HookScript("OnShow", ClassesItem_OnShow)
|
||||
end
|
||||
|
||||
AltoMsgBox:SetTemplate("Transparent")
|
||||
S:HandleButton(AltoMsgBoxYesButton)
|
||||
S:HandleButton(AltoMsgBoxNoButton)
|
||||
|
||||
AltoAccountSharing:SetTemplate("Transparent")
|
||||
|
||||
S:HandleEditBox(AltoAccountSharing_AccNameEditBox)
|
||||
S:HandleButton(AltoAccountSharing_InfoButton)
|
||||
S:HandleEditBox(AltoAccountSharing_AccTargetEditBox)
|
||||
S:HandleButton(AltoAccountSharing_SendButton)
|
||||
S:HandleButton(AltoAccountSharing_CancelButton)
|
||||
|
||||
S:HandleCollapseExpandButton(AltoAccountSharing_ToggleAll, "-")
|
||||
|
||||
S:HandleCheckBox(AltoAccountSharing_CheckAll)
|
||||
|
||||
-- AccountSummary
|
||||
AltoholicFrameSummaryScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameSummaryScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameSummaryEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- Activity
|
||||
AltoholicFrameActivityScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameActivityScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameActivityEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- AuctionHouse
|
||||
AltoholicFrameAuctionsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameAuctionsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 7 do
|
||||
AltoItem(_G["AltoholicFrameAuctionsEntry"..i.."Item"])
|
||||
end
|
||||
|
||||
-- BagUsage
|
||||
AltoholicFrameBagUsageScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameBagUsageScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameBagUsageEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- Calendar
|
||||
S:HandleNextPrevButton(AltoholicFrameCalendar_PrevMonth)
|
||||
S:HandleNextPrevButton(AltoholicFrameCalendar_NextMonth)
|
||||
|
||||
AltoholicFrameCalendarScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameCalendarScrollFrameScrollBar)
|
||||
|
||||
-- Containers
|
||||
S:HandleDropDownBox(AltoholicFrameContainers_SelectContainerView)
|
||||
S:HandleDropDownBox(AltoholicFrameContainers_SelectRarity)
|
||||
|
||||
AltoholicFrameContainersScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameContainersScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 7 do
|
||||
for j = 1, 14 do
|
||||
AltoItem(_G["AltoholicFrameContainersEntry"..i.."Item"..j])
|
||||
end
|
||||
end
|
||||
|
||||
-- Currencies
|
||||
S:HandleDropDownBox(AltoholicFrameCurrencies_SelectCurrencies)
|
||||
|
||||
AltoholicFrameCurrenciesScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameCurrenciesScrollFrameScrollBar)
|
||||
|
||||
--[[
|
||||
for i = 1, 8 do
|
||||
for j = 1, 10 do
|
||||
_G["AltoholicFrameCurrenciesEntry"..i.."Item"..j]
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
||||
-- Equipment
|
||||
AltoholicFrameEquipmentScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameEquipmentScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 7 do
|
||||
for j = 1, 10 do
|
||||
AltoItem(_G["AltoholicFrameEquipmentEntry"..i.."Item"..j])
|
||||
end
|
||||
end
|
||||
|
||||
-- GuildBank
|
||||
for i = 1, 7 do
|
||||
for j = 1, 14 do
|
||||
AltoItem(_G["AltoGuildBankEntry"..i.."Item"..j])
|
||||
end
|
||||
end
|
||||
|
||||
-- GuildBankTabs
|
||||
AltoholicFrameGuildBankTabsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameGuildBankTabsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildBankTabsEntry"..i.."Collapse"], "-")
|
||||
S:HandleButton(_G["AltoholicFrameGuildBankTabsEntry"..i.."UpdateTab"])
|
||||
end
|
||||
|
||||
-- GuildMembers
|
||||
AltoholicFrameGuildMembersScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameGuildMembersScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildMembersEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
for i = 1, 19 do
|
||||
AltoItem(_G["AltoholicFrameGuildMembersItem"..i])
|
||||
end
|
||||
|
||||
-- GuildProfessions
|
||||
AltoholicFrameGuildProfessionsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameGuildProfessionsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildProfessionsEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- Mails
|
||||
AltoholicFrameMailScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameMailScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 7 do
|
||||
AltoItem(_G["AltoholicFrameMailEntry"..i.."Item"])
|
||||
end
|
||||
|
||||
-- Pets
|
||||
S:HandleDropDownBox(AltoholicFramePets_SelectPetView)
|
||||
S:HandleRotateButton(AltoholicFramePetsNormal_ModelFrameRotateLeftButton)
|
||||
S:HandleRotateButton(AltoholicFramePetsNormal_ModelFrameRotateRightButton)
|
||||
|
||||
for i = 1, 12 do
|
||||
local button = _G["AltoholicFramePetsNormal_Button"..i]
|
||||
button:SetTemplate()
|
||||
button:StyleButton(nil, true)
|
||||
button:GetDisabledTexture():SetInside()
|
||||
button:SetNormalTexture("")
|
||||
button:GetNormalTexture():SetDrawLayer("BORDER")
|
||||
button:GetNormalTexture():SetInside()
|
||||
button:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
S:HandleNextPrevButton(AltoholicFramePetsNormalPrevPage, nil, nil, true)
|
||||
AltoholicFramePetsNormalPrevPage:Size(32)
|
||||
S:HandleNextPrevButton(AltoholicFramePetsNormalNextPage, nil, nil, true)
|
||||
AltoholicFramePetsNormalNextPage:Size(32)
|
||||
|
||||
AltoholicFramePetsAllInOneScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFramePetsAllInOneScrollFrameScrollBar)
|
||||
|
||||
-- Quests
|
||||
AltoholicFrameQuestsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameQuestsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameQuestsEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- Recipes
|
||||
S:HandleCollapseExpandButton(AltoholicFrameRecipesInfo_ToggleAll, "-")
|
||||
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectColor)
|
||||
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectSubclass)
|
||||
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectInvSlot)
|
||||
|
||||
AltoholicFrameRecipesScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameRecipesScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameRecipesEntry"..i.."Collapse"], "-")
|
||||
AltoItem(_G["AltoholicFrameRecipesEntry"..i.."Craft"])
|
||||
|
||||
for j = 1, 8 do
|
||||
AltoItem(_G["AltoholicFrameRecipesEntry"..i.."Item"..j])
|
||||
end
|
||||
end
|
||||
|
||||
-- Reputations
|
||||
S:HandleDropDownBox(AltoholicFrameReputations_SelectFaction)
|
||||
AltoholicFrameReputationsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameReputationsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 8 do
|
||||
for j = 1, 10 do
|
||||
local item = _G["AltoholicFrameReputationsEntry"..i.."Item"..j]
|
||||
local bg = _G["AltoholicFrameReputationsEntry"..i.."Item"..j.."_Background"]
|
||||
|
||||
item:SetTemplate()
|
||||
item:StyleButton()
|
||||
|
||||
bg:SetDrawLayer("BORDER")
|
||||
bg:SetInside()
|
||||
bg:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
-- Search
|
||||
AltoholicFrameSearchScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameSearchScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 7 do
|
||||
E:RegisterCooldown(_G["AltoholicFrameSearchEntry"..i.."Cooldown"])
|
||||
AltoItem(_G["AltoholicFrameSearchEntry"..i.."Item"])
|
||||
end
|
||||
|
||||
-- Skills
|
||||
AltoholicFrameSkillsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameSkillsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 14 do
|
||||
S:HandleCollapseExpandButton(_G["AltoholicFrameSkillsEntry"..i.."Collapse"], "-")
|
||||
end
|
||||
|
||||
-- TabCharacters
|
||||
S:HandleDropDownBox(AltoholicTabCharacters_SelectRealm)
|
||||
S:HandleDropDownBox(AltoholicTabCharacters_SelectChar)
|
||||
|
||||
local tabCharacters = {"_Bags", "_Equipment", "_Quests", "_Talents", "_Auctions", "_Bids", "_Mails", "_Pets", "_Mounts", "_Factions", "_Tokens", "_Cooking", "_FirstAid", "_Prof1", "_Prof2"}
|
||||
for _, tab in pairs(tabCharacters) do
|
||||
AltoItem(_G["AltoholicTabCharacters"..tab])
|
||||
end
|
||||
|
||||
for i = 1, 4 do
|
||||
_G["AltoholicTabCharacters_Sort"..i]:StripTextures()
|
||||
end
|
||||
|
||||
-- TabGuildBank
|
||||
S:HandleDropDownBox(AltoholicTabGuildBank_SelectGuild)
|
||||
S:HandleButton(AltoholicTabGuildBank_DeleteGuildButton)
|
||||
S:HandleCheckBox(AltoholicTabGuildBank_HideInTooltip)
|
||||
|
||||
for i = 1, 6 do
|
||||
_G["AltoholicTabGuildBankMenuItem"..i]:StripTextures()
|
||||
end
|
||||
|
||||
-- TabSearch
|
||||
for i = 1, 15 do
|
||||
_G["AltoholicTabSearchMenuItem"..i]:StripTextures()
|
||||
end
|
||||
|
||||
AltoholicSearchMenuScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicSearchMenuScrollFrameScrollBar)
|
||||
S:HandleEditBox(AltoholicTabSearch_MinLevel)
|
||||
S:HandleEditBox(AltoholicTabSearch_MaxLevel)
|
||||
S:HandleDropDownBox(AltoholicTabSearch_SelectRarity)
|
||||
S:HandleDropDownBox(AltoholicTabSearch_SelectSlot, 140)
|
||||
S:HandleDropDownBox(AltoholicTabSearch_SelectLocation, 200)
|
||||
|
||||
for i = 1, 8 do
|
||||
_G["AltoholicTabSearch_Sort"..i]:StripTextures()
|
||||
end
|
||||
|
||||
-- TabSummary
|
||||
for i = 1, 8 do
|
||||
_G["AltoholicTabSummaryMenuItem"..i]:StripTextures()
|
||||
_G["AltoholicTabSummary_Sort"..i]:StripTextures()
|
||||
end
|
||||
|
||||
S:HandleCollapseExpandButton(AltoholicTabSummaryToggleView, "-")
|
||||
|
||||
S:HandleDropDownBox(AltoholicTabSummary_SelectLocation, 200)
|
||||
S:HandleButton(AltoholicTabSummary_OptionsDataStore)
|
||||
S:HandleButton(AltoholicTabSummary_Options)
|
||||
S:HandleButton(AltoholicTabSummary_RequestSharing)
|
||||
|
||||
-- Telents
|
||||
for i = 1, 3 do
|
||||
AltoItem(_G["AltoholicFrameTalents_SpecIcon"..i])
|
||||
end
|
||||
|
||||
S:HandleScrollBar(AltoholicFrameTalents_ScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 40 do
|
||||
AltoItem(_G["AltoholicFrameTalents_ScrollFrameTalent"..i])
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("Altoholic_Achievements", "Altoholic_Achievements", function()
|
||||
if not E.private.addOnSkins.Altoholic then return end
|
||||
|
||||
AltoholicFrameAchievementsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicFrameAchievementsScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 8 do
|
||||
for j = 1, 10 do
|
||||
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j]:SetTemplate()
|
||||
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j]:StyleButton()
|
||||
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetDrawLayer("BORDER")
|
||||
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetInside()
|
||||
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1, 15 do
|
||||
_G["AltoholicTabAchievementsMenuItem"..i]:StripTextures()
|
||||
end
|
||||
|
||||
AltoholicAchievementsMenuScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(AltoholicAchievementsMenuScrollFrameScrollBar)
|
||||
end)
|
||||
@@ -0,0 +1,85 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Atlas") then return end
|
||||
|
||||
-- Atlas 1.18.1
|
||||
|
||||
S:AddCallbackForAddon("Atlas", "Atlas", function()
|
||||
if not E.private.addOnSkins.Atlas then return end
|
||||
|
||||
AtlasFrame:StripTextures()
|
||||
AtlasFrame:SetTemplate("Transparent")
|
||||
AtlasFrame:SetClampRectInsets(0, 0, 0, 0)
|
||||
|
||||
S:HandleCloseButton(AtlasFrameCloseButton, AtlasFrame)
|
||||
|
||||
AtlasFrameLockButton:Point("RIGHT", AtlasFrameCloseButton, "LEFT", 12, -1)
|
||||
AtlasFrameLockButton:SetHitRectInsets(6, 6, 6, 6)
|
||||
|
||||
AtlasLockNorm:SetInside(AtlasFrameLockButton, 10, 10)
|
||||
AtlasLockPush:SetInside(AtlasFrameLockButton, 10, 10)
|
||||
AtlasLockNorm:SetTexCoord(.36, .65, .32, .73)
|
||||
AtlasLockPush:SetTexCoord(.36, .60, .38, .76)
|
||||
|
||||
AtlasMap:SetDrawLayer("ARTWORK")
|
||||
AtlasMap:CreateBackdrop()
|
||||
|
||||
hooksecurefunc("Atlas_UpdateLock", function()
|
||||
AtlasLockNorm:SetDesaturated(true)
|
||||
AtlasLockPush:SetDesaturated(true)
|
||||
end)
|
||||
Atlas_UpdateLock()
|
||||
|
||||
S:HandleDropDownBox(AtlasFrameDropDownType)
|
||||
S:HandleDropDownBox(AtlasFrameDropDown)
|
||||
|
||||
S:HandleEditBox(AtlasSearchEditBox)
|
||||
AtlasSearchEditBox:Height(22)
|
||||
|
||||
S:HandleButton(AtlasSwitchButton)
|
||||
S:HandleButton(AtlasSearchButton)
|
||||
S:HandleButton(AtlasSearchClearButton)
|
||||
S:HandleButton(AtlasFrameOptionsButton)
|
||||
|
||||
S:HandleScrollBar(AtlasScrollBarScrollBar)
|
||||
|
||||
AtlasFrameDropDownType:Point("TOPLEFT", 24, -40)
|
||||
AtlasFrameDropDown:Point("LEFT", AtlasFrameDropDownType, "RIGHT", 2, 0)
|
||||
|
||||
AtlasFrameOptionsButton:Point("TOPRIGHT", -14, -43)
|
||||
|
||||
AtlasMap:Point("TOPLEFT", 15, -74)
|
||||
AtlasMap.ClearAllPoints = E.noop
|
||||
AtlasMap.SetPoint = E.noop
|
||||
|
||||
AtlasSwitchButton:Height(24)
|
||||
AtlasSearchButton:Height(24)
|
||||
AtlasSearchClearButton:Size(62, 24)
|
||||
|
||||
AtlasSearchEditBox:Point("BOTTOMRIGHT", -152, 15)
|
||||
AtlasSwitchButton:Point("RIGHT", AtlasSearchEditBox, "LEFT", -4, 0)
|
||||
AtlasSearchButton:Point("LEFT", AtlasSearchEditBox, "RIGHT", 4, 0)
|
||||
AtlasSearchClearButton:Point("LEFT", AtlasSearchButton, "RIGHT", 3, 0)
|
||||
|
||||
AtlasScrollBarScrollBar:Point("TOPLEFT", AtlasScrollBar, "TOPRIGHT", 8, -16)
|
||||
AtlasScrollBarScrollBar:Point("BOTTOMLEFT", AtlasScrollBar, "BOTTOMRIGHT", 8, 16)
|
||||
|
||||
-- options
|
||||
S:HandleCheckBox(AtlasOptionsFrameToggleButton)
|
||||
S:HandleCheckBox(AtlasOptionsFrameAutoSelect)
|
||||
S:HandleCheckBox(AtlasOptionsFrameRightClick)
|
||||
S:HandleCheckBox(AtlasOptionsFrameAcronyms)
|
||||
S:HandleCheckBox(AtlasOptionsFrameClamped)
|
||||
S:HandleCheckBox(AtlasOptionsFrameCtrl)
|
||||
|
||||
S:HandleSliderFrame(AtlasOptionsFrameSliderButtonPos)
|
||||
S:HandleSliderFrame(AtlasOptionsFrameSliderButtonRad)
|
||||
S:HandleSliderFrame(AtlasOptionsFrameSliderAlpha)
|
||||
S:HandleSliderFrame(AtlasOptionsFrameSliderScale)
|
||||
|
||||
S:HandleDropDownBox(AtlasOptionsFrameDropDownCats)
|
||||
|
||||
S:HandleButton(AtlasOptionsFrameResetPosition)
|
||||
end)
|
||||
@@ -0,0 +1,191 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("AtlasLoot") then return end
|
||||
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
-- AtlasLoot Enhanced 5.11.04
|
||||
-- https://www.curseforge.com/wow/addons/atlasloot-enhanced/files/445202
|
||||
|
||||
S:AddCallbackForAddon("AtlasLoot", "AtlasLoot", function()
|
||||
if not E.private.addOnSkins.AtlasLoot then return end
|
||||
|
||||
AtlasLootTooltip:HookScript("OnShow", function(self)
|
||||
self:SetTemplate("Transparent", nil, true)
|
||||
|
||||
local r, g, b = self:GetBackdropColor()
|
||||
self:SetBackdropColor(r, g, b, E.db.tooltip.colorAlpha)
|
||||
|
||||
local iLink = select(2, self:GetItem())
|
||||
local quality = iLink and select(3, GetItemInfo(iLink))
|
||||
if quality and quality >= 2 then
|
||||
self:SetBackdropBorderColor(GetItemQualityColor(quality))
|
||||
else
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end)
|
||||
|
||||
AtlasLootDefaultFrame:StripTextures()
|
||||
AtlasLootDefaultFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(AtlasLootDefaultFrame_CloseButton, AtlasLootDefaultFrame)
|
||||
|
||||
S:HandleButton(AtlasLootDefaultFrame_Options)
|
||||
S:HandleButton(AtlasLootDefaultFrame_LoadModules)
|
||||
S:HandleButton(AtlasLootDefaultFrame_Menu)
|
||||
S:HandleButton(AtlasLootDefaultFrame_SubMenu)
|
||||
|
||||
AtlasLootDefaultFrame_LootBackground_Back:SetTexture()
|
||||
AtlasLootDefaultFrame_LootBackground:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(AtlasLootDefaultFrame_Preset1)
|
||||
S:HandleButton(AtlasLootDefaultFrame_Preset2)
|
||||
S:HandleButton(AtlasLootDefaultFrame_Preset3)
|
||||
S:HandleButton(AtlasLootDefaultFrame_Preset4)
|
||||
|
||||
S:HandleButton(AtlasLootDefaultFrameWishListButton)
|
||||
S:HandleEditBox(AtlasLootDefaultFrameSearchBox)
|
||||
S:HandleButton(AtlasLootDefaultFrameSearchButton)
|
||||
S:HandleNextPrevButton(AtlasLootDefaultFrameSearchOptionsButton)
|
||||
S:HandleButton(AtlasLootDefaultFrameSearchClearButton)
|
||||
S:HandleButton(AtlasLootDefaultFrameLastResultButton)
|
||||
|
||||
AtlasLootDefaultFrame_Options:Point("TOPLEFT", 43, -11)
|
||||
AtlasLootDefaultFrame_LoadModules:Point("TOPRIGHT", -42, -11)
|
||||
|
||||
AtlasLootDefaultFrame_Preset1:Point("BOTTOMLEFT", 83, 59)
|
||||
|
||||
AtlasLootDefaultFrameSearchBox:Height(22)
|
||||
AtlasLootDefaultFrameSearchBox:Point("BOTTOM", AtlasLootDefaultFrame, "BOTTOM", -83, 29)
|
||||
|
||||
AtlasLootDefaultFrameSearchButton:Point("LEFT", AtlasLootDefaultFrameSearchBox, "RIGHT", 6, 0)
|
||||
|
||||
AtlasLootDefaultFrameSearchOptionsButton:Size(24)
|
||||
AtlasLootDefaultFrameSearchOptionsButton:Point("LEFT", AtlasLootDefaultFrameSearchButton, "RIGHT", 5, 0)
|
||||
AtlasLootDefaultFrameSearchClearButton:Point("LEFT", AtlasLootDefaultFrameSearchOptionsButton, "RIGHT", 5, 0)
|
||||
AtlasLootDefaultFrameLastResultButton:Point("LEFT", AtlasLootDefaultFrameSearchClearButton, "RIGHT", 5, 0)
|
||||
AtlasLootDefaultFrameWishListButton:Point("RIGHT", AtlasLootDefaultFrameSearchBox, "LEFT", -6, 0)
|
||||
|
||||
AtlasLootDefaultFrame_Notice:Point("BOTTOM", 0, 9)
|
||||
|
||||
S:HandleCloseButton(AtlasLootItemsFrame_CloseButton)
|
||||
|
||||
S:HandleButton(AtlasLootInfoHidePanel)
|
||||
|
||||
for i = 1, 30 do
|
||||
_G["AtlasLootItem_" .. i .. "_Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
_G["AtlasLootItem_" .. i]:CreateBackdrop("Default")
|
||||
_G["AtlasLootItem_" .. i].backdrop:SetOutside(_G["AtlasLootItem_" .. i .. "_Icon"])
|
||||
|
||||
_G["AtlasLootMenuItem_" .. i .. "_Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
_G["AtlasLootMenuItem_" .. i]:CreateBackdrop("Default")
|
||||
_G["AtlasLootMenuItem_" .. i].backdrop:SetOutside(_G["AtlasLootMenuItem_" .. i .. "_Icon"])
|
||||
end
|
||||
|
||||
S:HandleButton(AtlasLoot10Man25ManSwitch)
|
||||
S:HandleButton(AtlasLootServerQueryButton)
|
||||
S:HandleCheckBox(AtlasLootItemsFrame_Heroic)
|
||||
S:HandleCheckBox(AtlasLootFilterCheck)
|
||||
S:HandleButton(AtlasLootItemsFrame_BACK)
|
||||
S:HandleNextPrevButton(AtlasLootQuickLooksButton)
|
||||
S:HandleNextPrevButton(AtlasLootItemsFrame_PREV)
|
||||
S:HandleNextPrevButton(AtlasLootItemsFrame_NEXT)
|
||||
|
||||
AtlasLootItemsFrame_Back:SetTexture()
|
||||
|
||||
AtlasLoot10Man25ManSwitch:Height(24)
|
||||
AtlasLootServerQueryButton:Height(24)
|
||||
AtlasLootItemsFrame_BACK:Height(24)
|
||||
|
||||
AtlasLoot10Man25ManSwitch:Point("BOTTOM", -130, 3)
|
||||
AtlasLootServerQueryButton:Point("BOTTOM", 131, 3)
|
||||
AtlasLootItemsFrame_BACK:Point("BOTTOM", 0, 3)
|
||||
|
||||
AtlasLootItemsFrame_Heroic:Point("BOTTOM", -185, 28)
|
||||
AtlasLootFilterCheck:Point("BOTTOM", 115, 28)
|
||||
AtlasLootQuickLooksButton:Point("BOTTOM", 58, 32)
|
||||
|
||||
AtlasLootItemsFrame_PREV:Point("BOTTOMLEFT", 7, 6)
|
||||
AtlasLootItemsFrame_NEXT:Point("BOTTOMRIGHT", -6, 6)
|
||||
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameDefaultTT)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameLootlinkTT)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameItemSyncTT)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameOpaque)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameItemID)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameLoDStartup)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameSafeLinks)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameEquipCompare)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameItemSpam)
|
||||
S:HandleCheckBox(AtlasLootOptionsFrameHidePanel)
|
||||
|
||||
S:HandleDropDownBox(AtlasLoot_SelectLootBrowserStyle)
|
||||
S:HandleDropDownBox(AtlasLoot_CraftingLink)
|
||||
|
||||
S:HandleSliderFrame(AtlasLootOptionsFrameLootBrowserScale)
|
||||
|
||||
S:HandleButton(AtlasLootOptionsFrame_ResetWishlist)
|
||||
S:HandleButton(AtlasLootOptionsFrame_ResetAtlasLoot)
|
||||
S:HandleButton(AtlasLootOptionsFrame_ResetQuicklooks)
|
||||
S:HandleButton(AtlasLootOptionsFrame_FuBarShow)
|
||||
S:HandleButton(AtlasLootOptionsFrame_FuBarHide)
|
||||
|
||||
AtlasLootPanel:StripTextures()
|
||||
AtlasLootPanel:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(AtlasLootPanel_WorldEvents)
|
||||
AtlasLootPanel_WorldEvents:Point("LEFT", AtlasLootPanel, "LEFT", 7, 29)
|
||||
S:HandleButton(AtlasLootPanel_Sets)
|
||||
AtlasLootPanel_Sets:Point("LEFT", AtlasLootPanel_WorldEvents, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootPanel_Reputation)
|
||||
AtlasLootPanel_Reputation:Point("LEFT", AtlasLootPanel_Sets, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootPanel_PvP)
|
||||
AtlasLootPanel_PvP:Point("LEFT", AtlasLootPanel_Reputation, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootPanel_Crafting)
|
||||
AtlasLootPanel_Crafting:Point("LEFT", AtlasLootPanel_PvP, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootPanel_WishList)
|
||||
AtlasLootPanel_WishList:Point("LEFT", AtlasLootPanel_Crafting, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootPanel_Options)
|
||||
S:HandleButton(AtlasLootPanel_LoadModules)
|
||||
S:HandleButton(AtlasLootPanel_Preset1)
|
||||
S:HandleButton(AtlasLootPanel_Preset2)
|
||||
S:HandleButton(AtlasLootPanel_Preset3)
|
||||
S:HandleButton(AtlasLootPanel_Preset4)
|
||||
|
||||
S:HandleEditBox(AtlasLootSearchBox)
|
||||
AtlasLootSearchBox:Height(20)
|
||||
S:HandleButton(AtlasLootSearchButton)
|
||||
AtlasLootSearchButton:Height(22)
|
||||
AtlasLootSearchButton:Point("LEFT", AtlasLootSearchBox, "RIGHT", 3, 0)
|
||||
S:HandleNextPrevButton(AtlasLootSearchOptionsButton)
|
||||
AtlasLootSearchOptionsButton:Point("LEFT", AtlasLootSearchButton, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootSearchClearButton)
|
||||
AtlasLootSearchClearButton:Height(22)
|
||||
AtlasLootSearchClearButton:Point("LEFT", AtlasLootSearchOptionsButton, "RIGHT", 2, 0)
|
||||
S:HandleButton(AtlasLootLastResultButton)
|
||||
AtlasLootLastResultButton:Height(22)
|
||||
AtlasLootLastResultButton:Point("LEFT", AtlasLootSearchClearButton, "RIGHT", 2, 0)
|
||||
|
||||
if AS:IsAddonEnabled("Atlas") then
|
||||
hooksecurefunc("AtlasLoot_SetupForAtlas", function()
|
||||
AtlasLootInfo:Point("TOPLEFT", 546, 15)
|
||||
AtlasLootPanel:Point("TOP", "AtlasFrame", "BOTTOM", 0, 1)
|
||||
end)
|
||||
|
||||
hooksecurefunc("AtlasLoot_SetItemInfoFrame", function(pFrame)
|
||||
if not pFrame or pFrame == AtlasFrame then
|
||||
AtlasLootItemsFrame:Point("TOPLEFT", 15, -74)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
AS:SkinLibrary("Dewdrop-2.0")
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("AtlasLootFu", "AtlasLootFu", function()
|
||||
AS:SkinLibrary("AceAddon-2.0")
|
||||
AS:SkinLibrary("Tablet-2.0")
|
||||
end)
|
||||
@@ -0,0 +1,111 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("AtlasQuest") then return end
|
||||
|
||||
-- AtlasQuest 4.4.3
|
||||
-- https://www.curseforge.com/wow/addons/atlas-quest-fan-update/files/442800
|
||||
|
||||
S:AddCallbackForAddon("AtlasQuest", "AtlasQuest", function()
|
||||
if not E.private.addOnSkins.AtlasQuest then return end
|
||||
|
||||
local buttons = {
|
||||
STORYbutton,
|
||||
OPTIONbutton,
|
||||
CLOSEbutton3,
|
||||
AQOptionCloseButton,
|
||||
}
|
||||
|
||||
local checkBoxes = {
|
||||
AQACB,
|
||||
AQHCB,
|
||||
AQFinishedQuest,
|
||||
AQAutoshowOption,
|
||||
AQLEFTOption,
|
||||
AQRIGHTOption,
|
||||
AQColourOption,
|
||||
AQCheckQuestlogButton,
|
||||
AQAutoQueryOption,
|
||||
AQNoQuerySpamOption,
|
||||
AQCompareTooltipOption,
|
||||
}
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(button)
|
||||
end
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(checkBox)
|
||||
end
|
||||
|
||||
AtlasQuestFrame:StripTextures()
|
||||
AtlasQuestFrame:SetTemplate("Transparent")
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("BOTTOMRIGHT", AtlasFrame, "BOTTOMLEFT", 1, 0)
|
||||
|
||||
AQ_HordeTexture:SetTexture("Interface\\TargetingFrame\\UI-PVP-HORDE")
|
||||
AQ_AllianceTexture:SetTexture("Interface\\TargetingFrame\\UI-PVP-ALLIANCE")
|
||||
|
||||
if AtlasMap then
|
||||
AtlasQuestInsideFrame:SetAllPoints(AtlasMap)
|
||||
end
|
||||
|
||||
AtlasQuestOptionFrame:StripTextures()
|
||||
AtlasQuestOptionFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(CLOSEbutton)
|
||||
CLOSEbutton:Point("TOPLEFT", 1, 0)
|
||||
|
||||
S:HandleCloseButton(CLOSEbutton2, AtlasQuestInsideFrame)
|
||||
|
||||
E:GetModule("Tooltip"):HookScript(AtlasQuestTooltip, "OnShow", "SetStyle")
|
||||
|
||||
for i = 1, 6 do
|
||||
_G["AtlasQuestItemframe"..i.."_Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
hooksecurefunc("AQLEFTOption_OnClick", function()
|
||||
if not AtlasFrame then return end
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("BOTTOMRIGHT", AtlasFrame, "BOTTOMLEFT", 1, 0)
|
||||
end)
|
||||
|
||||
hooksecurefunc("AQRIGHTOption_OnClick", function()
|
||||
if not AtlasFrame then return end
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("BOTTOMLEFT", AtlasFrame, "BOTTOMRIGHT", -1, 0)
|
||||
end)
|
||||
|
||||
AQ_AtlasOrAlphamap = function()
|
||||
if AtlasFrame and AtlasFrame:IsVisible() then
|
||||
AtlasORAlphaMap = "Atlas"
|
||||
AtlasQuestFrame:SetParent(AtlasFrame)
|
||||
|
||||
if AQ_ShownSide == "Right" then
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("BOTTOMLEFT", AtlasFrame, "BOTTOMRIGHT", -1, 0)
|
||||
else
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("BOTTOMRIGHT", AtlasFrame, "BOTTOMLEFT", 1, 0)
|
||||
end
|
||||
|
||||
AtlasQuestInsideFrame:SetParent(AtlasFrame)
|
||||
AtlasQuestInsideFrame:SetAllPoints(AtlasMap)
|
||||
elseif AlphaMapFrame and AlphaMapFrame:IsVisible() then
|
||||
AtlasORAlphaMap = "AlphaMap"
|
||||
AtlasQuestFrame:SetParent(AlphaMapFrame)
|
||||
|
||||
if AQ_ShownSide == "Right" then
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("TOP", "AlphaMapFrame", 400, -107)
|
||||
else
|
||||
AtlasQuestFrame:ClearAllPoints()
|
||||
AtlasQuestFrame:Point("TOPLEFT", "AlphaMapFrame", -195, -107)
|
||||
end
|
||||
|
||||
AtlasQuestInsideFrame:SetParent(AlphaMapFrame)
|
||||
AtlasQuestInsideFrame:ClearAllPoints()
|
||||
AtlasQuestInsideFrame:Point("TOPLEFT", "AlphaMapFrame", 1, -108)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,416 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Auctionator") then return end
|
||||
|
||||
local _G = _G
|
||||
local type = type
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemIcon = GetItemIcon
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetItemQualityColor = GetItemQualityColor
|
||||
|
||||
-- Auctionator 2.6.3
|
||||
-- https://www.curseforge.com/wow/addons/auctionator/files/426882
|
||||
|
||||
S:AddCallbackForAddon("Auctionator", "Auctionator", function()
|
||||
if not E.private.addOnSkins.Auctionator then return end
|
||||
|
||||
-- Error Frame
|
||||
Atr_Error_Frame:SetTemplate("Transparent")
|
||||
S:HandleButton((Atr_Error_Frame:GetChildren()))
|
||||
|
||||
-- BuyConfirm Frame
|
||||
Atr_Buy_Confirm_Frame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleEditBox(Atr_Buy_Confirm_Numstacks)
|
||||
|
||||
S:HandleButton(Atr_Buy_Confirm_OKBut)
|
||||
S:HandleButton(Atr_Buy_Confirm_CancelBut)
|
||||
|
||||
-- Advanced Search
|
||||
Atr_Adv_Search_Dialog:StripTextures()
|
||||
Atr_Adv_Search_Dialog:SetTemplate("Transparent")
|
||||
Atr_Adv_Search_Dialog:Point("TOPLEFT", 215, -183)
|
||||
|
||||
S:HandleEditBox(Atr_AS_Searchtext)
|
||||
S:HandleEditBox(Atr_AS_Minlevel)
|
||||
S:HandleEditBox(Atr_AS_Maxlevel)
|
||||
|
||||
S:HandleDropDownBox(Atr_ASDD_Class, 180)
|
||||
S:HandleDropDownBox(Atr_ASDD_Subclass, 180)
|
||||
|
||||
S:HandleButton(Atr_Adv_Search_ResetBut)
|
||||
S:HandleButton(Atr_Adv_Search_OKBut)
|
||||
S:HandleButton(Atr_Adv_Search_CancelBut)
|
||||
|
||||
hooksecurefunc("Atr_FullScanAnalyze", function()
|
||||
Atr_FullScanResults:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
end)
|
||||
|
||||
-- Full Scan
|
||||
Atr_FullScanFrame:StripTextures()
|
||||
Atr_FullScanFrame:SetTemplate("Transparent")
|
||||
Atr_FullScanFrame:Height(424)
|
||||
Atr_FullScanFrame:Point("TOPLEFT", 215, -116)
|
||||
|
||||
Atr_FullScanResults:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(Atr_FullScanStartButton)
|
||||
S:HandleButton(Atr_FullScanDone)
|
||||
|
||||
hooksecurefunc("Atr_ShowFullScanFrame", function()
|
||||
Atr_FullScanFrame:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
end)
|
||||
|
||||
-- Check Actives
|
||||
Atr_CheckActives_Frame:StripTextures()
|
||||
Atr_CheckActives_Frame:SetTemplate("Transparent")
|
||||
|
||||
local checkActivesButton1, checkActivesButton2 = Atr_CheckActives_Frame:GetChildren()
|
||||
S:HandleButton(checkActivesButton1)
|
||||
S:HandleButton(checkActivesButton2)
|
||||
|
||||
-- Confirm Frame
|
||||
Atr_Confirm_Frame:SetTemplate("Transparent")
|
||||
S:HandleButton(Atr_Confirm_Cancel)
|
||||
S:HandleButton((select(2, Atr_Confirm_Frame:GetChildren())))
|
||||
|
||||
local SELL_TAB = 1
|
||||
local BUY_TAB = 3
|
||||
hooksecurefunc("Atr_AuctionFrameTab_OnClick", function(self, index, down)
|
||||
if not index or type(index) == "string" then
|
||||
index = self:GetID()
|
||||
end
|
||||
|
||||
if Atr_IsAuctionatorTab(index) then
|
||||
if index == Atr_FindTabIndex(BUY_TAB) then
|
||||
Atr_Hlist:Height(242)
|
||||
Atr_Hlist_ScrollFrame:Height(242)
|
||||
else
|
||||
Atr_Hlist:Height(330)
|
||||
Atr_Hlist_ScrollFrame:Height(330)
|
||||
|
||||
if index == Atr_FindTabIndex(SELL_TAB) then
|
||||
Atr_Hlist_ScrollFrame:_Hide()
|
||||
AuctionFrameMoneyFrame:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc("Atr_SetTextureButton", function(elementName, count, itemlink)
|
||||
local button = _G[elementName]
|
||||
local buttonName = _G[elementName.."Name"]
|
||||
|
||||
if GetItemIcon(itemlink) then
|
||||
local _, _, quality = GetItemInfo(itemlink)
|
||||
if quality then
|
||||
local r, g, b = GetItemQualityColor(quality)
|
||||
|
||||
button:SetBackdropBorderColor(r, g, b)
|
||||
if buttonName then
|
||||
buttonName:SetTextColor(r, g, b)
|
||||
end
|
||||
else
|
||||
button:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
if buttonName then
|
||||
buttonName:SetTextColor(1, 0.82, 0)
|
||||
end
|
||||
end
|
||||
else
|
||||
button:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
if buttonName then
|
||||
buttonName:SetTextColor(1, 0.82, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
local function itemButtomSetNormalTexture(self, texture)
|
||||
self.normalTexture:SetTexture(texture)
|
||||
end
|
||||
local function skinItemButtom(frame)
|
||||
frame:StripTextures()
|
||||
frame:SetTemplate("Default", true)
|
||||
frame:StyleButton(nil, true)
|
||||
|
||||
frame:SetNormalTexture("")
|
||||
frame.normalTexture = frame:GetNormalTexture()
|
||||
frame.normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
frame.normalTexture:SetInside()
|
||||
frame.SetNormalTexture = itemButtomSetNormalTexture
|
||||
end
|
||||
|
||||
local function skinButtonHighlight(button)
|
||||
local highlight = button:GetHighlightTexture()
|
||||
highlight:SetTexCoord(0, 1, 0, 1)
|
||||
highlight:SetTexture(E.Media.Textures.Highlight)
|
||||
highlight:SetVertexColor(0.9, 0.9, 0.9, 0.35)
|
||||
|
||||
local pushed = button:GetPushedTexture()
|
||||
pushed:SetTexCoord(0, 1, 0, 1)
|
||||
pushed:SetTexture(E.Media.Textures.Highlight)
|
||||
pushed:SetVertexColor(0.9, 0.9, 0.9, 0.35)
|
||||
end
|
||||
|
||||
S:SecureHook("Atr_Init", function()
|
||||
S:Unhook("Atr_Init")
|
||||
|
||||
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.auctionhouse then
|
||||
for i = AuctionFrame.numTabs - 2, AuctionFrame.numTabs do
|
||||
local tab = _G["AuctionFrameTab"..i]
|
||||
S:HandleTab(tab)
|
||||
tab:Point("LEFT", _G["AuctionFrameTab"..(i - 1)], "RIGHT", -15, 0)
|
||||
end
|
||||
end
|
||||
|
||||
Atr_Main_Panel:Size(412, 424)
|
||||
|
||||
Atr_Mask:Size(819, 422)
|
||||
Atr_Mask:Point("TOPLEFT", 12, -117)
|
||||
|
||||
AuctionatorTitle:Point("TOP", 0, -5)
|
||||
|
||||
S:HandleButton(Atr_FullScanButton)
|
||||
Atr_FullScanButton:Height(22)
|
||||
Atr_FullScanButton:Point("RIGHT", Auctionator1Button, "LEFT", -5, 0)
|
||||
|
||||
S:HandleButton(Auctionator1Button)
|
||||
Auctionator1Button:Height(22)
|
||||
Auctionator1Button:Point("LEFT", Atr_Search_Button, "RIGHT", 177, 0)
|
||||
|
||||
S:HandleButton(AuctionatorCloseButton)
|
||||
S:HandleButton(Atr_CancelSelectionButton)
|
||||
S:HandleButton(Atr_Buy1_Button)
|
||||
|
||||
AuctionatorCloseButton:Point("BOTTOMRIGHT", 202, 8)
|
||||
Atr_Buy1_Button:Point("RIGHT", AuctionatorCloseButton, "LEFT", -5, 0)
|
||||
Atr_CancelSelectionButton:Point("RIGHT", Atr_Buy1_Button, "LEFT", -5, 0)
|
||||
|
||||
-- Left panel
|
||||
Atr_Hlist:StripTextures()
|
||||
Atr_Hlist:SetTemplate("Transparent")
|
||||
Atr_Hlist:Width(172)
|
||||
Atr_Hlist:Point("TOPLEFT", -191, -57)
|
||||
|
||||
Atr_Hlist_ScrollFrame:Width(172)
|
||||
Atr_Hlist_ScrollFrame:Point("TOPLEFT", -191, -57)
|
||||
Atr_Hlist_ScrollFrame._Hide = Atr_Hlist_ScrollFrame.Hide
|
||||
Atr_Hlist_ScrollFrame.Hide = E.noop
|
||||
|
||||
S:HandleScrollBar(Atr_Hlist_ScrollFrameScrollBar)
|
||||
Atr_Hlist_ScrollFrameScrollBar:Point("TOPLEFT", Atr_Hlist_ScrollFrame, "TOPRIGHT", 3, -19)
|
||||
Atr_Hlist_ScrollFrameScrollBar:Point("BOTTOMLEFT", Atr_Hlist_ScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
for i = 1, 20 do -- ITEM_HIST_NUM_LINES
|
||||
local button = _G["AuctionatorHEntry"..i]
|
||||
|
||||
button:Width(170)
|
||||
skinButtonHighlight(button)
|
||||
|
||||
_G["AuctionatorHEntry"..i.."_EntryText"]:Width(168)
|
||||
|
||||
if i == 1 then
|
||||
button:Point("TOPLEFT", 1, -1)
|
||||
else
|
||||
button:Point("TOPLEFT", 1, -1 - (i - 1) * 16)
|
||||
end
|
||||
end
|
||||
|
||||
-- Right panel
|
||||
Atr_Hilite1:SetTemplate("Transparent", nil, true)
|
||||
Atr_Hilite1:SetBackdropColor(0, 0, 0, 0)
|
||||
Atr_Hilite1:Height(112)
|
||||
Atr_Hilite1:Point("TOPLEFT", 5, -57)
|
||||
Atr_Hilite1:Point("RIGHT", 202, 0)
|
||||
|
||||
skinItemButtom(Atr_RecommendItem_Tex)
|
||||
|
||||
AuctionatorMessageFrame:Point("TOP", 100, -65)
|
||||
AuctionatorMessage2Frame:Point("TOP", 100, -55)
|
||||
|
||||
for i = 1, 3 do
|
||||
local tab = _G["Atr_ListTabsTab"..i]
|
||||
tab:StripTextures()
|
||||
S:HandleButton(tab)
|
||||
tab:Height(22)
|
||||
|
||||
if i ~= 3 then
|
||||
tab:Point("RIGHT", _G["Atr_ListTabsTab"..(i + 1)], "LEFT", -3, 0)
|
||||
end
|
||||
end
|
||||
|
||||
Atr_HeadingsBar:StripTextures()
|
||||
Atr_HeadingsBar:Point("TOPLEFT", 6, -152)
|
||||
Atr_HeadingsBar:CreateBackdrop("Transparent")
|
||||
Atr_HeadingsBar.backdrop:Point("TOPLEFT", -1, -41)
|
||||
Atr_HeadingsBar.backdrop:Point("BOTTOMRIGHT", 3, -171)
|
||||
|
||||
Atr_ListTabs:Point("BOTTOMRIGHT", Atr_HeadingsBar, "TOPRIGHT", 11, -22)
|
||||
|
||||
AuctionatorScrollFrame:Height(194)
|
||||
AuctionatorScrollFrame:Point("TOPLEFT", 5, -193)
|
||||
|
||||
S:HandleScrollBar(AuctionatorScrollFrameScrollBar)
|
||||
AuctionatorScrollFrameScrollBar:Point("TOPLEFT", AuctionatorScrollFrame, "TOPRIGHT", 3, -19)
|
||||
AuctionatorScrollFrameScrollBar:Point("BOTTOMLEFT", AuctionatorScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
for _, tab in ipairs({Atr_Col1_Heading_Button, Atr_Col3_Heading_Button}) do
|
||||
tab:StripTextures()
|
||||
tab:SetNormalTexture([[Interface\Buttons\UI-SortArrow]])
|
||||
tab:StyleButton()
|
||||
end
|
||||
|
||||
AuctionatorEntry1:Point("TOPLEFT", AuctionatorScrollFrame, "TOPLEFT", 1, -1)
|
||||
|
||||
for i = 1, 12 do
|
||||
local button = _G["AuctionatorEntry"..i]
|
||||
button:Width(586)
|
||||
skinButtonHighlight(button)
|
||||
end
|
||||
|
||||
AuctionatorScrollFrame:HookScript("OnShow", function(self)
|
||||
Atr_HeadingsBar.backdrop:Point("BOTTOMRIGHT", -18, -171)
|
||||
end)
|
||||
AuctionatorScrollFrame:HookScript("OnHide", function(self)
|
||||
Atr_HeadingsBar.backdrop:Point("BOTTOMRIGHT", 3, -171)
|
||||
end)
|
||||
|
||||
-- Buy tab
|
||||
S:HandleDropDownBox(Atr_DropDownSL, 221)
|
||||
Atr_DropDownSL:Point("TOPLEFT", -211, -29)
|
||||
|
||||
S:HandleEditBox(Atr_Search_Box)
|
||||
S:HandleButton(Atr_Search_Button)
|
||||
S:HandleButton(Atr_Adv_Search_Button)
|
||||
|
||||
Atr_Search_Box:Point("TOPLEFT", 20, -32)
|
||||
Atr_Search_Button:Point("LEFT", Atr_Search_Box, "RIGHT", 6, 0)
|
||||
|
||||
Atr_Adv_Search_Button:Height(22)
|
||||
Atr_Adv_Search_Button:Point("LEFT", Atr_Search_Button, "RIGHT", 5, 0)
|
||||
|
||||
S:HandleButton(Atr_AddToSListButton)
|
||||
Atr_AddToSListButton:Width(193)
|
||||
Atr_AddToSListButton:Point("TOPLEFT", -191, -304)
|
||||
|
||||
S:HandleButton(Atr_RemFromSListButton)
|
||||
Atr_RemFromSListButton:Width(193)
|
||||
Atr_RemFromSListButton:Point("TOPLEFT", -191, -325)
|
||||
|
||||
S:HandleButton(Atr_DelSListButton)
|
||||
Atr_DelSListButton:Width(193)
|
||||
Atr_DelSListButton:Point("TOPLEFT", -191, -346)
|
||||
|
||||
S:HandleButton(Atr_NewSListButton)
|
||||
Atr_NewSListButton:Width(193)
|
||||
Atr_NewSListButton:Point("TOPLEFT", -191, -367)
|
||||
|
||||
S:HandleButton(Atr_Back_Button)
|
||||
Atr_Back_Button:Height(22)
|
||||
Atr_Back_Button:Point("TOPLEFT", 7, 13)
|
||||
|
||||
-- Sell tab
|
||||
Atr_SellControls:SetTemplate("Transparent")
|
||||
Atr_SellControls:Size(193, 330)
|
||||
Atr_SellControls:Point("TOPLEFT", -191, -57)
|
||||
|
||||
skinItemButtom(Atr_SellControls_Tex)
|
||||
Atr_SellControls_Tex:Point("TOPLEFT", 11, -14)
|
||||
|
||||
Atr_StackPriceText:Point("TOPLEFT", 7, -56)
|
||||
Atr_ItemPriceText:Point("TOPLEFT", 7, -96)
|
||||
|
||||
S:HandleButton(Atr_CreateAuctionButton)
|
||||
Atr_CreateAuctionButton:Point("TOPLEFT", 4, -139)
|
||||
|
||||
Atr_Batch_Stacksize_Text:Point("TOPLEFT", 55, -177)
|
||||
Atr_Batch_NumAuctions:Point("TOPLEFT", Atr_Batch_Stacksize_Text, "TOPLEFT", -41, 0)
|
||||
|
||||
Atr_Batch_MaxAuctions_Text:ClearAllPoints()
|
||||
Atr_Batch_MaxAuctions_Text:Point("BOTTOM", Atr_Batch_NumAuctions, 0, -14)
|
||||
Atr_Batch_MaxStacksize_Text:ClearAllPoints()
|
||||
Atr_Batch_MaxStacksize_Text:Point("BOTTOM", Atr_Batch_Stacksize, 0, -14)
|
||||
|
||||
Atr_StartingPriceText:Point("TOPLEFT", 13, -229)
|
||||
Atr_StartingPriceDiscountText:Point("TOPLEFT", 10, -238)
|
||||
|
||||
Atr_Duration_Text:Point("TOPLEFT", 10, -276)
|
||||
Atr_Duration_Text.SetPoint = E.noop
|
||||
S:HandleDropDownBox(Atr_Duration, 130)
|
||||
|
||||
Atr_Deposit_Text:Point("TOPLEFT", 10, -304)
|
||||
|
||||
S:HandleEditBox(Atr_StackPriceGold)
|
||||
S:HandleEditBox(Atr_StackPriceSilver)
|
||||
S:HandleEditBox(Atr_StackPriceCopper)
|
||||
S:HandleEditBox(Atr_ItemPriceGold)
|
||||
S:HandleEditBox(Atr_ItemPriceSilver)
|
||||
S:HandleEditBox(Atr_ItemPriceCopper)
|
||||
S:HandleEditBox(Atr_StartingPriceGold)
|
||||
S:HandleEditBox(Atr_StartingPriceSilver)
|
||||
S:HandleEditBox(Atr_StartingPriceCopper)
|
||||
S:HandleEditBox(Atr_Batch_NumAuctions)
|
||||
S:HandleEditBox(Atr_Batch_Stacksize)
|
||||
|
||||
-- More tab
|
||||
S:HandleDropDownBox(Atr_DropDown1, 221)
|
||||
Atr_DropDown1:Point("TOPLEFT", -211, -29)
|
||||
|
||||
S:HandleButton(Atr_CheckActiveButton)
|
||||
Atr_CheckActiveButton:Size(193, 22)
|
||||
Atr_CheckActiveButton:Point("TOPLEFT", -191, -394)
|
||||
|
||||
if Atr_CancelAllUndercutsButton then
|
||||
S:HandleButton(Atr_CancelAllUndercutsButton)
|
||||
Atr_CancelAllUndercutsButton:Height(22)
|
||||
Atr_CancelAllUndercutsButton:Point("TOPLEFT", 7, -394)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Config
|
||||
Atr_BasicOptionsFrame:SetTemplate("Transparent")
|
||||
Atr_TooltipsOptionsFrame:SetTemplate("Transparent")
|
||||
Atr_UCConfigFrame:SetTemplate("Transparent")
|
||||
Atr_StackingOptionsFrame:SetTemplate("Transparent")
|
||||
Atr_ScanningOptionsFrame:SetTemplate("Transparent")
|
||||
AuctionatorDescriptionFrame:SetTemplate("Transparent")
|
||||
|
||||
Atr_Stacking_List:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCheckBox(AuctionatorOption_Enable_Alt_CB)
|
||||
S:HandleCheckBox(AuctionatorOption_Open_All_Bags_CB)
|
||||
S:HandleCheckBox(AuctionatorOption_Show_StartingPrice_CB)
|
||||
S:HandleCheckBox(AuctionatorOption_Def_Duration_CB)
|
||||
S:HandleCheckBox(ATR_tipsVendorOpt_CB)
|
||||
S:HandleCheckBox(ATR_tipsAuctionOpt_CB)
|
||||
S:HandleCheckBox(ATR_tipsDisenchantOpt_CB)
|
||||
|
||||
S:HandleDropDownBox(AuctionatorOption_Deftab)
|
||||
S:HandleDropDownBox(Atr_tipsShiftDD)
|
||||
S:HandleDropDownBox(Atr_deDetailsDD, 220)
|
||||
S:HandleDropDownBox(Atr_scanLevelDD)
|
||||
Atr_deDetailsDDText:SetJustifyH("RIGHT")
|
||||
|
||||
local moneyEditBoxes = {
|
||||
"UC_5000000_MoneyInput",
|
||||
"UC_1000000_MoneyInput",
|
||||
"UC_200000_MoneyInput",
|
||||
"UC_50000_MoneyInput",
|
||||
"UC_10000_MoneyInput",
|
||||
"UC_2000_MoneyInput",
|
||||
"UC_500_MoneyInput",
|
||||
}
|
||||
for _, name in ipairs(moneyEditBoxes) do
|
||||
S:HandleEditBox(_G[name.."Gold"])
|
||||
S:HandleEditBox(_G[name.."Silver"])
|
||||
S:HandleEditBox(_G[name.."Copper"])
|
||||
end
|
||||
S:HandleEditBox(Atr_Starting_Discount)
|
||||
|
||||
S:HandleButton(Atr_UCConfigFrame_Reset)
|
||||
S:HandleButton(Atr_StackingOptionsFrame_Edit)
|
||||
S:HandleButton(Atr_StackingOptionsFrame_New)
|
||||
end)
|
||||
@@ -0,0 +1,651 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Auc-Advanced") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- AuctioneerSuite 5.8.4723
|
||||
-- https://www.curseforge.com/wow/addons/auctioneer/files/427823
|
||||
|
||||
S:AddCallbackForAddon("Auc-Advanced", "Auc-Advanced", function()
|
||||
if not E.private.addOnSkins.AuctioneerSuite then return end
|
||||
|
||||
AS:SkinLibrary("Configator")
|
||||
AS:SkinLibrary("LibExtraTip-1")
|
||||
|
||||
local function setMoneyBackdropColor(self, r, g, b, a)
|
||||
if a == 0 then
|
||||
r, g, b = unpack(E.media.bordercolor)
|
||||
self.backdrop:SetBackdropBorderColor(r, g, b, 1)
|
||||
else
|
||||
self.backdrop:SetBackdropBorderColor(r, g, b, a)
|
||||
end
|
||||
end
|
||||
local function skinMoneyFrame(obj, hookBackdropColor)
|
||||
if obj.gold then
|
||||
S:HandleEditBox(obj.gold)
|
||||
if hookBackdropColor then
|
||||
obj.gold:SetBackdrop(nil)
|
||||
obj.gold.SetBackdropColor = setMoneyBackdropColor
|
||||
end
|
||||
end
|
||||
if obj.silver then
|
||||
S:HandleEditBox(obj.silver)
|
||||
if hookBackdropColor then
|
||||
obj.silver:SetBackdrop(nil)
|
||||
obj.silver.SetBackdropColor = setMoneyBackdropColor
|
||||
end
|
||||
end
|
||||
if obj.copper then
|
||||
S:HandleEditBox(obj.copper)
|
||||
if hookBackdropColor then
|
||||
obj.copper:SetBackdrop(nil)
|
||||
obj.copper.SetBackdropColor = setMoneyBackdropColor
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function skinEditBox(obj)
|
||||
if not obj then return end
|
||||
|
||||
local objName = obj:GetName()
|
||||
if objName then
|
||||
_G[objName.."Left"]:Hide()
|
||||
_G[objName.."Middle"]:Hide()
|
||||
_G[objName.."Right"]:Hide()
|
||||
else
|
||||
for i = 1, obj:GetNumRegions() do
|
||||
local region = select(i, obj:GetRegions())
|
||||
if region.IsObjectType and region:IsObjectType("Texture") and region:GetTexture() == "Interface\\Common\\Common-Input-Border" then
|
||||
region:Hide()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
obj:Height(17)
|
||||
obj:CreateBackdrop("Default")
|
||||
obj.backdrop:Point("TOPLEFT", -2, 0)
|
||||
obj.backdrop:Point("BOTTOMRIGHT", 2, 0)
|
||||
obj.backdrop:SetParent(obj:GetParent())
|
||||
obj:SetParent(obj.backdrop)
|
||||
end
|
||||
|
||||
local Appraiser = AucAdvanced.Modules.Util.Appraiser
|
||||
if Appraiser then
|
||||
S:SecureHook(Appraiser.Private, "CreateFrames", function()
|
||||
AucAdvanced.Settings.SetDefault("util.mover.anchors", {"TOPLEFT", UIParent, "TOPLEFT", 0, -116})
|
||||
|
||||
local frame = Appraiser.Private.frame
|
||||
|
||||
local title = frame:GetRegions()
|
||||
title:Point("TOPLEFT", 80, -10)
|
||||
|
||||
frame.toggleManifest:Point("TOPRIGHT", -30, -8)
|
||||
frame.config:Point("TOPRIGHT", frame.toggleManifest, "TOPLEFT", -3, 0)
|
||||
|
||||
S:HandleButton(frame.toggleManifest)
|
||||
S:HandleButton(frame.config)
|
||||
S:HandleButton(frame.switchToStack)
|
||||
S:HandleButton(frame.switchToStack2)
|
||||
S:HandleButton(frame.go)
|
||||
S:HandleButton(frame.gobatch)
|
||||
S:HandleButton(frame.refresh)
|
||||
S:HandleButton(frame.cancel)
|
||||
|
||||
frame.go:Height(22)
|
||||
frame.go:Point("BOTTOMRIGHT", -8, 31)
|
||||
frame.gobatch:Height(22)
|
||||
frame.gobatch:Point("BOTTOMRIGHT", -91, 31)
|
||||
frame.refresh:Height(22)
|
||||
frame.refresh:Point("BOTTOMRIGHT", -174, 31)
|
||||
frame.cancel:Size(24, 22)
|
||||
frame.cancel:Point("BOTTOMLEFT", 180, 31)
|
||||
|
||||
-- Left Panel
|
||||
frame.itembox:SetTemplate("Transparent")
|
||||
frame.itembox:Size(230, 339)
|
||||
frame.itembox:Point("TOPLEFT", 19, -48)
|
||||
|
||||
frame.itembox.showAuctions:Point("BOTTOMRIGHT", frame.itembox, "TOPRIGHT", -30 -Auc_Util_Appraiser_ShowAuctionsText:GetWidth(), 0)
|
||||
frame.itembox.showText:Point("BOTTOMRIGHT", frame.itembox.showHidden, "BOTTOMLEFT", 0, 1)
|
||||
|
||||
S:HandleSliderFrame(frame.scroller)
|
||||
frame.scroller:SetPoint("TOPRIGHT", 0, 0)
|
||||
frame.scroller:SetPoint("BOTTOM", 0, 0)
|
||||
|
||||
for i, item in ipairs(frame.items) do
|
||||
if i == 1 then
|
||||
item:Point("TOPLEFT", 4, -8)
|
||||
end
|
||||
item:Point("RIGHT", frame.itembox, "RIGHT", -15,0)
|
||||
|
||||
S:HandleButtonHighlight(item)
|
||||
|
||||
item.name:Point("TOPLEFT", item.icon, "TOPRIGHT", 3, 0)
|
||||
item.info:Point("BOTTOMLEFT", item.icon, "BOTTOMRIGHT", 3, -2)
|
||||
item.bg:Hide()
|
||||
|
||||
item.iconbutton:SetTemplate("Default")
|
||||
|
||||
item.icon:SetInside()
|
||||
item.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
-- SaleBox
|
||||
frame.salebox:SetTemplate("Transparent")
|
||||
frame.salebox:Point("TOPLEFT", frame.itembox, "TOPRIGHT", 3, 12)
|
||||
frame.salebox:Point("RIGHT", -8, 0)
|
||||
|
||||
S:HandleCheckBox(frame.salebox.numberonly)
|
||||
S:HandleCheckBox(frame.salebox.matcher)
|
||||
S:HandleCheckBox(frame.salebox.ignore)
|
||||
S:HandleCheckBox(frame.salebox.bulk)
|
||||
|
||||
S:HandleSliderFrame(frame.salebox.stack)
|
||||
S:HandleSliderFrame(frame.salebox.number)
|
||||
S:HandleSliderFrame(frame.salebox.duration)
|
||||
|
||||
S:HandleEditBox(frame.salebox.numberentry)
|
||||
S:HandleEditBox(frame.salebox.stackentry)
|
||||
|
||||
skinMoneyFrame(frame.salebox.bid, true)
|
||||
skinMoneyFrame(frame.salebox.buy, true)
|
||||
skinMoneyFrame(frame.salebox.bid.stack, true)
|
||||
skinMoneyFrame(frame.salebox.buy.stack, true)
|
||||
|
||||
S:HandleDropDownBox(frame.salebox.model, 140)
|
||||
|
||||
frame.salebox.slot:SetTexture(nil)
|
||||
|
||||
frame.salebox.slotBackdrop = CreateFrame("Frame", nil, frame.salebox)
|
||||
frame.salebox.slotBackdrop:SetTemplate("Default")
|
||||
frame.salebox.slotBackdrop:SetOutside(frame.salebox.icon)
|
||||
|
||||
frame.salebox.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
|
||||
hooksecurefunc(Appraiser.Private.frame, "SelectItem", function(link)
|
||||
if not Appraiser.Private.frame.salebox.sig then return end
|
||||
|
||||
Appraiser.Private.frame.salebox.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end)
|
||||
|
||||
-- ImageView
|
||||
frame.imageview:SetTemplate("Transparent")
|
||||
frame.imageview:Point("TOPLEFT", frame.salebox, "BOTTOMLEFT", 0, -3)
|
||||
frame.imageview:SetPoint("BOTTOM", frame.itembox, "BOTTOM", 0, 0)
|
||||
frame.imageview.purchase:SetBackdrop(nil)
|
||||
|
||||
frame.imageview.purchase:Point("TOPLEFT", frame.imageview, "BOTTOMLEFT", 0, 23)
|
||||
frame.imageview.purchase:SetPoint("BOTTOMRIGHT", 0, 0)
|
||||
|
||||
S:HandleCheckBox(frame.itembox.showAuctions)
|
||||
S:HandleCheckBox(frame.itembox.showHidden)
|
||||
|
||||
S:HandleButton(frame.imageview.purchase.buy)
|
||||
S:HandleButton(frame.imageview.purchase.bid)
|
||||
|
||||
-- Manifest
|
||||
frame.manifest:SetTemplate("Transparent")
|
||||
frame.manifest:Point("TOPLEFT", frame, "TOPRIGHT", -1, 0)
|
||||
frame.manifest:Point("BOTTOM", 0, 60)
|
||||
|
||||
frame.manifest.close:Size(32)
|
||||
S:HandleCloseButton(frame.manifest.close, frame.manifest)
|
||||
|
||||
-- SellerIgnore
|
||||
frame.sellerIgnore:SetTemplate("Transparent")
|
||||
|
||||
frame.sellerIgnore.help:Point("CENTER", frame.sellerIgnore, "TOP", 0, -20)
|
||||
|
||||
frame.sellerIgnore.yes:Height(21)
|
||||
S:HandleButton(frame.sellerIgnore.yes)
|
||||
|
||||
frame.sellerIgnore.no:Height(21)
|
||||
S:HandleButton(frame.sellerIgnore.no)
|
||||
|
||||
S:Unhook(Appraiser.Private,"CreateFrames")
|
||||
end)
|
||||
end
|
||||
|
||||
local AutoMagic = AucAdvanced.Modules.Util.AutoMagic
|
||||
if AutoMagic then
|
||||
local frame = autosellframe
|
||||
|
||||
frame:SetTemplate("Transparent")
|
||||
frame.baglist:SetTemplate("Transparent")
|
||||
frame.resultlist:SetTemplate("Transparent")
|
||||
|
||||
S:HandleScrollBar(frame.baglist.sheet.panel.vScroll)
|
||||
S:HandleScrollBar(frame.resultlist.sheet.panel.vScroll)
|
||||
S:HandleScrollBar(frame.resultlist.sheet.panel.hScroll, true)
|
||||
|
||||
S:HandleButton(frame.additem)
|
||||
S:HandleButton(frame.removeitem)
|
||||
S:HandleButton(frame.bagList)
|
||||
S:HandleButton(frame.closeButton)
|
||||
|
||||
frame.slot:CreateBackdrop("Default")
|
||||
frame.slot.backdrop:Point("TOPLEFT", frame.slot, 3, -3)
|
||||
frame.slot.backdrop:Point("BOTTOMRIGHT", frame.slot, -4, 4)
|
||||
frame.slot:SetTexture(nil)
|
||||
frame.slot:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
frame.icon:GetHighlightTexture():SetInside()
|
||||
frame.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
|
||||
hooksecurefunc(frame, "ClearIcon", function()
|
||||
frame.slot:SetTexture(nil)
|
||||
end)
|
||||
end
|
||||
|
||||
local Glypher = AucAdvanced.Modules.Util.Glypher
|
||||
if Glypher then
|
||||
S:SecureHook(Glypher.Private, "SetupConfigGui", function()
|
||||
local frame = Glypher.Private.frame
|
||||
|
||||
S:HandleButton(frame.refreshButton)
|
||||
S:HandleButton(frame.searchButton)
|
||||
S:HandleButton(frame.skilletButton)
|
||||
|
||||
frame.glypher:SetTemplate("Transparent")
|
||||
|
||||
S:Unhook(Glypher.Private, "SetupConfigGui")
|
||||
end)
|
||||
end
|
||||
|
||||
local GlypherPost = AucAdvanced.Modules.Util.GlypherPost
|
||||
if GlypherPost then
|
||||
S:SecureHook(GlypherPost.Private, "SetupConfigGui", function()
|
||||
S:HandleButton(GlypherPost.Private.frame.refreshButton)
|
||||
S:Unhook(GlypherPost.Private, "SetupConfigGui")
|
||||
end)
|
||||
end
|
||||
|
||||
local SearchUI = AucAdvanced.Modules.Util.SearchUI
|
||||
if SearchUI then
|
||||
local private = SearchUI.Private
|
||||
|
||||
function SearchUI.AttachToAH()
|
||||
if private.isAttached then return end
|
||||
local gui = private.gui
|
||||
gui.buttonTop = -43
|
||||
local height, width = 410, 830
|
||||
gui:SetPosition(gui.AuctionFrame, width, height, 7, 21 + height)
|
||||
gui:HideBackdrop()
|
||||
gui:EnableMouse(false)
|
||||
gui:RealSetScale(0.9999)
|
||||
gui:RealSetScale(1.0)
|
||||
gui:Show()
|
||||
private.isAttached = true
|
||||
end
|
||||
|
||||
S:SecureHook(SearchUI, "CreateAuctionFrames", function()
|
||||
local frame = private.gui.AuctionFrame
|
||||
|
||||
if frame then
|
||||
frame.title:Point("TOP", 0, -5)
|
||||
|
||||
frame.scanslabel:Point("TOPLEFT", 50, -28)
|
||||
|
||||
frame.backing:SetBackdrop(nil)
|
||||
frame.money:Hide()
|
||||
|
||||
S:Unhook(SearchUI, "CreateAuctionFrames")
|
||||
end
|
||||
end)
|
||||
|
||||
S:SecureHook(SearchUI, "MakeGuiConfig", function()
|
||||
local gui = private.gui
|
||||
|
||||
-- Top Buttons
|
||||
gui.saves:Height(24)
|
||||
gui.saves:Point("TOPRIGHT", -5, -6)
|
||||
|
||||
S:HandleEditBox(gui.saves.name)
|
||||
|
||||
gui.saves.select.button:Point("TOPRIGHT", -18, -3)
|
||||
S:HandleNextPrevButton(gui.saves.select.button, "down", {1, 0.8, 0})
|
||||
|
||||
S:HandleButton(gui.saves.load)
|
||||
S:HandleButton(gui.saves.save)
|
||||
S:HandleButton(gui.saves.delete)
|
||||
S:HandleButton(gui.saves.reset)
|
||||
|
||||
-- Left Panel
|
||||
gui.LeftBackground = CreateFrame("Frame", nil, gui)
|
||||
gui.LeftBackground.SetFrameLevel = E.noop
|
||||
gui.LeftBackground:SetTemplate("Transparent")
|
||||
gui.LeftBackground:Size(150, 317)
|
||||
gui.LeftBackground:Point("TOPLEFT", 12, -33)
|
||||
|
||||
gui.buttons[1]:Point("TOPLEFT", 12, -34)
|
||||
gui.buttons[1].SetPoint = E.noop
|
||||
|
||||
-- Right Panel
|
||||
for _, tab in ipairs(gui.tabs) do
|
||||
tab.topOffset = 23
|
||||
tab.expandGap = 26
|
||||
tab.frame:Point("TOPLEFT", 160 + tab.leftOffset, -10 - tab.topOffset)
|
||||
end
|
||||
|
||||
gui.frame:SetTemplate("Transparent")
|
||||
gui.frame:Point("TOP", 0, -119)
|
||||
gui.frame:Point("LEFT", gui:GetButton(1), "RIGHT", 3, 0)
|
||||
gui.frame:Point("BOTTOMRIGHT", gui.Done, "TOPRIGHT", -5, 31)
|
||||
|
||||
-- Bottom Buttons
|
||||
S:HandleButton(gui.Search)
|
||||
S:HandleButton(gui.frame.cancel)
|
||||
S:HandleButton(gui.frame.purchase)
|
||||
S:HandleButton(gui.frame.notnow)
|
||||
S:HandleButton(gui.frame.ignore)
|
||||
S:HandleButton(gui.frame.ignoreperm)
|
||||
S:HandleButton(gui.frame.snatch)
|
||||
S:HandleButton(gui.frame.clear)
|
||||
S:HandleButton(gui.frame.buyout)
|
||||
S:HandleButton(gui.frame.bid)
|
||||
|
||||
skinMoneyFrame(gui.frame.bidbox)
|
||||
|
||||
gui.Search:Point("BOTTOMLEFT", 72, 34)
|
||||
gui.frame.cancel:Size(24, 21)
|
||||
gui.frame.cancel:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 39, 34)
|
||||
|
||||
gui.frame.purchase:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 170, 34)
|
||||
gui.frame.notnow:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 263, 34)
|
||||
gui.frame.ignore:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 400, 34)
|
||||
gui.frame.ignoreperm:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 493, 34)
|
||||
gui.frame.snatch:Point("BOTTOMLEFT", gui, "BOTTOMLEFT", 650, 34)
|
||||
gui.frame.bidbox:Point("BOTTOMRIGHT", gui.frame.bid, "BOTTOMLEFT", -4, 3)
|
||||
|
||||
-- ProgressBar
|
||||
gui.frame.progressbar:SetTemplate("Transparent")
|
||||
gui.frame.progressbar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(gui.frame.progressbar)
|
||||
|
||||
S:HandleButton(gui.frame.progressbar.cancel)
|
||||
|
||||
S:Unhook(SearchUI, "MakeGuiConfig")
|
||||
end)
|
||||
|
||||
local RealTime = SearchUI.Searchers.RealTime
|
||||
if RealTime then
|
||||
S:SecureHook(RealTime, "HookAH", function()
|
||||
local button = AS:GetObjectChildren(AuctionFrameBrowse)
|
||||
|
||||
button:Point("TOPRIGHT", AuctionFrameBrowse, "TOPLEFT", 229, -6)
|
||||
S:HandleButton(button.control)
|
||||
|
||||
S:Unhook(RealTime, "HookAH")
|
||||
end)
|
||||
end
|
||||
|
||||
local Snatch = SearchUI.Searchers.Snatch
|
||||
if Snatch then
|
||||
S:SecureHook(Snatch, "MakeGuiConfig", function(self, gui)
|
||||
local frame = self.Private.frame
|
||||
|
||||
frame.snatchlist:SetBackdrop(nil)
|
||||
|
||||
frame.slot:Hide()
|
||||
|
||||
frame.icon:SetTemplate("Default")
|
||||
frame.icon:GetHighlightTexture():SetInside()
|
||||
frame.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
|
||||
skinMoneyFrame(frame.money)
|
||||
skinEditBox(frame.pctBox)
|
||||
|
||||
S:HandleButton(frame.additem)
|
||||
S:HandleButton(frame.removeitem)
|
||||
S:HandleButton(frame.resetList)
|
||||
|
||||
S:Unhook(Snatch, "MakeGuiConfig")
|
||||
end)
|
||||
|
||||
hooksecurefunc(Snatch, "SetWorkingItem", function(link)
|
||||
if not Snatch.Private.workingItemLink then return end
|
||||
|
||||
Snatch.Private.frame.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
Snatch.Private.frame.icon:GetNormalTexture():SetInside()
|
||||
end)
|
||||
end
|
||||
|
||||
local ItemPrice = SearchUI.Filters.ItemPrice
|
||||
if ItemPrice then
|
||||
S:SecureHook(ItemPrice, "MakeGuiConfig", function(self, gui)
|
||||
local t, id = gui:GetTabByName(ItemPrice.tabname, "Filters")
|
||||
if t then
|
||||
local ignorelistGUI, removebutton = AS:GetObjectChildren(gui.tabs[id][3], -1, true)
|
||||
ignorelistGUI:SetTemplate("Default")
|
||||
S:HandleButton(removebutton)
|
||||
end
|
||||
|
||||
S:Unhook(ItemPrice, "MakeGuiConfig")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
local CompactUI = AucAdvanced.Modules.Util.CompactUI
|
||||
if CompactUI then
|
||||
local private = CompactUI.Private
|
||||
|
||||
S:HandleButton(private.switchUI)
|
||||
|
||||
-- SellerIgnore
|
||||
private.sellerIgnore:SetTemplate("Transparent")
|
||||
|
||||
private.sellerIgnore.help:Point("CENTER", private.sellerIgnore, "TOP", 0, -20)
|
||||
|
||||
private.sellerIgnore.yes:Height(21)
|
||||
S:HandleButton(private.sellerIgnore.yes)
|
||||
|
||||
private.sellerIgnore.no:Height(21)
|
||||
S:HandleButton(private.sellerIgnore.no)
|
||||
|
||||
S:SecureHook(private, "HookAH", function()
|
||||
private.switchUI:Point("TOPRIGHT", AuctionFrameBrowse, "TOPRIGHT", -120, -6)
|
||||
|
||||
BrowseButton1:Point("TOPLEFT", 188, -87)
|
||||
|
||||
local i = 1
|
||||
local button = _G["BrowseButton"..i]
|
||||
while button do
|
||||
button.Icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
i = i + 1
|
||||
button = _G["BrowseButton"..i]
|
||||
end
|
||||
_G["BrowseButton"..(i - 1)]:Show()
|
||||
|
||||
local _, tex = BrowsePrevPageButton:GetPoint()
|
||||
tex:Size(614, 32)
|
||||
tex:Point("TOPLEFT", private.buttons[#private.buttons].Count, "BOTTOMLEFT", 0, -1)
|
||||
|
||||
S:HandleCheckBox(private.PerItem)
|
||||
private.PerItem:Point("TOPLEFT", tex, "TOPLEFT", 3, -3)
|
||||
private.PerItem:SetFrameLevel(AuctionFrameBrowse:GetFrameLevel() + 2)
|
||||
|
||||
BrowseSearchCountText:Point("BOTTOMRIGHT", tex, "BOTTOMRIGHT", -40, 20)
|
||||
|
||||
-- prevent main AH skin from repointing
|
||||
BrowseButton1.SetPoint = E.noop
|
||||
BrowsePrevPageButton.SetPoint = E.noop
|
||||
BrowseNextPageButton.SetPoint = E.noop
|
||||
BrowseSearchCountText.SetPoint = E.noop
|
||||
|
||||
S:Unhook(private, "HookAH")
|
||||
end)
|
||||
end
|
||||
|
||||
local ScanButton = AucAdvanced.Modules.Util.ScanButton
|
||||
if ScanButton then
|
||||
S:SecureHook(ScanButton.Private, "HookAH", function()
|
||||
local private = ScanButton.Private
|
||||
|
||||
private.buttons:Point("TOPLEFT", AuctionFrameBrowse, 100, -6)
|
||||
|
||||
S:HandleButton(private.buttons.stop)
|
||||
S:HandleButton(private.buttons.play)
|
||||
S:HandleButton(private.buttons.pause)
|
||||
S:HandleButton(private.buttons.getall)
|
||||
|
||||
private.message:SetTemplate("Transparent")
|
||||
S:HandleButton(private.message.Done)
|
||||
|
||||
S:Unhook(ScanButton.Private, "HookAH")
|
||||
end)
|
||||
end
|
||||
|
||||
local SimpleAuction = AucAdvanced.Modules.Util.SimpleAuction
|
||||
if SimpleAuction then
|
||||
S:SecureHook(SimpleAuction.Private, "CreateFrames", function()
|
||||
local frame = SimpleAuction.Private.frame
|
||||
|
||||
-- BrowseFrame
|
||||
S:HandleButton(frame.scanbutton)
|
||||
frame.scanbutton:Height(22)
|
||||
frame.scanbutton:Point("LEFT", AuctionFrameMoneyFrame, "RIGHT", 6, -1)
|
||||
|
||||
-- PostFrame
|
||||
frame.title:Point("TOP", 0, -5)
|
||||
|
||||
S:HandleButton(frame.config)
|
||||
frame.config:Point("TOPRIGHT", -30, -8)
|
||||
|
||||
frame.slot:SetTexture(nil)
|
||||
frame.slot:Size(42)
|
||||
frame.slot:Point("TOPLEFT", 80, -24)
|
||||
|
||||
frame.name:Point("TOPLEFT", frame.slot, "TOPRIGHT", 6, 0)
|
||||
|
||||
frame.icon:SetTemplate("Default")
|
||||
frame.icon:SetPoint("TOPLEFT", frame.slot, "TOPLEFT", 0, 0)
|
||||
frame.icon:GetHighlightTexture():SetInside()
|
||||
frame.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
|
||||
S:HandleButton(frame.refresh)
|
||||
S:HandleButton(frame.bid)
|
||||
S:HandleButton(frame.buy)
|
||||
|
||||
frame.refresh:Height(22)
|
||||
frame.refresh:Point("BOTTOMRIGHT", -174, 31)
|
||||
frame.bid:Height(22)
|
||||
frame.bid:Point("TOPLEFT", frame.refresh, "TOPRIGHT", 3, 0)
|
||||
frame.buy:Height(22)
|
||||
frame.buy:Point("TOPLEFT", frame.bid, "TOPRIGHT", 3, 0)
|
||||
|
||||
-- Left Panel
|
||||
frame.LeftBackground = CreateFrame("Frame", nil, frame)
|
||||
frame.LeftBackground:SetFrameLevel(frame:GetFrameLevel() - 1)
|
||||
frame.LeftBackground:SetTemplate("Transparent")
|
||||
frame.LeftBackground:Point("TOPLEFT", 19, -75)
|
||||
frame.LeftBackground:Point("BOTTOMRIGHT", -648, 60)
|
||||
|
||||
skinMoneyFrame(frame.minprice)
|
||||
skinMoneyFrame(frame.buyout)
|
||||
|
||||
S:HandleEditBox(frame.stacks.num)
|
||||
S:HandleEditBox(frame.stacks.size)
|
||||
|
||||
S:HandleButton(frame.create)
|
||||
S:HandleButton(frame.clear)
|
||||
|
||||
for pos in ipairs(frame.duration.time.intervals) do
|
||||
S:HandleCheckBox(frame.duration.time[pos])
|
||||
end
|
||||
|
||||
for _, obj in pairs(frame.options) do
|
||||
if type(obj) == "table" and obj.GetObjectType and obj:GetObjectType() == "CheckButton" then
|
||||
S:HandleCheckBox(obj)
|
||||
end
|
||||
end
|
||||
|
||||
frame.minprice:Point("TOPLEFT", 24, -92)
|
||||
|
||||
frame.options:Point("TOPLEFT", frame.stacks, "BOTTOMLEFT", 0, -37)
|
||||
|
||||
frame.create:Width(157)
|
||||
frame.create:Point("BOTTOMRIGHT", AuctionFrameMoneyFrame, "TOPRIGHT", -1, 14)
|
||||
frame.clear:Width(157)
|
||||
frame.clear:Point("BOTTOMRIGHT", frame.create, "TOPRIGHT", 0, 3)
|
||||
|
||||
-- ImageView
|
||||
frame.imageview:SetTemplate("Transparent")
|
||||
frame.imageview:Point("TOPLEFT", 187, -75)
|
||||
frame.imageview:Point("TOPRIGHT", -8, 0)
|
||||
frame.imageview:Point("BOTTOM", 0, 60)
|
||||
|
||||
S:Unhook(SimpleAuction.Private, "CreateFrames")
|
||||
end)
|
||||
|
||||
hooksecurefunc(SimpleAuction.Private, "LoadItemLink", function(link)
|
||||
if not SimpleAuction.Private.frame.icon.itemLink then return end
|
||||
|
||||
SimpleAuction.Private.frame.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
SimpleAuction.Private.frame.icon:GetNormalTexture():SetInside()
|
||||
end)
|
||||
end
|
||||
|
||||
local Scan = AucAdvanced.Scan
|
||||
if Scan then
|
||||
hooksecurefunc(Scan , "ProgressBars", function(self)
|
||||
if self.isSkinned then return end
|
||||
|
||||
self:SetTemplate("Transparent")
|
||||
self:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(self)
|
||||
|
||||
self.isSkinned = true
|
||||
end)
|
||||
end
|
||||
|
||||
if AucAdvanced.Buy then
|
||||
AucAdvanced.Buy.Private.Prompt.Frame:SetTemplate("Transparent")
|
||||
S:HandleEditBox(AucAdvanced.Buy.Private.Prompt.Reason)
|
||||
S:HandleButton(AucAdvanced.Buy.Private.Prompt.Yes)
|
||||
S:HandleButton(AucAdvanced.Buy.Private.Prompt.No)
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("Auc-Filter-Basic", "Auc-Filter-Basic", function()
|
||||
if not E.private.addOnSkins.AuctioneerSuite then return end
|
||||
|
||||
S:HandleButton(BasicFilter_IgnoreList_IgnorePlayerButton)
|
||||
S:HandleButton(BasicFilter_IgnoreList_StopIgnoreButton)
|
||||
|
||||
BasicFilter_IgnoreList_ScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(BasicFilter_IgnoreList_ScrollFrameScrollBar)
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("Auc-Stat-Histogram", "Auc-Stat-Histogram", function()
|
||||
if not E.private.addOnSkins.AuctioneerSuite then return end
|
||||
|
||||
local StatHistogram = AucAdvanced.GetModule("Stat", "Histogram")
|
||||
if StatHistogram then
|
||||
S:SecureHook(StatHistogram.Private, "SetupConfigGui", function()
|
||||
local frame = StatHistogram.Private.frame
|
||||
|
||||
frame.slot:Hide()
|
||||
|
||||
frame.icon:SetTemplate("Default")
|
||||
frame.icon:GetHighlightTexture():SetInside()
|
||||
frame.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
|
||||
frame.bargraph:SetTemplate("Default")
|
||||
|
||||
S:Unhook(StatHistogram.Private, "SetupConfigGui")
|
||||
end)
|
||||
|
||||
hooksecurefunc(StatHistogram, "SetWorkingItem", function(link)
|
||||
if not StatHistogram.Private.frame.link then return end
|
||||
|
||||
StatHistogram.Private.frame.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
StatHistogram.Private.frame.icon:GetNormalTexture():SetInside()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,155 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BeanCounter") then return end
|
||||
|
||||
-- BeanCounter 5.8.4723
|
||||
-- https://www.curseforge.com/wow/addons/auctioneer/files/427823
|
||||
|
||||
S:AddCallbackForAddon("BeanCounter", "BeanCounter", function()
|
||||
if not E.private.addOnSkins.BeanCounter then return end
|
||||
|
||||
AS:SkinLibrary("Configator")
|
||||
AS:SkinLibrary("LibExtraTip-1")
|
||||
|
||||
local base = BeanCounterBaseFrame
|
||||
if base then
|
||||
local private = BeanCounter.Private
|
||||
local frame = private.frame
|
||||
|
||||
-- External GUI
|
||||
base:SetBackdrop(nil)
|
||||
base:Size(832, 447)
|
||||
base:SetMinResize(832, 447)
|
||||
base:SetMaxResize(1500, 447)
|
||||
|
||||
base:CreateBackdrop("Transparent")
|
||||
base.backdrop:Point("TOPLEFT", 11, 0)
|
||||
base.backdrop:Point("BOTTOMRIGHT", 0, -2)
|
||||
S:SetBackdropHitRect(base)
|
||||
|
||||
base.Drag:Point("TOPLEFT", 22, -1)
|
||||
base.Drag:Point("TOPRIGHT", -11, -1)
|
||||
|
||||
base.DragBottom:Point("BOTTOMLEFT", 22, 1)
|
||||
base.DragBottom:Point("BOTTOMRIGHT", -11, 1)
|
||||
|
||||
S:HandleButton(base.Done)
|
||||
base.Done:Height(18)
|
||||
base.Done:Point("BOTTOMRIGHT", -47, 6)
|
||||
|
||||
S:HandleNextPrevButton(base.Resizer, "right")
|
||||
base.Resizer:Point("BOTTOMRIGHT", -8, 6)
|
||||
|
||||
-- Actual Usable Frame
|
||||
local title = frame:GetRegions()
|
||||
title:Point("TOPLEFT", 80, -10)
|
||||
|
||||
S:HandleButton(frame.Config)
|
||||
frame.Config:Point("TOPRIGHT", -30, -8)
|
||||
|
||||
-- Left Panel
|
||||
frame.LeftBackground = CreateFrame("Frame", nil, frame)
|
||||
frame.LeftBackground:SetFrameLevel(frame:GetFrameLevel() - 1)
|
||||
frame.LeftBackground.SetFrameLevel = E.noop
|
||||
frame.LeftBackground:SetTemplate("Transparent")
|
||||
frame.LeftBackground:Point("TOPLEFT", 19, -36)
|
||||
frame.LeftBackground:Point("BOTTOMRIGHT", -648, 60)
|
||||
|
||||
frame.slot:SetTexture(nil)
|
||||
frame.slot:Point("TOPLEFT", frame, "TOPLEFT", 23, -110)
|
||||
|
||||
frame.icon:SetTemplate("Default")
|
||||
frame.icon:GetHighlightTexture():SetInside()
|
||||
frame.icon:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
frame.icon:SetPoint("TOPLEFT", frame.slot, "TOPLEFT", 0, 0)
|
||||
|
||||
frame.selectbox.box:StripTextures()
|
||||
frame.selectbox.box:Point("TOPLEFT", frame, "TOPLEFT", 4, -77)
|
||||
frame.selectbox.box:CreateBackdrop("Default")
|
||||
frame.selectbox.box.backdrop:Point("TOPLEFT", 19, -2)
|
||||
frame.selectbox.box.backdrop:Point("BOTTOMRIGHT", -14, -11)
|
||||
_G[frame.selectbox.box:GetName().."Text"]:SetParent(frame.selectbox.box.backdrop)
|
||||
|
||||
frame.selectbox.box.button:Size(16)
|
||||
frame.selectbox.box.button:Point("TOPRIGHT", -16, -4)
|
||||
S:HandleNextPrevButton(frame.selectbox.box.button, "down", {1, 0.8, 0})
|
||||
|
||||
local searchBoxName = frame.searchBox:GetName()
|
||||
_G[searchBoxName.."Left"]:Hide()
|
||||
_G[searchBoxName.."Middle"]:Hide()
|
||||
_G[searchBoxName.."Right"]:Hide()
|
||||
frame.searchBox:SetTemplate("Default")
|
||||
frame.searchBox:Point("TOPLEFT", 23, -165)
|
||||
frame.searchBox:Size(157, 20)
|
||||
|
||||
S:HandleButton(frame.searchButton)
|
||||
frame.searchButton:Point("TOPLEFT", frame.searchBox, "BOTTOMLEFT", 0, -3)
|
||||
|
||||
S:HandleCheckBox(frame.exactCheck)
|
||||
S:HandleCheckBox(frame.neutralCheck)
|
||||
S:HandleCheckBox(frame.bidCheck)
|
||||
S:HandleCheckBox(frame.bidFailedCheck)
|
||||
S:HandleCheckBox(frame.auctionCheck)
|
||||
S:HandleCheckBox(frame.auctionFailedCheck)
|
||||
|
||||
frame.exactCheck:Point("TOPLEFT", 19, -216)
|
||||
frame.neutralCheck:Point("TOPLEFT", 19, -241)
|
||||
|
||||
frame.bidCheck:SetScale(1)
|
||||
frame.bidCheck:Point("TOPLEFT", 19, -274)
|
||||
frame.auctionCheck:SetScale(1)
|
||||
frame.auctionCheck:Point("TOPLEFT", 19, -299)
|
||||
|
||||
frame.bidFailedCheck:SetScale(1)
|
||||
frame.bidFailedCheck:Point("TOPLEFT", 19, -332)
|
||||
frame.auctionFailedCheck:SetScale(1)
|
||||
frame.auctionFailedCheck:Point("TOPLEFT", 19, -357)
|
||||
|
||||
hooksecurefunc(private, "searchByItemID", function(id, settings, queryReturn, count, itemTexture, classic)
|
||||
if not itemTexture then return end
|
||||
|
||||
private.frame.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
private.frame.icon:GetNormalTexture():SetInside()
|
||||
end)
|
||||
|
||||
-- ResultList
|
||||
frame.RightBackground = CreateFrame("Frame", nil, frame)
|
||||
frame.RightBackground:SetFrameLevel(frame:GetFrameLevel() - 1)
|
||||
frame.RightBackground.SetFrameLevel = E.noop
|
||||
frame.RightBackground:SetTemplate("Transparent")
|
||||
frame.RightBackground:Point("TOPLEFT", 187, -36)
|
||||
frame.RightBackground:Point("BOTTOMRIGHT", -29, 52)
|
||||
|
||||
frame.resultlist:SetBackdrop(nil)
|
||||
frame.resultlist:Point("TOPLEFT", 184, -34)
|
||||
frame.resultlist:Point("TOPRIGHT", -4, 0)
|
||||
frame.resultlist:Point("BOTTOM", 0, 27)
|
||||
|
||||
S:HandleScrollBar(frame.resultlist.sheet.panel.vScroll)
|
||||
S:HandleScrollBar(frame.resultlist.sheet.panel.hScroll, true)
|
||||
|
||||
frame.resultlist.sheet.panel.vScroll:Point("TOPLEFT", frame.resultlist.sheet.panel, "TOPRIGHT", 3, -16)
|
||||
frame.resultlist.sheet.panel.vScroll:Point("BOTTOMLEFT", frame.resultlist.sheet.panel, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
frame.resultlist.sheet.panel.hScroll:Point("TOPLEFT", frame.resultlist.sheet.panel, "BOTTOMLEFT", 17, -3)
|
||||
frame.resultlist.sheet.panel.hScroll:Point("TOPRIGHT", frame.resultlist.sheet.panel, "BOTTOMRIGHT", -19, -3)
|
||||
|
||||
-- DeletePrompt
|
||||
private.deletePromptFrame:SetTemplate("Transparent")
|
||||
S:HandleButton(private.deletePromptFrame.yes)
|
||||
S:HandleButton(private.deletePromptFrame.no)
|
||||
|
||||
-- ErrorFrame
|
||||
if private.scriptframe.loadError then
|
||||
private.scriptframe.loadError:SetTemplate("Transparent")
|
||||
S:HandleButton(private.scriptframe.loadError.close)
|
||||
else
|
||||
hooksecurefunc(private, "CreateErrorFrames", function()
|
||||
private.scriptframe.loadError:SetTemplate("Transparent")
|
||||
S:HandleButton(private.scriptframe.loadError.close)
|
||||
end)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,40 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BigWigs_Plugins") then return end
|
||||
|
||||
-- BigWigs r7558
|
||||
-- https://www.curseforge.com/wow/addons/big-wigs/files/458195
|
||||
|
||||
S:AddCallbackForAddon("BigWigs_Plugins", "BigWigs_Plugins", function()
|
||||
if not E.private.addOnSkins.BigWigs then return end
|
||||
|
||||
AS:SkinLibrary("LibCandyBar-3.0")
|
||||
|
||||
local db = E.db.addOnSkins
|
||||
|
||||
local function scaleToSize(bar)
|
||||
local scale = bar:GetScale()
|
||||
|
||||
bar:SetScale(1)
|
||||
bar:Size(bar.width * scale, bar.height * scale)
|
||||
|
||||
bar.candyBarIconFrame:Width(bar.height * scale)
|
||||
bar.candyBarLabel:SetFont(bar.candyBarLabel:GetFont(), db.bigwigsFontSize * scale, db.bigwigsFontOutline)
|
||||
bar.candyBarDuration:SetFont(bar.candyBarLabel:GetFont(), db.bigwigsFontSize * scale, db.bigwigsFontOutline)
|
||||
end
|
||||
|
||||
local candy = LibStub("LibCandyBar-3.0")
|
||||
hooksecurefunc(candy.barPrototype_mt.__index, "Start", function(self)
|
||||
if self:Get("bigwigs:module") and not self:Get("bigwigs:emphasized") then
|
||||
self.height = db.bigwigsBarHeight
|
||||
scaleToSize(self)
|
||||
end
|
||||
end)
|
||||
|
||||
local plugin = BigWigs:GetPlugin("Bars")
|
||||
hooksecurefunc(plugin, "EmphasizeBar", function(_, bar)
|
||||
scaleToSize(bar)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,205 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BindPad") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- BindPad 2.2.4
|
||||
-- https://www.curseforge.com/wow/addons/bind-pad/files/410752
|
||||
|
||||
S:AddCallbackForAddon("BindPad", "BindPad", function()
|
||||
if not E.private.addOnSkins.BindPad then return end
|
||||
|
||||
BindPadFrame:StripTextures()
|
||||
BindPadFrame:CreateBackdrop("Transparent")
|
||||
BindPadFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
BindPadFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetBackdropHitRect(BindPadFrame)
|
||||
|
||||
S:HandleCloseButton(BindPadFrameCloseButton, BindPadFrame.backdrop)
|
||||
|
||||
local slot, slotIcon, slotBorder, slotAddButton
|
||||
for i = 1, 42 do
|
||||
slot = _G["BindPadSlot" .. i]
|
||||
slotIcon = _G["BindPadSlot" .. i .. "Icon"]
|
||||
slotBorder = _G["BindPadSlot" .. i .. "Border"]
|
||||
slotAddButton = _G["BindPadSlot" .. i .. "AddButton"]
|
||||
|
||||
slot:SetNormalTexture(nil)
|
||||
slot:SetTemplate("Defaylt", true)
|
||||
slot:StyleButton(nil, nil, true)
|
||||
|
||||
slotIcon:SetInside()
|
||||
slotIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
slotIcon:SetDrawLayer("ARTWORK")
|
||||
|
||||
slotBorder:SetTexture(1, 1, 0, 0.3)
|
||||
slotBorder:SetInside()
|
||||
|
||||
slotAddButton:SetNormalTexture(nil)
|
||||
slotAddButton:SetPushedTexture(nil)
|
||||
slotAddButton:SetDisabledTexture(nil)
|
||||
slotAddButton:SetHighlightTexture(nil)
|
||||
|
||||
slotAddButton.Text = slotAddButton:CreateFontString(nil, "OVERLAY")
|
||||
slotAddButton.Text:FontTemplate(nil, 22)
|
||||
slotAddButton.Text:SetPoint("CENTER", 0, 0)
|
||||
slotAddButton.Text:SetText("+")
|
||||
end
|
||||
|
||||
for i = 1, 4 do
|
||||
local tab = _G["BindPadFrameTab" .. i]
|
||||
S:HandleTab(tab)
|
||||
tab.backdrop:Point("TOPLEFT", 3, -8)
|
||||
tab.backdrop:Point("BOTTOMRIGHT", -3, -1)
|
||||
S:SetBackdropHitRect(tab)
|
||||
end
|
||||
|
||||
for i = 1, 5 do
|
||||
local tab = _G["BindPadProfileTab" .. i]
|
||||
local subIcon = _G["BindPadProfileTab" .. i .. "SubIcon"]
|
||||
|
||||
tab:StripTextures()
|
||||
tab:SetTemplate("Defaylt", true)
|
||||
tab:StyleButton(nil, true)
|
||||
|
||||
tab:GetNormalTexture():SetInside()
|
||||
tab:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
tab:GetNormalTexture():SetDrawLayer("ARTWORK")
|
||||
|
||||
subIcon:Point("BOTTOMRIGHT", -1, 1)
|
||||
subIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
BindPadProfileTab1:Point("TOPLEFT", BindPadFrame, "TOPRIGHT", -33, -65)
|
||||
|
||||
local function HandleMicroButton(button)
|
||||
local pushed = button:GetPushedTexture()
|
||||
local normal = button:GetNormalTexture()
|
||||
local disabled = button:GetDisabledTexture()
|
||||
|
||||
button:Size(20, 26)
|
||||
button:SetHitRectInsets(0, 0, 0, 0)
|
||||
button:GetHighlightTexture():Kill()
|
||||
|
||||
button:CreateBackdrop()
|
||||
|
||||
normal:SetInside(button.backdrop)
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 64, 21, 27, 5, 31
|
||||
normal:SetTexCoord(0.15625, 0.8125, 0.484375, 0.90625)
|
||||
|
||||
pushed:SetInside(button.backdrop)
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 64, 20, 26, 5, 33
|
||||
pushed:SetTexCoord(0.15625, 0.78125, 0.515625, 0.921875)
|
||||
|
||||
if disabled then
|
||||
disabled:SetInside(button.backdrop)
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 64, 21, 27, 5, 31
|
||||
disabled:SetTexCoord(0.15625, 0.8125, 0.484375, 0.90625)
|
||||
end
|
||||
end
|
||||
|
||||
S:HandleCheckBox(BindPadFrameCharacterButton)
|
||||
S:HandleCheckBox(BindPadFrameShowHotkeysButton)
|
||||
S:HandleCheckBox(BindPadFrameTriggerOnKeydownButton)
|
||||
|
||||
S:HandleButton(BindPadFrameExitButton)
|
||||
|
||||
HandleMicroButton(BindPadFrameOpenSpellBookButton)
|
||||
HandleMicroButton(BindPadFrameOpenMacroButton)
|
||||
HandleMicroButton(BindPadFrameOpenBagButton)
|
||||
|
||||
BindPadFrameOpenSpellBookButton:Point("BOTTOMLEFT", BindPadFrame, "TOPLEFT", 20, -427)
|
||||
BindPadFrameOpenMacroButton:Point("BOTTOMLEFT", BindPadFrameOpenSpellBookButton, "BOTTOMRIGHT", 5, 0)
|
||||
BindPadFrameOpenBagButton:Point("BOTTOMLEFT", BindPadFrameOpenMacroButton, "BOTTOMRIGHT", 5, 0)
|
||||
|
||||
BindPadFrameShowHotkeysButton:Point("BOTTOMLEFT", BindPadFrameOpenBagButton, "BOTTOMRIGHT", 15, 11)
|
||||
BindPadFrameTriggerOnKeydownButton:Point("BOTTOMLEFT", BindPadFrameOpenBagButton, "BOTTOMRIGHT", 15, -5)
|
||||
|
||||
BindPadFrameExitButton:Point("CENTER", BindPadFrame, "TOPLEFT", 304, -417)
|
||||
|
||||
-- Popup frame
|
||||
S:HandleIconSelectionFrame(BindPadMacroPopupFrame, 20, "BindPadMacroPopupButton", "BindPadMacroPopup")
|
||||
S:SetBackdropHitRect(BindPadMacroPopupFrame)
|
||||
BindPadMacroPopupFrame:Point("TOPLEFT", BindPadFrame, "TOPRIGHT", -43, 0)
|
||||
|
||||
BindPadMacroPopupScrollFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleScrollBar(BindPadMacroPopupScrollFrameScrollBar)
|
||||
|
||||
local text1, text2 = select(5, BindPadMacroPopupFrame:GetRegions())
|
||||
text1:Point("TOPLEFT", 24, -18)
|
||||
text2:Point("TOPLEFT", 24, -60)
|
||||
|
||||
BindPadMacroPopupEditBox:Point("TOPLEFT", 61, -35)
|
||||
|
||||
BindPadMacroPopupButton1:Point("TOPLEFT", 31, -82)
|
||||
|
||||
BindPadMacroPopupScrollFrame:Size(247, 180)
|
||||
BindPadMacroPopupScrollFrame:Point("TOPRIGHT", -32, -76)
|
||||
|
||||
BindPadMacroPopupScrollFrameScrollBar:Point("TOPLEFT", BindPadMacroPopupScrollFrame, "TOPRIGHT", 3, -19)
|
||||
BindPadMacroPopupScrollFrameScrollBar:Point("BOTTOMLEFT", BindPadMacroPopupScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
BindPadMacroPopupOkayButton:Point("RIGHT", BindPadMacroPopupCancelButton, "LEFT", -3, 0)
|
||||
|
||||
-- Macro Text
|
||||
BindPadMacroTextFrame:StripTextures()
|
||||
BindPadMacroTextFrame:CreateBackdrop("Transparent")
|
||||
BindPadMacroTextFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
BindPadMacroTextFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetBackdropHitRect(BindPadMacroTextFrame)
|
||||
|
||||
S:HandleCloseButton(BindPadMacroTextFrameCloseButton, BindPadMacroTextFrame.backdrop)
|
||||
|
||||
BindPadMacroTextFrameSelectedMacroButton:StripTextures()
|
||||
BindPadMacroTextFrameSelectedMacroButton:SetTemplate("Defaylt", true)
|
||||
BindPadMacroTextFrameSelectedMacroButtonIcon:SetInside()
|
||||
BindPadMacroTextFrameSelectedMacroButtonIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
BindPadMacroTextFrameTextBackground:SetTemplate("Defaylt")
|
||||
|
||||
S:HandleScrollBar(BindPadMacroTextFrameScrollFrameScrollBar)
|
||||
|
||||
S:HandleButton(BindPadMacroTextFrameEditButton)
|
||||
S:HandleButton(BindPadMacroTextFrameTestButton)
|
||||
S:HandleButton(BindPadMacroTextFrameExitButton)
|
||||
S:HandleButton(BindPadMacroDeleteButton)
|
||||
|
||||
BindPadMacroTextFrameEnterMacroText:Point("TOPLEFT", BindPadMacroTextFrameSelectedMacroBackground, "BOTTOMLEFT", 8, 3)
|
||||
|
||||
BindPadMacroTextFrameTextBackground:Size(304, 252)
|
||||
BindPadMacroTextFrameTextBackground:Point("TOPLEFT", 19, -147)
|
||||
|
||||
BindPadMacroTextFrameText:Width(298)
|
||||
|
||||
BindPadMacroTextFrameScrollFrame:Size(298, 241)
|
||||
BindPadMacroTextFrameScrollFrame:Point("TOPLEFT", BindPadMacroTextFrameSelectedMacroBackground, "BOTTOMLEFT", 6, -16)
|
||||
|
||||
BindPadMacroTextFrameScrollFrameScrollBar:Point("TOPLEFT", BindPadMacroTextFrameScrollFrame, "TOPRIGHT", 6, -14)
|
||||
BindPadMacroTextFrameScrollFrameScrollBar:Point("BOTTOMLEFT", BindPadMacroTextFrameScrollFrame, "BOTTOMRIGHT", 6, 13)
|
||||
|
||||
BindPadMacroTextFrameSelectedMacroName:Point("TOPLEFT", BindPadMacroTextFrameSelectedMacroBackground, "TOPRIGHT", -4, -12)
|
||||
BindPadMacroTextFrameEditButton:Point("TOPLEFT", BindPadMacroTextFrameSelectedMacroBackground, "TOPLEFT", 53, -28)
|
||||
|
||||
BindPadMacroDeleteButton:Point("BOTTOMLEFT", 19, 84)
|
||||
BindPadMacroTextFrameTestButton:Point("CENTER", BindPadMacroTextFrame, "TOPLEFT", 221, -417)
|
||||
BindPadMacroTextFrameExitButton:Point("CENTER", BindPadMacroTextFrame, "TOPLEFT", 304, -417)
|
||||
|
||||
-- Bind
|
||||
BindPadBindFrame:StripTextures()
|
||||
BindPadBindFrame:SetTemplate("Transparent")
|
||||
BindPadBindFrame:Size(400, 150)
|
||||
|
||||
S:HandleCloseButton(BindPadBindFrameCloseButton, BindPadBindFrame)
|
||||
|
||||
S:HandleButton(BindPadBindFrameUnbindButton)
|
||||
S:HandleButton(BindPadBindFrameExitButton)
|
||||
|
||||
S:HandleCheckBox(BindPadBindFrameFastTriggerButton)
|
||||
end)
|
||||
@@ -0,0 +1,105 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BlackList") then return end
|
||||
|
||||
-- Black List 3.3.01
|
||||
-- https://www.curseforge.com/wow/addons/black-list-siv0968/files/439842
|
||||
|
||||
S:AddCallbackForAddon("BlackList", "BlackList", function()
|
||||
if not E.private.addOnSkins.BlackList then return end
|
||||
|
||||
FriendsTabHeaderTab4:StripTextures()
|
||||
FriendsTabHeaderTab4:Size(63, 26)
|
||||
FriendsTabHeaderTab4:Point("TOPLEFT", FriendsTabHeaderTab3, "TOPLEFT", 3, -7)
|
||||
S:HandleButton(FriendsTabHeaderTab4)
|
||||
|
||||
S:HandleButton(FriendsFrameBlacklistPlayerButton)
|
||||
S:HandleButton(FriendsFrameRemovePlayerButton)
|
||||
S:HandleButton(FriendsFrameOptionsButton)
|
||||
S:HandleButton(FriendsFrameShareListButton)
|
||||
|
||||
FriendsFrameBlacklistPlayerButton:Height(22)
|
||||
FriendsFrameRemovePlayerButton:Height(22)
|
||||
FriendsFrameOptionsButton:Height(22)
|
||||
FriendsFrameShareListButton:Height(22)
|
||||
|
||||
FriendsFrameBlacklistPlayerButton:Point("BOTTOMLEFT", FriendsFrame, "BOTTOMLEFT", 19, 109)
|
||||
FriendsFrameRemovePlayerButton:Point("TOP", FriendsFrameBlacklistPlayerButton, "BOTTOM", 0, -3)
|
||||
FriendsFrameOptionsButton:Point("LEFT", FriendsFrameBlacklistPlayerButton, "RIGHT", 63, 0)
|
||||
FriendsFrameShareListButton:Point("TOP", FriendsFrameOptionsButton, "BOTTOM", 0, -3)
|
||||
|
||||
FriendsFrameBlackListButton1:Width(302)
|
||||
FriendsFrameBlackListButton1:Point("TOPLEFT", FriendsFrame, "TOPLEFT", 20, -97)
|
||||
|
||||
FriendsFrameBlackListScrollFrame:Size(304, 282)
|
||||
FriendsFrameBlackListScrollFrame:Point("TOPRIGHT", FriendsFrame, "TOPRIGHT", -61, -92)
|
||||
|
||||
FriendsFrameBlackListScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(FriendsFrameBlackListScrollFrameScrollBar)
|
||||
FriendsFrameBlackListScrollFrameScrollBar:Point("TOPLEFT", FriendsFrameBlackListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
FriendsFrameBlackListScrollFrameScrollBar:Point("BOTTOMLEFT", FriendsFrameBlackListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
-- Details
|
||||
BlackListDetailsFrame:StripTextures()
|
||||
BlackListDetailsFrame:SetTemplate("Transparent")
|
||||
BlackListDetailsFrame:Point("TOPLEFT", FriendsFrame, "TOPRIGHT", -33, -97)
|
||||
|
||||
S:HandleCloseButton(BlackListDetailsCloseButton, BlackListDetailsFrame)
|
||||
|
||||
S:HandleButton(BlackListDetailsEditButton)
|
||||
S:HandleCheckBox(BlackListDetailsFrameCheckButton1)
|
||||
S:HandleCheckBox(BlackListDetailsFrameCheckButton2)
|
||||
|
||||
BlackListDetailsFrameReasonTextBackground:SetTemplate()
|
||||
S:HandleScrollBar(BlackListDetailsFrameScrollFrameScrollBar)
|
||||
|
||||
BlackListDetailsFrameScrollFrameScrollBar:Point("BOTTOMLEFT", BlackListDetailsFrameScrollFrame, "BOTTOMRIGHT", 6, 18)
|
||||
|
||||
-- Details Edit
|
||||
BlackListEditDetailsFrame:StripTextures()
|
||||
BlackListEditDetailsFrame:SetTemplate("Transparent")
|
||||
BlackListEditDetailsFrame:Point("TOPLEFT", BlackListDetailsFrame, "BOTTOMLEFT", 0, 1)
|
||||
|
||||
BlackListEditDetailsFrameLevelBackground:StripTextures()
|
||||
BlackListEditDetailsFrameLevelBackground:CreateBackdrop()
|
||||
BlackListEditDetailsFrameLevelBackground:Size(39, 28)
|
||||
BlackListEditDetailsFrameLevelBackground:Point("TOPLEFT", 7, -18)
|
||||
BlackListEditDetailsFrameLevelBackground.backdrop:Point("TOPLEFT", 5, -3)
|
||||
BlackListEditDetailsFrameLevelBackground.backdrop:Point("BOTTOMRIGHT", -5, 5)
|
||||
|
||||
S:HandleDropDownBox(BlackListEditDetailsFrameClassDropDown, 143)
|
||||
S:HandleDropDownBox(BlackListEditDetailsFrameRaceDropDown, 143)
|
||||
|
||||
BlackListEditDetailsFrameClassDropDown:Point("TOPLEFT", BlackListEditDetailsFrameLevelBackground, "TOPRIGHT", -18, 0)
|
||||
BlackListEditDetailsFrameClassDropDown.SetWidth = E.noop
|
||||
BlackListEditDetailsFrameClassDropDownButton.SetWidth = E.noop
|
||||
|
||||
BlackListEditDetailsFrameRaceDropDown:Point("TOPLEFT", BlackListEditDetailsFrameClassDropDown, "TOPRIGHT", -21, 0)
|
||||
BlackListEditDetailsFrameRaceDropDown.SetWidth = E.noop
|
||||
BlackListEditDetailsFrameRaceDropDownButton.SetWidth = E.noop
|
||||
|
||||
S:HandleButton(BlackListEditDetailsFrameSaveButton)
|
||||
S:HandleButton(BlackListEditDetailsFrameCancelButton)
|
||||
|
||||
BlackListEditDetailsFrameSaveButton:Point("TOPLEFT", 8, -61)
|
||||
BlackListEditDetailsFrameCancelButton:Point("LEFT", BlackListEditDetailsFrameSaveButton, "RIGHT", 19, 0)
|
||||
|
||||
-- Options
|
||||
BlackListOptionsFrame:StripTextures()
|
||||
BlackListOptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCheckBox(SoundCheckButton)
|
||||
S:HandleCheckBox(CenterCheckButton)
|
||||
S:HandleCheckBox(ChatCheckButton)
|
||||
S:HandleCheckBox(IgnoreCheckButton)
|
||||
S:HandleCheckBox(BanCheckButton)
|
||||
S:HandleCheckBox(KickCheckButton)
|
||||
|
||||
BL_RankBox:Size(20)
|
||||
BL_RankBox:Point("TOPLEFT", 65, -273)
|
||||
S:HandleEditBox(BL_RankBox)
|
||||
|
||||
S:HandleButton(BlackListOptionsFrameClose)
|
||||
end)
|
||||
@@ -0,0 +1,42 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BugSack") then return end
|
||||
|
||||
-- BugSack r229
|
||||
-- https://www.curseforge.com/wow/addons/bugsack/files/448833
|
||||
|
||||
S:AddCallbackForAddon("BugSack", "BugSack", function()
|
||||
if not E.private.addOnSkins.BugSack then return end
|
||||
|
||||
S:SecureHook(BugSack, "OpenSack", function()
|
||||
BugSackFrame:StripTextures()
|
||||
BugSackFrame:SetTemplate("Transparent")
|
||||
|
||||
for _, child in ipairs({BugSackFrame:GetChildren()}) do
|
||||
if child:IsObjectType("Button") and child:GetScript("OnClick") == BugSack.CloseSack then
|
||||
S:HandleCloseButton(child)
|
||||
end
|
||||
end
|
||||
|
||||
S:HandleButton(BugSackNextButton)
|
||||
S:HandleButton(BugSackPrevButton)
|
||||
|
||||
if BugSack.Serialize then
|
||||
S:HandleButton(BugSackSendButton)
|
||||
BugSackSendButton:Point("LEFT", BugSackPrevButton, "RIGHT", E.PixelMode and 1 or 3, 0)
|
||||
BugSackSendButton:Point("RIGHT", BugSackNextButton, "LEFT", -(E.PixelMode and 1 or 3), 0)
|
||||
end
|
||||
|
||||
local scrollBar = BugSackScrollScrollBar or BugSackFrameScrollScrollBar
|
||||
S:HandleScrollBar(scrollBar)
|
||||
|
||||
BugSackTabAll:Point("TOPLEFT", BugSackFrame, "BOTTOMLEFT", 0, 2)
|
||||
S:HandleTab(BugSackTabAll)
|
||||
S:HandleTab(BugSackTabSession)
|
||||
S:HandleTab(BugSackTabLast)
|
||||
|
||||
S:Unhook(BugSack, "OpenSack")
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,34 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("BuyEmAll") then return end
|
||||
|
||||
-- BuyEmAll 2.9.2
|
||||
|
||||
S:AddCallbackForAddon("BuyEmAll", "BuyEmAll", function()
|
||||
if not E.private.addOnSkins.BuyEmAll then return end
|
||||
|
||||
BuyEmAllFrame:StripTextures()
|
||||
BuyEmAllFrame:SetTemplate("Transparent")
|
||||
|
||||
local moneyTextBG = CreateFrame("Frame", "BuyEmAllFrameMoneyTexBG", BuyEmAllFrame)
|
||||
moneyTextBG:SetTemplate("Default")
|
||||
moneyTextBG:Size(113, 21)
|
||||
moneyTextBG:Point("TOPLEFT", 32, -20)
|
||||
|
||||
BuyEmAllText:SetParent(BuyEmAllFrameMoneyTexBG)
|
||||
BuyEmAllText:Point("RIGHT", BuyEmAllFrameMoneyTex, "RIGHT", -12, 0)
|
||||
|
||||
S:HandleNextPrevButton(BuyEmAllLeftButton)
|
||||
S:HandleNextPrevButton(BuyEmAllRightButton)
|
||||
BuyEmAllLeftButton:Size(13, 17)
|
||||
BuyEmAllRightButton:Size(13, 17)
|
||||
|
||||
BuyEmAllMoneyFrame:Point("TOP", BuyEmAllFrameMoneyTex, "BOTTOM", 7, 6)
|
||||
|
||||
S:HandleButton(BuyEmAllOkayButton)
|
||||
S:HandleButton(BuyEmAllCancelButton)
|
||||
S:HandleButton(BuyEmAllStackButton)
|
||||
S:HandleButton(BuyEmAllMaxButton)
|
||||
end)
|
||||
@@ -0,0 +1,188 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("CallToArms") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local select = select
|
||||
|
||||
-- CallToArms r303
|
||||
|
||||
S:AddCallbackForAddon("CallToArms", "CallToArms", function()
|
||||
if not E.private.addOnSkins.CallToArms then return end
|
||||
|
||||
local frames = {
|
||||
CTA_SearchFrame_Filters_PlayerInternalFrame,
|
||||
CTA_SearchFrame_Filters_GroupInternalFrame,
|
||||
CTA_SettingsFrameMinimapSettings,
|
||||
CTA_SettingsFrameLFxSettings,
|
||||
CTA_LogFrameInternalFrame,
|
||||
CTA_GreyListItemEditFrame,
|
||||
CTA_AddPlayerFrame,
|
||||
}
|
||||
local buttons = {
|
||||
CTA_SearchButton,
|
||||
CTA_RequestInviteButton,
|
||||
CTA_GreyListItemEditFrameDeleteButton,
|
||||
CTA_GreyListItemEditFrameCloseButton,
|
||||
CTA_GreyListItemEditFrameEditButton,
|
||||
CTA_AddPlayerButton,
|
||||
CTA_AnnounceToLFGButton,
|
||||
CTA_AnnounceToLFGButton2,
|
||||
CTA_StopHostingButton,
|
||||
CTA_ConvertToRaidButton,
|
||||
CTA_ConvertToPartyButton,
|
||||
CTA_ToggleViewableButton,
|
||||
CTA_StartAPartyButton,
|
||||
CTA_StartARaidButton,
|
||||
CTA_AcidEditDialogCloseButton,
|
||||
CTA_AcidEditDialogOkButton,
|
||||
CTA_AddPlayerFrameCloseButton,
|
||||
CTA_AddPlayerFrameOkButton,
|
||||
}
|
||||
local checkBoxes = {
|
||||
CTA_MuteLFGChannelCheckButton,
|
||||
CTA_ShowFilteredMessagesInChatCheckButton,
|
||||
CTA_ShowOnMinimapCheckButton,
|
||||
CTA_PlaySoundOnNewResultCheckButton,
|
||||
CTA_ScanGuildChat,
|
||||
CTA_DisableBroadcast,
|
||||
CTA_MyRaidFramePVPCheckButton,
|
||||
CTA_MyRaidFramePVECheckButton,
|
||||
CTA_LFGCheckButton,
|
||||
CTA_AcidClassCheckButton1,
|
||||
CTA_AcidClassCheckButton2,
|
||||
CTA_AcidClassCheckButton3,
|
||||
CTA_AcidClassCheckButton4,
|
||||
CTA_AcidClassCheckButton5,
|
||||
CTA_AcidClassCheckButton6,
|
||||
CTA_AcidClassCheckButton7,
|
||||
CTA_AcidClassCheckButton8,
|
||||
CTA_AcidClassCheckButton9,
|
||||
CTA_AcidClassCheckButton10
|
||||
}
|
||||
local editBoxes = {
|
||||
CTA_SearchFrameDescriptionEditBox,
|
||||
CTA_GreyListItemEditFrameEditBox,
|
||||
CTA_PlayerMinLevelEditBox,
|
||||
CTA_PlayerMaxLevelEditBox,
|
||||
CTA_ChatFrameNumberEditBox,
|
||||
CTA_MyRaidFrameDescriptionEditBox,
|
||||
CTA_MyRaidFrameMaxSizeEditBox,
|
||||
CTA_MyRaidFrameMinLevelEditBox,
|
||||
CTA_MyRaidFramePasswordEditBox,
|
||||
CTA_LFGDescriptionEditBox,
|
||||
CTA_AddPlayerFrameEditBox,
|
||||
}
|
||||
local sliders = {
|
||||
CTA_MinimapArcSlider,
|
||||
CTA_MinimapRadiusSlider,
|
||||
CTA_MinimapMsgArcSlider,
|
||||
CTA_MinimapMsgRadiusSlider,
|
||||
CTA_FrameTransparencySlider,
|
||||
CTA_FilterLevelSlider,
|
||||
}
|
||||
local nextPrevButtons = {
|
||||
CTA_SearchFrame_ResultsPrev,
|
||||
CTA_SearchFrame_ResultsNext,
|
||||
CTA_GreyListFramePrev,
|
||||
CTA_GreyListFrameNext,
|
||||
CTA_LogUpButton,
|
||||
CTA_LogDownButton,
|
||||
CTA_LogBottomButton,
|
||||
}
|
||||
local tabNames = {
|
||||
CTA_ShowResultsButton,
|
||||
CTA_ShowOptionsButton,
|
||||
CTA_ShowBlacklistButton,
|
||||
CTA_SettingsFrameButton,
|
||||
CTA_LogFrameButton,
|
||||
CTA_ShowSearchButton,
|
||||
CTA_ShowMyRaidButton,
|
||||
CTA_ShowMFFButton,
|
||||
CTA_ShowLFGButton,
|
||||
}
|
||||
|
||||
for _, frame in ipairs(frames) do
|
||||
frame:SetTemplate("Transparent")
|
||||
end
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(button)
|
||||
end
|
||||
for _, checkbox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(checkbox)
|
||||
end
|
||||
for _, slider in ipairs(sliders) do
|
||||
S:HandleSliderFrame(slider)
|
||||
end
|
||||
for _, nextPrevButton in ipairs(nextPrevButtons) do
|
||||
S:HandleNextPrevButton(nextPrevButton)
|
||||
end
|
||||
for _, tab in ipairs(tabNames) do
|
||||
S:HandleTab(tab)
|
||||
|
||||
local text = _G[tab:GetName().."Text"]
|
||||
text:ClearAllPoints()
|
||||
text:Point("CENTER", 0, 1)
|
||||
end
|
||||
|
||||
local function editboxClearFocus(self)
|
||||
self:ClearFocus()
|
||||
end
|
||||
for _, editBox in ipairs(editBoxes) do
|
||||
local backdrop, border = select(6, editBox:GetRegions())
|
||||
backdrop:Hide()
|
||||
border:Hide()
|
||||
|
||||
S:HandleEditBox(editBox)
|
||||
|
||||
if not editBox:GetScript("OnEnterPressed") then
|
||||
editBox:SetScript("OnEnterPressed", editboxClearFocus)
|
||||
end
|
||||
if not editBox:GetScript("OnEscapePressed") then
|
||||
editBox:SetScript("OnEscapePressed", editboxClearFocus)
|
||||
end
|
||||
end
|
||||
|
||||
CTA_MainFrame:StripTextures()
|
||||
CTA_MainFrame:SetTemplate("Transparent")
|
||||
CTA_MainFrame:Height(500)
|
||||
|
||||
S:HandleCloseButton(CTA_MainFrameCloseButton, CTA_MainFrame)
|
||||
|
||||
CTA_SearchDropDown:Point("TOPLEFT", 4, -48)
|
||||
S:HandleDropDownBox(CTA_SearchDropDown, 200)
|
||||
S:HandleDropDownBox(CTA_PlayerClassDropDown, 100)
|
||||
S:HandleDropDownBox(CTA_RoleplayDropDown, 100)
|
||||
|
||||
CTA_SearchFrame_ResultsPrev:Point("BOTTOM", -60, 7)
|
||||
CTA_SearchFrame_ResultsNext:Point("BOTTOM", 60, 7)
|
||||
|
||||
CTA_GreyListFramePrev:Point("BOTTOM", -60, 7)
|
||||
CTA_GreyListFrameNext:Point("BOTTOM", 60, 7)
|
||||
|
||||
CTA_ShowSearchButton:Point("TOPLEFT", CTA_MainFrame, "BOTTOMLEFT", 0, 2)
|
||||
CTA_ShowMyRaidButton:Point("TOPLEFT", CTA_ShowSearchButton, "TOPRIGHT", -15, 0)
|
||||
CTA_ShowLFGButton:Point("TOPLEFT", CTA_ShowMyRaidButton, "TOPRIGHT", -15, 0)
|
||||
CTA_ShowMFFButton:Point("TOPRIGHT", CTA_MainFrame, "BOTTOMRIGHT", 0, 2)
|
||||
|
||||
CTA_AnnounceToLFGButton2:Point("BOTTOM", 0, 90)
|
||||
|
||||
CTA_AcidEditDialog:StripTextures()
|
||||
CTA_AcidEditDialog:SetTemplate("Default")
|
||||
|
||||
for i = 0, 10 do
|
||||
_G["CTA_Acid"..i.."barBorder"]:SetTemplate("Transparent")
|
||||
S:HandleButton(_G["CTA_Acid"..i.."DeleteButton"])
|
||||
|
||||
local button = _G["CTA_Acid"..i.."MoreButton"]
|
||||
button:Point("TOPLEFT", 43, 0)
|
||||
S:HandleNextPrevButton(button, "up")
|
||||
|
||||
button = _G["CTA_Acid"..i.."LessButton"]
|
||||
button:Point("TOPLEFT", 43, -30)
|
||||
S:HandleNextPrevButton(button, "down")
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,91 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Carbonite") then return end
|
||||
|
||||
local pairs = pairs
|
||||
local lshift = bit.lshift
|
||||
|
||||
-- Carbonite 3.34
|
||||
|
||||
S:AddCallbackForAddon("Carbonite", "Carbonite", function()
|
||||
if not E.private.addOnSkins.Carbonite then return end
|
||||
|
||||
local function ColorConvert(r, g, b, a)
|
||||
if not a then a = 1 end
|
||||
|
||||
local clr = r * 255
|
||||
clr = lshift(clr, 8) + g * 255
|
||||
clr = lshift(clr, 8) + b * 255
|
||||
clr = lshift(clr, 8) + a * 255
|
||||
|
||||
return clr
|
||||
end
|
||||
|
||||
local borderColor = ColorConvert(unpack(E.media.bordercolor))
|
||||
local backdropColor = ColorConvert(unpack(E.media.backdropfadecolor))
|
||||
|
||||
local backdrop
|
||||
if E.private.general.pixelPerfect then
|
||||
backdrop = {
|
||||
bgFile = E.media.blankTex,
|
||||
edgeFile = E.media.blankTex,
|
||||
tile = false, tileSize = 0, edgeSize = E.mult,
|
||||
insets = {left = 0, right = 0, top = 0, bottom = 0}
|
||||
}
|
||||
else
|
||||
backdrop = {
|
||||
bgFile = E.media.blankTex,
|
||||
edgeFile = E.media.blankTex,
|
||||
tile = false, tileSize = 0, edgeSize = E.mult,
|
||||
insets = {left = -E.mult, right = -E.mult, top = -E.mult, bottom = -E.mult}
|
||||
}
|
||||
end
|
||||
|
||||
Nx.Ski1["ElvUI"] = {
|
||||
["Folder"] = "",
|
||||
["WinBrH"] = "WinBrH",
|
||||
["WinBrV"] = "WinBrV",
|
||||
["TabOff"] = "TabOff",
|
||||
["TabOn"] = "TabOn",
|
||||
["Backdrop"] = backdrop,
|
||||
["BdCol"] = borderColor,
|
||||
["BgCol"] = backdropColor,
|
||||
}
|
||||
|
||||
for i, v in ipairs(Nx.OpD) do
|
||||
if v.N == "Skin" then
|
||||
table.insert(Nx.OpD[i], {N = "ElvUI", F = "NXCmdSkin", Dat = "ElvUI"})
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
Nx.Tit.Frm:SetTemplate("Transparent")
|
||||
|
||||
for win in pairs(Nx.Win.Win2) do
|
||||
win.Frm:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
for men in pairs(Nx.Men.Men1) do
|
||||
men.MaF:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
S:RawHook(Nx.Win, "Cre", function(self, ...)
|
||||
local win = S.hooks[self].Cre(self, ...)
|
||||
win.Frm:SetTemplate("Transparent")
|
||||
return win
|
||||
end)
|
||||
|
||||
S:RawHook(Nx.Men, "Cre", function(self, ...)
|
||||
local men = S.hooks[self].Cre(self, ...)
|
||||
men.MaF:SetTemplate("Transparent")
|
||||
return men
|
||||
end)
|
||||
|
||||
S:RawHook(Nx.Ski, "GFSBGC", function(self)
|
||||
return E.media.backdropfadecolor
|
||||
end, true)
|
||||
|
||||
Nx.Ski:Set("ElvUI")
|
||||
end)
|
||||
@@ -0,0 +1,188 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ChatBar") then return end
|
||||
|
||||
local _G = _G
|
||||
local abs = math.abs
|
||||
|
||||
-- ChatBar 3.1
|
||||
|
||||
S:AddCallbackForAddon("ChatBar", "ChatBar", function()
|
||||
if not E.private.addOnSkins.ChatBar then return end
|
||||
|
||||
local db = E.db.addOnSkins
|
||||
|
||||
if ChatBar_ButtonScale then
|
||||
ChatBar_ButtonScale = 1
|
||||
end
|
||||
|
||||
ChatBar_UpdateArt = E.noop
|
||||
ChatBar_Toggle_LargeButtons = E.noop
|
||||
|
||||
ChatBarFrameBackground:SetOutside()
|
||||
ChatBarFrameBackground:SetTemplate("Transparent")
|
||||
|
||||
for i = 1, 20 do
|
||||
local button = _G["ChatBarFrameButton" .. i]
|
||||
local center = _G["ChatBarFrameButton" .. i .. "Center"]
|
||||
local highlight = _G["ChatBarFrameButton" .. i .. "Highlight"]
|
||||
local flash = _G["ChatBarFrameButton" .. i .. "Flash"]
|
||||
|
||||
button:StripTextures()
|
||||
button:SetTemplate()
|
||||
button:SetScale(1)
|
||||
button:Size(db.chatBarSize)
|
||||
|
||||
center:SetInside()
|
||||
highlight:SetInside()
|
||||
flash:SetInside()
|
||||
|
||||
center:SetTexture(1, 1, 1)
|
||||
highlight:SetTexture(1, 1, 1, 0.5)
|
||||
flash:SetTexture(1, 1, 1, 0.5)
|
||||
|
||||
highlight:SetBlendMode("MOD")
|
||||
flash:SetTexture("MOD")
|
||||
end
|
||||
|
||||
ChatBarFrame:SetScript("OnUpdate", function(self, elapsed)
|
||||
if self.slidingEnabled and self.isSliding and self.velocity and self.endsize then
|
||||
local currSize = ChatBar_GetSize()
|
||||
|
||||
if abs(currSize - self.endsize) < ConstantSnapLimit then
|
||||
ChatBar_SetSize(self.endsize)
|
||||
ChatBarFrame.isSliding = nil
|
||||
self.velocity = 0
|
||||
|
||||
if ChatBar_VerticalDisplay_Sliding or ChatBar_AlternateDisplay_Sliding or ChatBar_LargeButtons_Sliding then
|
||||
if ChatBar_VerticalDisplay_Sliding then
|
||||
ChatBar_VerticalDisplay_Sliding = nil
|
||||
ChatBar_Toggle_VerticalButtonOrientation()
|
||||
elseif ChatBar_AlternateDisplay_Sliding then
|
||||
ChatBar_AlternateDisplay_Sliding = nil
|
||||
ChatBar_Toggle_AlternateButtonOrientation()
|
||||
elseif ChatBar_LargeButtons_Sliding then
|
||||
ChatBar_LargeButtons_Sliding = nil
|
||||
ChatBar_UpdateButtons()
|
||||
end
|
||||
|
||||
ChatBar_UpdateOrientationPoint()
|
||||
else
|
||||
ChatBar_UpdateOrientationPoint(true)
|
||||
end
|
||||
else
|
||||
local desiredVelocity = ConstantVelocityModifier * (self.endsize - currSize)
|
||||
local acceleration = ConstantJerk * (desiredVelocity - self.velocity)
|
||||
|
||||
self.velocity = self.velocity + acceleration * elapsed
|
||||
ChatBar_SetSize(currSize + self.velocity * elapsed)
|
||||
end
|
||||
|
||||
local frame
|
||||
for i = 1, CHAT_BAR_MAX_BUTTONS do
|
||||
frame = _G["ChatBarFrameButton" .. i]
|
||||
if currSize >= (i * (db.chatBarSize + db.chatBarSpacing) - db.chatBarSpacing) then
|
||||
frame:Show()
|
||||
else
|
||||
frame:Hide()
|
||||
end
|
||||
end
|
||||
elseif self.count then
|
||||
if self.count > CHAT_BAR_UPDATE_DELAY then
|
||||
self.count = nil
|
||||
ChatBarFrame.slidingEnabled = true
|
||||
ChatBar_UpdateButtons()
|
||||
else
|
||||
self.count = self.count + 1
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
function ChatBar_UpdateButtonOrientation()
|
||||
local button = ChatBarFrameButton1
|
||||
button:ClearAllPoints()
|
||||
button.Text:ClearAllPoints()
|
||||
button.Text:SetPoint(db.chatBarTextPoint, button, db.chatBarTextPoint, db.chatBarTextXOffset, db.chatBarTextYOffset)
|
||||
|
||||
if ChatBar_VerticalDisplay then
|
||||
if ChatBar_AlternateOrientation then
|
||||
button:SetPoint("TOP", "ChatBarFrame", "TOP", 0, -db.chatBarSpacing)
|
||||
else
|
||||
button:SetPoint("BOTTOM", "ChatBarFrame", "BOTTOM", 0, db.chatBarSpacing)
|
||||
end
|
||||
else
|
||||
if ChatBar_AlternateOrientation then
|
||||
button:SetPoint("RIGHT", "ChatBarFrame", "RIGHT", -db.chatBarSpacing, 0)
|
||||
else
|
||||
button:SetPoint("LEFT", "ChatBarFrame", "LEFT", db.chatBarSpacing, 0)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 2, CHAT_BAR_MAX_BUTTONS do
|
||||
button = _G["ChatBarFrameButton"..i]
|
||||
button:ClearAllPoints()
|
||||
button.Text:ClearAllPoints()
|
||||
button.Text:SetPoint(db.chatBarTextPoint, button, db.chatBarTextPoint, db.chatBarTextXOffset, db.chatBarTextYOffset)
|
||||
|
||||
if ChatBar_VerticalDisplay then
|
||||
if ChatBar_AlternateOrientation then
|
||||
button:SetPoint("TOP", "ChatBarFrameButton"..(i-1), "BOTTOM", 0, -db.chatBarSpacing)
|
||||
else
|
||||
button:SetPoint("BOTTOM", "ChatBarFrameButton"..(i-1), "TOP", 0, db.chatBarSpacing)
|
||||
end
|
||||
else
|
||||
if ChatBar_AlternateOrientation then
|
||||
button:SetPoint("RIGHT", "ChatBarFrameButton"..(i-1), "LEFT", -db.chatBarSpacing, 0)
|
||||
else
|
||||
button:SetPoint("LEFT", "ChatBarFrameButton"..(i-1), "RIGHT", db.chatBarSpacing, 0)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc("ChatBar_UpdateButtons", function()
|
||||
local i, buttonIndex = 1, 1
|
||||
|
||||
if not ChatBar_HideAllButtons then
|
||||
while ChatBar_ChatTypes[i] and buttonIndex <= 20 do
|
||||
if ChatBar_ChatTypes[i].show() then
|
||||
_G["ChatBarFrameButton" .. buttonIndex]:Size(db.chatBarSize)
|
||||
_G["ChatBarFrameButton" .. buttonIndex]:SetAlpha(1)
|
||||
buttonIndex = buttonIndex + 1
|
||||
end
|
||||
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
local size = (buttonIndex - 1) * (db.chatBarSize + db.chatBarSpacing) + db.chatBarSpacing
|
||||
if ChatBar_VerticalDisplay then
|
||||
ChatBarFrame:SetWidth(db.chatBarSize + (db.chatBarSpacing * 2))
|
||||
|
||||
if ChatBarFrame:GetTop() then
|
||||
ChatBar_StartSlidingTo(size)
|
||||
else
|
||||
ChatBarFrame:SetHeight(size)
|
||||
end
|
||||
else
|
||||
ChatBarFrame:SetHeight(db.chatBarSize + (db.chatBarSpacing * 2))
|
||||
|
||||
if ChatBarFrame:GetRight() then
|
||||
ChatBar_StartSlidingTo(size)
|
||||
else
|
||||
ChatBarFrame:SetWidth(size)
|
||||
end
|
||||
end
|
||||
|
||||
while buttonIndex <= 20 do
|
||||
_G["ChatBarFrameButton" .. buttonIndex]:SetAlpha(0)
|
||||
buttonIndex = buttonIndex + 1
|
||||
end
|
||||
end)
|
||||
|
||||
ChatBar_UpdateButtonOrientation()
|
||||
|
||||
E:GetModule("Tooltip"):HookScript(ChatBarFrameTooltip, "OnShow", "SetStyle")
|
||||
end)
|
||||
@@ -0,0 +1,31 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ChocolateBar") then return end
|
||||
|
||||
-- ChocolateBar r109
|
||||
-- https://www.curseforge.com/wow/addons/chocolatebar/files/445816
|
||||
|
||||
S:AddCallbackForAddon("ChocolateBar", "ChocolateBar", function()
|
||||
if not E.private.addOnSkins.ChocolateBar then return end
|
||||
|
||||
local i = 1
|
||||
local frame = _G["ChocolateBar"..i]
|
||||
while frame do
|
||||
frame:SetTemplate("Transparent")
|
||||
i = i + 1
|
||||
frame = _G["ChocolateBar"..i]
|
||||
end
|
||||
|
||||
local ChocolateBar = LibStub("AceAddon-3.0"):GetAddon("ChocolateBar", true)
|
||||
if not ChocolateBar then return end
|
||||
|
||||
hooksecurefunc(ChocolateBar.Bar, "New", function(self, name)
|
||||
_G[name]:SetTemplate("Transparent")
|
||||
end)
|
||||
|
||||
if RaidUtility_ShowButton then
|
||||
RaidUtility_ShowButton:Point("TOP", -400, -19)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,225 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Clique") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
local FauxScrollFrame_GetOffset = FauxScrollFrame_GetOffset
|
||||
|
||||
-- Clique r139
|
||||
-- https://www.curseforge.com/wow/addons/clique/files/466948
|
||||
|
||||
S:AddCallbackForAddon("Clique", "Clique", function()
|
||||
if not E.private.addOnSkins.Clique then return end
|
||||
|
||||
CliquePulloutTab:StyleButton(nil, true)
|
||||
CliquePulloutTab:SetTemplate("Default", true)
|
||||
CliquePulloutTab:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
CliquePulloutTab:GetNormalTexture():SetInside()
|
||||
CliquePulloutTab:GetRegions():Hide()
|
||||
|
||||
local function SkinFrame(frame)
|
||||
frame:StripTextures()
|
||||
frame:SetTemplate("Transparent")
|
||||
|
||||
frame.titleBar:StripTextures()
|
||||
frame.titleBar:SetTemplate("Default", true)
|
||||
frame.titleBar:Height(20)
|
||||
frame.titleBar:SetPoint("TOPLEFT", frame, "TOPLEFT", 0, 0)
|
||||
frame.titleBar:SetPoint("TOPRIGHT", frame, "TOPRIGHT", 0, 0)
|
||||
end
|
||||
|
||||
local function listItemOnEnter(self)
|
||||
self:SetBackdropBorderColor(unpack(E.media.rgbvaluecolor))
|
||||
end
|
||||
local function listItemOnLeave(self)
|
||||
local offset = FauxScrollFrame_GetOffset(CliqueListScroll)
|
||||
if (self.id + offset) == Clique.listSelected then
|
||||
self:SetBackdropBorderColor(1, 1, 1)
|
||||
else
|
||||
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(Clique, "CreateOptionsFrame", function()
|
||||
-- Main Frame
|
||||
SkinFrame(CliqueFrame)
|
||||
|
||||
CliqueFrame:Height(424)
|
||||
CliqueFrame:Point("LEFT", SpellBookFrame, "RIGHT", 6, 32)
|
||||
|
||||
S:HandleCloseButton(CliqueButtonClose)
|
||||
CliqueButtonClose:Size(32)
|
||||
CliqueButtonClose:Point("TOPRIGHT", 5, 6)
|
||||
|
||||
S:HandleDropDownBox(CliqueDropDown, 170)
|
||||
CliqueDropDown:Point("TOPRIGHT", 0, -26)
|
||||
|
||||
CliqueList1:Point("TOPLEFT", 8, -56)
|
||||
|
||||
CliqueListScroll:StripTextures()
|
||||
S:HandleScrollBar(CliqueListScrollScrollBar)
|
||||
CliqueListScrollScrollBar:Point("TOPLEFT", CliqueListScroll, "TOPRIGHT", 3, -19)
|
||||
CliqueListScrollScrollBar:Point("BOTTOMLEFT", CliqueListScroll, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
CliqueButtonCustom:Point("BOTTOMLEFT", 8, 8)
|
||||
|
||||
for i = 1, 10 do
|
||||
local entry = _G["CliqueList"..i]
|
||||
entry:Size(388, 32)
|
||||
entry:SetTemplate("Default")
|
||||
entry.icon:Point("LEFT", 4, 0)
|
||||
entry.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
if i > 1 then
|
||||
entry:Point("TOP", _G["CliqueList" .. (i - 1)], "BOTTOM", 0, -1)
|
||||
end
|
||||
|
||||
entry:SetScript("OnEnter", listItemOnEnter)
|
||||
entry:SetScript("OnLeave", listItemOnLeave)
|
||||
end
|
||||
|
||||
S:HandleButton(CliqueButtonCustom)
|
||||
S:HandleButton(CliqueButtonFrames)
|
||||
S:HandleButton(CliqueButtonProfiles)
|
||||
S:HandleButton(CliqueButtonOptions)
|
||||
S:HandleButton(CliqueButtonDelete)
|
||||
S:HandleButton(CliqueButtonEdit)
|
||||
|
||||
-- OptionsFrame
|
||||
SkinFrame(CliqueOptionsFrame)
|
||||
CliqueOptionsFrame:Height(125)
|
||||
CliqueOptionsFrame:Point("TOPLEFT", CliqueFrame, "TOPRIGHT", -1, 0)
|
||||
|
||||
S:HandleCloseButton(CliqueOptionsButtonClose)
|
||||
CliqueOptionsButtonClose:Size(32)
|
||||
CliqueOptionsButtonClose:Point("TOPRIGHT", 5, 6)
|
||||
|
||||
if CliqueOptionsAnyDown then
|
||||
S:HandleCheckBox(CliqueOptionsAnyDown)
|
||||
CliqueOptionsAnyDown.backdrop:Point("TOPLEFT", 6, -4)
|
||||
CliqueOptionsAnyDown.backdrop:Point("BOTTOMRIGHT", -4, 3)
|
||||
CliqueOptionsAnyDown.backdrop:Point("TOPRIGHT", CliqueOptionsAnyDown.name, "TOPLEFT", -4, 0)
|
||||
end
|
||||
|
||||
S:HandleCheckBox(CliqueOptionsSpecSwitch)
|
||||
CliqueOptionsSpecSwitch.backdrop:Point("TOPLEFT", 6, -4)
|
||||
CliqueOptionsSpecSwitch.backdrop:Point("BOTTOMRIGHT", -4, 3)
|
||||
CliqueOptionsSpecSwitch.backdrop:Point("TOPRIGHT", CliqueOptionsSpecSwitch.name, "TOPLEFT", -4, 0)
|
||||
|
||||
S:HandleDropDownBox(CliquePriSpecDropDown, 225)
|
||||
S:HandleDropDownBox(CliqueSecSpecDropDown, 225)
|
||||
|
||||
CliqueSecSpecDropDown:Point("TOPLEFT", CliquePriSpecDropDown, "BOTTOMLEFT", 0, 7)
|
||||
|
||||
-- TextListFrame
|
||||
SkinFrame(CliqueTextListFrame)
|
||||
|
||||
CliqueTextListFrame:Point("BOTTOMLEFT", CliqueFrame, "BOTTOMRIGHT", -1, 0)
|
||||
|
||||
S:HandleCloseButton(CliqueTextButtonClose)
|
||||
CliqueTextButtonClose:Size(32)
|
||||
CliqueTextButtonClose:Point("TOPRIGHT", 5, 6)
|
||||
|
||||
CliqueTextList1:Point("TOPLEFT", 6, -23)
|
||||
|
||||
CliqueTextListScroll:StripTextures()
|
||||
S:HandleScrollBar(CliqueTextListScrollScrollBar)
|
||||
CliqueTextListScrollScrollBar:Point("TOPLEFT", CliqueTextListScroll, "TOPRIGHT", 3, -19)
|
||||
CliqueTextListScrollScrollBar:Point("BOTTOMLEFT", CliqueTextListScroll, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
S:HandleButton(CliqueButtonDeleteProfile)
|
||||
S:HandleButton(CliqueButtonSetProfile)
|
||||
S:HandleButton(CliqueButtonNewProfile)
|
||||
|
||||
CliqueButtonDeleteProfile:Point("BOTTOMLEFT", 30, 8)
|
||||
|
||||
for i = 1, 12 do
|
||||
local entry = _G["CliqueTextList"..i]
|
||||
S:HandleCheckBox(entry)
|
||||
entry.backdrop:Point("TOPLEFT", 6, -4)
|
||||
entry.backdrop:Point("BOTTOMRIGHT", -4, 3)
|
||||
entry.backdrop:Point("TOPRIGHT", entry.name, "TOPLEFT", -4, 0)
|
||||
end
|
||||
|
||||
-- CustomFrame
|
||||
SkinFrame(CliqueCustomFrame)
|
||||
|
||||
S:HandleButton(CliqueCustomButtonBinding)
|
||||
S:HandleButton(CliqueCustomButtonIcon)
|
||||
CliqueCustomButtonIcon.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
CliqueCustomButtonIcon.icon:SetInside()
|
||||
|
||||
for i = 1, 5 do
|
||||
local entry = _G["CliqueCustomArg"..i]
|
||||
S:HandleEditBox(entry)
|
||||
entry.backdrop:Point("TOPLEFT", -5, -5)
|
||||
entry.backdrop:Point("BOTTOMRIGHT", -5, 5)
|
||||
end
|
||||
|
||||
CliqueMulti:Width(276)
|
||||
CliqueMulti:Point("TOPRIGHT", CliqueCustomArg1, "BOTTOMRIGHT", -14, -27)
|
||||
CliqueMulti:SetBackdrop(nil)
|
||||
CliqueMulti:CreateBackdrop("Default")
|
||||
CliqueMulti.backdrop:Point("TOPLEFT", 5, -7)
|
||||
CliqueMulti.backdrop:Point("BOTTOMRIGHT", -5, 5)
|
||||
|
||||
S:HandleScrollBar(CliqueMultiScrollFrameScrollBar)
|
||||
CliqueMultiScrollFrameScrollBar:Point("TOPLEFT", CliqueMultiScrollFrame, "TOPRIGHT", 6, -18)
|
||||
|
||||
S:HandleButton(CliqueCustomButtonCancel)
|
||||
S:HandleButton(CliqueCustomButtonSave)
|
||||
|
||||
CliqueCustomButtonCancel:Point("BOTTOM", 65, 8)
|
||||
|
||||
-- IconSelectFrame
|
||||
SkinFrame(CliqueIconSelectFrame)
|
||||
|
||||
CliqueIconSelectFrame:Size(261, 211)
|
||||
|
||||
CliqueIcon1:Point("TOPLEFT", 9, -28)
|
||||
|
||||
CliqueIconScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(CliqueIconScrollFrameScrollBar)
|
||||
CliqueIconScrollFrameScrollBar:Point("TOPLEFT", CliqueIconScrollFrame, "TOPRIGHT", -4, -18)
|
||||
CliqueIconScrollFrameScrollBar:Point("BOTTOMLEFT", CliqueIconScrollFrame, "BOTTOMRIGHT", -4, 18)
|
||||
|
||||
for i = 1, 20 do
|
||||
local button = _G["CliqueIcon"..i]
|
||||
local buttonIcon = _G["CliqueIcon"..i.."Icon"]
|
||||
|
||||
button:StripTextures()
|
||||
button:StyleButton(nil, true)
|
||||
button.hover:SetAllPoints()
|
||||
button:CreateBackdrop("Default")
|
||||
|
||||
buttonIcon:SetAllPoints()
|
||||
buttonIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(Clique, "ListScrollUpdate", function(self)
|
||||
if not CliqueListScroll then return end
|
||||
|
||||
local offset = FauxScrollFrame_GetOffset(CliqueListScroll)
|
||||
local width = CliqueListScroll:IsShown() and 388 or 384
|
||||
|
||||
for i = 1, 10 do
|
||||
local idx = offset + i
|
||||
|
||||
if idx <= #self.sortList then
|
||||
local button = _G["CliqueList" .. i]
|
||||
button:Width(width)
|
||||
|
||||
if idx == self.listSelected then
|
||||
button:SetBackdropBorderColor(1, 1, 1)
|
||||
else
|
||||
button:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,640 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("DBM-Core") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
local find, gsub = string.find, string.gsub
|
||||
|
||||
local CreateFrame = CreateFrame
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- Deadly Boss Mods 4.52 r4442
|
||||
-- https://www.curseforge.com/wow/addons/deadly-boss-mods/files/447605
|
||||
|
||||
S:AddCallbackForAddon("DBM-Core", "DBM-Core", function()
|
||||
if not E.private.addOnSkins.DBM then return end
|
||||
|
||||
local backportVersion = DBM.ReleaseRevision > 7000
|
||||
local backportVersion2 = DBM.ReleaseRevision >= 20220412000000 -- 9.2.14
|
||||
|
||||
local function createIconOverlay(id, parent)
|
||||
local frame = CreateFrame("Frame", "$parentIcon" .. id .. "Overlay", parent)
|
||||
frame:SetTemplate()
|
||||
|
||||
if id == 1 then
|
||||
if E.db.addOnSkins.DBMSkinHalf then
|
||||
frame:Point("BOTTOMRIGHT", parent, "BOTTOMLEFT", -10 * (E.Border + E.Spacing), 0)
|
||||
else
|
||||
frame:Point("RIGHT", parent, "LEFT", -(E.Border + E.Spacing), 0)
|
||||
end
|
||||
elseif E.db.addOnSkins.DBMSkinHalf then
|
||||
frame:Point("BOTTOMLEFT", parent, "BOTTOMRIGHT", 10 * (E.Border + E.Spacing), 0)
|
||||
else
|
||||
frame:Point("LEFT", parent, "RIGHT", (E.Border + E.Spacing), 0)
|
||||
end
|
||||
|
||||
local backdroptex = frame:CreateTexture(nil, "BORDER")
|
||||
backdroptex:SetTexture("Interface\\Icons\\Spell_Nature_WispSplode")
|
||||
backdroptex:SetInside(frame)
|
||||
backdroptex:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
return frame
|
||||
end
|
||||
|
||||
local function applyStyle(self)
|
||||
local db = E.db.addOnSkins
|
||||
|
||||
local frame = self.frame
|
||||
local frameName = frame:GetName()
|
||||
local bar = _G[frameName .. "Bar"]
|
||||
local background = _G[frameName .. "BarBackground"]
|
||||
local icon1 = _G[frameName .. "BarIcon1"]
|
||||
local icon2 = _G[frameName .. "BarIcon2"]
|
||||
local name = _G[frameName .. "BarName"]
|
||||
local timer = _G[frameName .. "BarTimer"]
|
||||
local spark = _G[frameName .. "BarSpark"]
|
||||
|
||||
local scale = self.enlarged and self.owner.options.HugeScale or self.owner.options.Scale
|
||||
local barWidth = (self.enlarged and self.owner.options.HugeWidth or self.owner.options.Width) * scale
|
||||
local barHeight = (backportVersion2 and (self.enlarged and self.owner.options.HugeHeight or self.owner.options.Height) or db.dbmBarHeight) * scale
|
||||
local fontSize = db.dbmFontSize * scale
|
||||
|
||||
background:Hide()
|
||||
spark:Hide()
|
||||
frame._SetPoint = frame.SetPoint
|
||||
|
||||
self._bar = bar
|
||||
self._icon1 = icon1
|
||||
self._icon2 = icon2
|
||||
self._name = name
|
||||
self._timer = timer
|
||||
self._font = E.LSM:Fetch("font", db.dbmFont)
|
||||
|
||||
if not icon1.overlay then
|
||||
icon1.overlay = createIconOverlay(1, frame)
|
||||
icon1:SetTexCoord(unpack(E.TexCoords))
|
||||
icon1:SetParent(icon1.overlay)
|
||||
icon1:SetInside(icon1.overlay)
|
||||
end
|
||||
if not icon2.overlay then
|
||||
icon2.overlay = createIconOverlay(2, frame)
|
||||
icon2:SetTexCoord(unpack(E.TexCoords))
|
||||
icon2:SetParent(icon2.overlay)
|
||||
icon2:SetInside(icon2.overlay)
|
||||
end
|
||||
|
||||
frame:SetScale(1)
|
||||
frame:SetTemplate(db.dbmTemplate)
|
||||
|
||||
bar:SetInside(frame)
|
||||
|
||||
frame:Size(barWidth, db.DBMSkinHalf and barHeight / 3 or barHeight)
|
||||
bar:Size(barWidth, barHeight)
|
||||
|
||||
icon1.overlay:Size(barHeight)
|
||||
icon2.overlay:Size(barHeight)
|
||||
|
||||
name:ClearAllPoints()
|
||||
timer:ClearAllPoints()
|
||||
|
||||
if db.DBMSkinHalf then
|
||||
if not self.owner.options.BarYOffset or self.owner.options.BarYOffset < 20 then
|
||||
self.owner.options.BarYOffset = 20
|
||||
end
|
||||
|
||||
if not self.owner.options.HugeBarYOffset or self.owner.options.HugeBarYOffset < 20 then
|
||||
self.owner.options.HugeBarYOffset = 20
|
||||
end
|
||||
|
||||
name:Point("BOTTOMLEFT", frame, "TOPLEFT", 0, 3)
|
||||
if backportVersion then
|
||||
name:Point("BOTTOMRIGHT", timer, "BOTTOMLEFT")
|
||||
end
|
||||
timer:Point("BOTTOMRIGHT", frame, "TOPRIGHT", 1, 3)
|
||||
else
|
||||
name:Point("LEFT", 5, 0)
|
||||
if backportVersion then
|
||||
name:Point("RIGHT", timer, "LEFT")
|
||||
end
|
||||
timer:Point("RIGHT", -5, 0)
|
||||
end
|
||||
|
||||
if not backportVersion then
|
||||
name:SetFont(self._font, fontSize, db.dbmFontOutline)
|
||||
timer:SetFont(self._font, fontSize, db.dbmFontOutline)
|
||||
end
|
||||
|
||||
if self.owner.options.IconLeft then
|
||||
icon1.overlay:Show()
|
||||
else
|
||||
icon1.overlay:Hide()
|
||||
end
|
||||
|
||||
if self.owner.options.IconRight then
|
||||
icon2.overlay:Show()
|
||||
else
|
||||
icon2.overlay:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
local function skinBars(self)
|
||||
local db = E.db.addOnSkins
|
||||
|
||||
for bar in self:GetBarIterator() do
|
||||
if not bar.injected then
|
||||
hooksecurefunc(bar, "Update", function()
|
||||
local sparkEnabled = DBT.Options.Spark
|
||||
if not (db.DBMSkinHalf and sparkEnabled) then return end
|
||||
local spark = _G[bar.frame:GetName().."BarSpark"]
|
||||
spark:SetSize(12, ((bar.enlarged and DBT.Options.HugeHeight or DBT.Options.Height) * 3) - 2)
|
||||
local a, b, c, d = spark:GetPoint()
|
||||
spark:SetPoint(a, b, c, d, 0)
|
||||
end)
|
||||
hooksecurefunc(bar, "ApplyStyle", function()
|
||||
local frame = bar.frame
|
||||
local tbar = _G[frame:GetName().."Bar"]
|
||||
local icon1 = _G[frame:GetName().."BarIcon1"]
|
||||
local icon2 = _G[frame:GetName().."BarIcon2"]
|
||||
local name = _G[frame:GetName().."BarName"]
|
||||
local timer = _G[frame:GetName().."BarTimer"]
|
||||
local iconSize = (bar.enlarged and DBT.Options.HugeHeight or DBT.Options.Height) * db.dbmIconSize
|
||||
if db.DBMSkinHalf then
|
||||
iconSize = iconSize * 2
|
||||
end
|
||||
|
||||
if not icon1.overlay then
|
||||
icon1.overlay = createIconOverlay(1, frame)
|
||||
icon1:SetTexCoord(unpack(E.TexCoords))
|
||||
icon1:SetParent(icon1.overlay)
|
||||
icon1:SetInside(icon1.overlay)
|
||||
end
|
||||
icon1.overlay:SetSize(iconSize, iconSize)
|
||||
|
||||
if not icon2.overlay then
|
||||
icon2.overlay = createIconOverlay(2, frame)
|
||||
icon2:SetTexCoord(unpack(E.TexCoords))
|
||||
icon2:SetParent(icon2.overlay)
|
||||
icon2:SetInside(icon2.overlay)
|
||||
end
|
||||
icon2.overlay:SetSize(iconSize, iconSize)
|
||||
|
||||
frame:SetTemplate(db.dbmTemplate)
|
||||
|
||||
tbar:SetInside(frame)
|
||||
|
||||
name:ClearAllPoints()
|
||||
name:SetWidth(165)
|
||||
name:SetHeight(8)
|
||||
name:SetJustifyH("LEFT")
|
||||
name:SetShadowColor(0, 0, 0, 0)
|
||||
|
||||
timer:ClearAllPoints()
|
||||
timer:SetJustifyH("RIGHT")
|
||||
timer:SetShadowColor(0, 0, 0, 0)
|
||||
|
||||
if db.DBMSkinHalf then
|
||||
name:SetPoint("BOTTOMLEFT", frame, "TOPLEFT", 0, 3)
|
||||
name:SetPoint("BOTTOMRIGHT", timer, "BOTTOMLEFT") -- truncation
|
||||
timer:SetPoint("BOTTOMRIGHT", frame, "TOPRIGHT", -1, 1)
|
||||
else
|
||||
name:SetPoint("LEFT", frame, "LEFT", 4, 0)
|
||||
name:SetPoint("RIGHT", timer, "LEFT") -- truncation
|
||||
timer:SetPoint("RIGHT", frame, "RIGHT", -4, 0)
|
||||
end
|
||||
|
||||
if DBT.Options.IconLeft then icon1.overlay:Show() else icon1.overlay:Hide() end
|
||||
if DBT.Options.IconRight then icon2.overlay:Show() else icon2.overlay:Hide() end
|
||||
|
||||
bar.injected = true
|
||||
end)
|
||||
bar:ApplyStyle()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function correctPoint(self, p1, a, p2, x, y)
|
||||
self._SetPoint(self, p1, a, p2, x, y - 40)
|
||||
self.SetPoint = nil
|
||||
end
|
||||
local function preUpdate(self, elapsed)
|
||||
if (self.timer - elapsed > 0) and self.moving == "move" and self.moveElapsed <= 0.5 and self.owner.options.ExpandUpwards then
|
||||
self.frame.SetPoint = correctPoint
|
||||
end
|
||||
end
|
||||
|
||||
local function setPosition(self)
|
||||
if self.moving == "enlarge" then return end
|
||||
|
||||
local enlarged = self.enlarged
|
||||
local expandUpwards = backportVersion and (enlarged and self.owner.options.ExpandUpwardsLarge or self.owner.options.ExpandUpwards) or self.owner.options.ExpandUpwards
|
||||
local anchor = (self.prev and self.prev.frame) or (self.enlarged and self.owner.secAnchor) or self.owner.mainAnchor
|
||||
|
||||
self.frame:ClearAllPoints()
|
||||
if expandUpwards then
|
||||
self.frame:SetPoint("BOTTOM", anchor, "TOP", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
else
|
||||
self.frame:SetPoint("TOP", anchor, "BOTTOM", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], -self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
end
|
||||
end
|
||||
|
||||
local function moveToNextPosition(self, oldX, oldY)
|
||||
if self.moving == "enlarge" then return end
|
||||
|
||||
local enlarged = self.enlarged
|
||||
local expandUpwards = backportVersion and (enlarged and self.owner.options.ExpandUpwardsLarge or self.owner.options.ExpandUpwards) or self.owner.options.ExpandUpwards
|
||||
local newAnchor = (self.prev and self.prev.frame) or (self.enlarged and self.owner.secAnchor) or self.owner.mainAnchor
|
||||
|
||||
oldX = oldX or (self.frame:GetRight() - self.frame:GetWidth() / 2)
|
||||
if expandUpwards then
|
||||
oldY = oldY or self.frame:GetTop() + self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"]
|
||||
else
|
||||
oldY = oldY or self.frame:GetTop() - self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"]
|
||||
end
|
||||
|
||||
self.frame:ClearAllPoints()
|
||||
if expandUpwards then
|
||||
self.movePoint = "BOTTOM"
|
||||
self.moveRelPoint = "TOP"
|
||||
self.frame:SetPoint("BOTTOM", newAnchor, "TOP", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
else
|
||||
self.movePoint = "TOP"
|
||||
self.moveRelPoint = "BOTTOM"
|
||||
self.frame:SetPoint("TOP", newAnchor, "BOTTOM", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], -self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
end
|
||||
|
||||
local newX = self.frame:GetRight() - self.frame:GetWidth() / 2
|
||||
local newY = self.frame:GetTop()
|
||||
|
||||
self.moveAnchor = newAnchor
|
||||
self.moveOffsetX = -(newX - oldX)
|
||||
self.moveOffsetY = -(newY - oldY)
|
||||
self.moveElapsed = 0
|
||||
|
||||
if self.owner.options.BarStyle ~= "NoAnim" then
|
||||
self.frame:ClearAllPoints()
|
||||
self.frame:SetPoint(self.movePoint, newAnchor, self.moveRelPoint, self.moveOffsetX, self.moveOffsetY)
|
||||
self.moving = "move"
|
||||
end
|
||||
end
|
||||
|
||||
local function enlarge(self)
|
||||
local newAnchor = (self.owner.hugeBars.last and self.owner.hugeBars.last.frame) or self.owner.secAnchor
|
||||
local oldX = self.frame:GetRight() - self.frame:GetWidth() / 2
|
||||
local oldY = self.frame:GetTop()
|
||||
|
||||
local enlarged = self.enlarged
|
||||
local expandUpwards = backportVersion and (enlarged and self.owner.options.ExpandUpwardsLarge or self.owner.options.ExpandUpwards) or self.owner.options.ExpandUpwards
|
||||
|
||||
self.frame:ClearAllPoints()
|
||||
if expandUpwards then
|
||||
self.movePoint = "BOTTOM"
|
||||
self.moveRelPoint = "TOP"
|
||||
self.frame:SetPoint("BOTTOM", newAnchor, "TOP", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
else
|
||||
self.movePoint = "TOP"
|
||||
self.moveRelPoint = "BOTTOM"
|
||||
self.frame:SetPoint("TOP", newAnchor, "BOTTOM", self.owner.options[enlarged and "HugeBarXOffset" or "BarXOffset"], -self.owner.options[enlarged and "HugeBarYOffset" or "BarYOffset"])
|
||||
end
|
||||
|
||||
local newX = self.frame:GetRight() - self.frame:GetWidth() / 2
|
||||
local newY = self.frame:GetTop()
|
||||
|
||||
self.moving = self.owner.options.BarStyle == "NoAnim" and "nextEnlarge" or "enlarge"
|
||||
self.moveAnchor = newAnchor
|
||||
self.moveOffsetX = -(newX - oldX)
|
||||
self.moveOffsetY = -(newY - oldY)
|
||||
self.moveElapsed = 0
|
||||
|
||||
self.frame:ClearAllPoints()
|
||||
self.frame:SetPoint("TOP", newAnchor, "BOTTOM", self.moveOffsetX, self.moveOffsetY)
|
||||
end
|
||||
|
||||
local function animateEnlarge(self, elapsed)
|
||||
self.moveElapsed = self.moveElapsed + elapsed
|
||||
|
||||
if self.moveElapsed < 1 then
|
||||
local options = self.owner.options
|
||||
local newX = self.moveOffsetX + (options.HugeBarXOffset - self.moveOffsetX) * (self.moveElapsed / 1)
|
||||
local newY = self.moveOffsetY + (options.HugeBarYOffset - self.moveOffsetY) * (self.moveElapsed / 1)
|
||||
local newWidth = options.Width + (options.HugeWidth - options.Width) * (self.moveElapsed / 1)
|
||||
local newScale = options.Scale + (options.HugeScale - options.Scale) * (self.moveElapsed / 1)
|
||||
|
||||
self.frame:ClearAllPoints()
|
||||
self.frame:SetPoint(self.movePoint, self.moveAnchor, self.moveRelPoint, newX, newY)
|
||||
|
||||
local db = E.db.addOnSkins
|
||||
local width = newWidth
|
||||
local iconHeight = db.dbmBarHeight * newScale
|
||||
local height = (db.DBMSkinHalf and iconHeight / 3) or iconHeight
|
||||
local fontSize = db.dbmFontSize * newScale
|
||||
|
||||
self.frame:Size(width, height)
|
||||
self._bar:Size(width, height)
|
||||
|
||||
self._icon1.overlay:Size(iconHeight)
|
||||
self._icon2.overlay:Size(iconHeight)
|
||||
|
||||
self._name:SetFont(self._font, fontSize, db.dbmFontOutline)
|
||||
self._timer:SetFont(self._font, fontSize, db.dbmFontOutline)
|
||||
else
|
||||
self.moving = nil
|
||||
self.enlarged = true
|
||||
self.owner.hugeBars:Append(self)
|
||||
self:ApplyStyle()
|
||||
self:SetPosition()
|
||||
end
|
||||
end
|
||||
|
||||
if backportVersion2 then
|
||||
hooksecurefunc(DBT, "CreateBar", skinBars)
|
||||
else
|
||||
S:SecureHook(DBT, "CreateBar", function(self)
|
||||
local hooked
|
||||
for bar in pairs(self.bars) do
|
||||
if not hooked then
|
||||
local mt = getmetatable(bar).__index
|
||||
|
||||
hooksecurefunc(mt, "ApplyStyle", applyStyle)
|
||||
if not backportVersion then
|
||||
S:Hook(mt, "Update", preUpdate)
|
||||
end
|
||||
|
||||
mt.SetPosition = setPosition
|
||||
mt.MoveToNextPosition = moveToNextPosition
|
||||
mt.Enlarge = enlarge
|
||||
mt.AnimateEnlarge = animateEnlarge
|
||||
|
||||
hooked = true
|
||||
end
|
||||
|
||||
bar:ApplyStyle()
|
||||
bar:SetPosition()
|
||||
end
|
||||
|
||||
S:Unhook(DBT, "CreateBar")
|
||||
end)
|
||||
end
|
||||
|
||||
local function SkinBoss()
|
||||
local db = E.db.addOnSkins
|
||||
|
||||
local count = 1
|
||||
local bar = _G["DBM_BossHealth_Bar_" .. count]
|
||||
local barName, background, progress, name, timer
|
||||
local point1, anchor, point2
|
||||
|
||||
while bar do
|
||||
point1, anchor, point2 = bar:GetPoint()
|
||||
if not point1 then return end
|
||||
|
||||
barName = bar:GetName()
|
||||
background = _G[barName .. "BarBorder"]
|
||||
progress = _G[barName .. "Bar"]
|
||||
name = _G[barName .. "BarName"]
|
||||
timer = _G[barName .. "BarTimer"]
|
||||
|
||||
bar:ClearAllPoints()
|
||||
|
||||
bar:Height(db.dbmBarHeight)
|
||||
bar:SetTemplate("Transparent")
|
||||
|
||||
background:SetNormalTexture(nil)
|
||||
|
||||
progress:SetStatusBarTexture(E.media.normTex)
|
||||
progress:ClearAllPoints()
|
||||
progress:SetInside(bar)
|
||||
|
||||
name:ClearAllPoints()
|
||||
name:Point("LEFT", bar, "LEFT", 4, 0)
|
||||
name:SetFont(E.LSM:Fetch("font", db.dbmFont), db.dbmFontSize, db.dbmFontOutline)
|
||||
|
||||
timer:ClearAllPoints()
|
||||
timer:Point("RIGHT", bar, "RIGHT", -4, 0)
|
||||
timer:SetFont(E.LSM:Fetch("font", db.dbmFont), db.dbmFontSize, db.dbmFontOutline)
|
||||
|
||||
if DBM.Options.HealthFrameGrowUp then
|
||||
bar:Point(point1, anchor, point2, 0, count == 1 and 8 or 4)
|
||||
else
|
||||
bar:Point(point1, anchor, point2, 0, -(count == 1 and 8 or 4))
|
||||
end
|
||||
|
||||
count = count + 1
|
||||
bar = _G["DBM_BossHealth_Bar_" .. count]
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(DBM.BossHealth, "Show", SkinBoss)
|
||||
hooksecurefunc(DBM.BossHealth, "AddBoss", SkinBoss)
|
||||
hooksecurefunc(DBM.BossHealth, "UpdateSettings", SkinBoss)
|
||||
|
||||
S:SecureHook(DBM.RangeCheck, "Show", function(self)
|
||||
if not DBMRangeCheck then return end
|
||||
|
||||
DBMRangeCheck:SetTemplate("Transparent")
|
||||
E:GetModule("Tooltip"):HookScript(DBMRangeCheck, "OnShow", "SetStyle")
|
||||
|
||||
S:Unhook(self, "Show")
|
||||
end)
|
||||
|
||||
if backportVersion then
|
||||
S:RawHook(DBM, "AddWarning", function(self, text, ...)
|
||||
if find(text, " |T") then
|
||||
text = gsub(text, "(:12:12)", ":18:18:0:0:64:64:5:59:5:59")
|
||||
end
|
||||
|
||||
return S.hooks[DBM].AddWarning(self, text, ...)
|
||||
end)
|
||||
else
|
||||
S:RawHook("RaidNotice_AddMessage", function(noticeFrame, textString, colorInfo)
|
||||
if find(textString, " |T") then
|
||||
textString = gsub(textString, "(:12:12)", ":18:18:0:0:64:64:5:59:5:59")
|
||||
end
|
||||
|
||||
return S.hooks.RaidNotice_AddMessage(noticeFrame, textString, colorInfo)
|
||||
end, true)
|
||||
end
|
||||
|
||||
if DBM.ShowUpdateReminder then
|
||||
S:SecureHook(DBM, "ShowUpdateReminder", function(self)
|
||||
DBMUpdateReminder:SetTemplate("Transparent")
|
||||
DBMUpdateReminder:EnableMouse(true)
|
||||
|
||||
local editBox, button = DBMUpdateReminder:GetChildren()
|
||||
|
||||
local left, right, middle = select(6, DBMUpdateReminder:GetChildren():GetRegions())
|
||||
left:Hide()
|
||||
right:Hide()
|
||||
middle:Hide()
|
||||
editBox:Height(22)
|
||||
S:HandleEditBox(editBox)
|
||||
|
||||
S:HandleButton(button)
|
||||
|
||||
S:Unhook(self, "ShowUpdateReminder")
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("DBM-GUI", "DBM-GUI", function()
|
||||
if not E.private.addOnSkins.DBM then return end
|
||||
local backportVersion2 = DBM.ReleaseRevision >= 20220412000000 -- 9.2.14
|
||||
|
||||
DBM_GUI_OptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
DBM_GUI_OptionsFrameHeader:Point("TOP", 0, 7)
|
||||
DBM_GUI_OptionsFrameHeader:Hide()
|
||||
|
||||
DBM_GUI_OptionsFramePanelContainer:SetTemplate("Transparent")
|
||||
|
||||
if backportVersion2 then
|
||||
for i = 1, #DBM_GUI.tabs do -- can be variable
|
||||
S:HandleTab(_G["DBM_GUI_OptionsFrameTab" .. i])
|
||||
end
|
||||
else
|
||||
S:HandleTab(DBM_GUI_OptionsFrameTab1)
|
||||
S:HandleTab(DBM_GUI_OptionsFrameTab2)
|
||||
end
|
||||
|
||||
DBM_GUI_OptionsFrameTab1:Point("BOTTOMLEFT", backportVersion2 and DBM_GUI_OptionsFrameList or DBM_GUI_OptionsFrameBossMods, "TOPLEFT", 6, -4)
|
||||
DBM_GUI_OptionsFrameTab1Text:SetPoint("CENTER", 0, 0)
|
||||
DBM_GUI_OptionsFrameTab2Text:SetPoint("CENTER", 0, 0)
|
||||
|
||||
S:HandleScrollBar(DBM_GUI_OptionsFramePanelContainerFOVScrollBar)
|
||||
DBM_GUI_OptionsFramePanelContainerFOVScrollBar:Point("TOPRIGHT", 18, -16)
|
||||
DBM_GUI_OptionsFramePanelContainerFOVScrollBar:Point("BOTTOMRIGHT", 18, 14)
|
||||
|
||||
S:HandleButton(DBM_GUI_OptionsFrameOkay)
|
||||
|
||||
if DBM_GUI_OptionsFrameWebsiteButton then
|
||||
S:HandleButton(DBM_GUI_OptionsFrameWebsiteButton)
|
||||
end
|
||||
|
||||
if backportVersion2 then
|
||||
for _, button in ipairs(DBM_GUI_OptionsFrameList.buttons) do
|
||||
S:HandleCollapseTexture(button.toggle)
|
||||
end
|
||||
end
|
||||
|
||||
S:SecureHookScript(DBM_GUI_OptionsFrame, "OnShow", function(self)
|
||||
if backportVersion2 then
|
||||
DBM_GUI_OptionsFrameList:StripTextures()
|
||||
DBM_GUI_OptionsFrameList:SetTemplate("Transparent")
|
||||
S:HandleScrollBar(DBM_GUI_OptionsFrameListListScrollBar)
|
||||
DBM_GUI_OptionsFrameListListScrollBar:Point("TOPRIGHT", 1, -18)
|
||||
DBM_GUI_OptionsFrameListListScrollBar:Point("BOTTOMLEFT", 7, 18)
|
||||
|
||||
else
|
||||
DBM_GUI_OptionsFrameBossMods:StripTextures()
|
||||
DBM_GUI_OptionsFrameBossMods:SetTemplate("Transparent")
|
||||
|
||||
DBM_GUI_OptionsFrameBossModsList:StripTextures()
|
||||
S:HandleScrollBar(DBM_GUI_OptionsFrameBossModsListScrollBar)
|
||||
DBM_GUI_OptionsFrameBossModsListScrollBar:Point("TOPRIGHT", 1, -18)
|
||||
DBM_GUI_OptionsFrameBossModsListScrollBar:Point("BOTTOMLEFT", 7, 18)
|
||||
|
||||
for _, button in ipairs(DBM_GUI_OptionsFrameBossMods.buttons) do
|
||||
S:HandleCollapseExpandButton(button.toggle, "auto")
|
||||
button.toggle:Point("TOPLEFT", 3, 0)
|
||||
end
|
||||
|
||||
DBM_GUI_OptionsFrameDBMOptions:StripTextures()
|
||||
DBM_GUI_OptionsFrameDBMOptions:SetTemplate("Transparent")
|
||||
|
||||
DBM_GUI_OptionsFrameDBMOptionsList:StripTextures()
|
||||
S:HandleScrollBar(DBM_GUI_OptionsFrameDBMOptionsListScrollBar)
|
||||
DBM_GUI_OptionsFrameDBMOptionsListScrollBar:Point("TOPRIGHT", 1, -18)
|
||||
DBM_GUI_OptionsFrameDBMOptionsListScrollBar:Point("BOTTOMLEFT", 7, 18)
|
||||
|
||||
for _, button in ipairs(DBM_GUI_OptionsFrameDBMOptions.buttons) do
|
||||
S:HandleCollapseExpandButton(button.toggle, "auto")
|
||||
button.toggle:Point("TOPLEFT", 3, 0)
|
||||
end
|
||||
end
|
||||
|
||||
S:Unhook(self, "OnShow")
|
||||
end)
|
||||
--[[
|
||||
hooksecurefunc(DBM_GUI_OptionsFrame, "DisplayButton", function(self, button, element)
|
||||
button.toggle:Point("LEFT", 8 * element.depth - 5, 2);
|
||||
end)
|
||||
--]]
|
||||
S:RawHook(DBM_GUI, "CreateNewPanel", function(self, ...)
|
||||
local panel = S.hooks[DBM_GUI].CreateNewPanel(self, ...)
|
||||
|
||||
local PanelPrototype = getmetatable(panel).__index
|
||||
|
||||
hooksecurefunc(PanelPrototype, "CreateArea", function(this)
|
||||
this.areas[#this.areas].frame:SetTemplate("Transparent", nil, true)
|
||||
this.areas[#this.areas].frame:SetBackdropColor(0, 0, 0, 0)
|
||||
end)
|
||||
--[[
|
||||
S:RawHook(PanelPrototype, "CreateCheckButton", function(this, name, autoplace, ...)
|
||||
local button = S.hooks[PanelPrototype].CreateCheckButton(this, name, autoplace, ...)
|
||||
|
||||
if button then
|
||||
S:HandleCheckBox(button, true)
|
||||
|
||||
if autoplace then
|
||||
local _, lastObj = button:GetPoint()
|
||||
if lastObj.mytype == "checkbutton" then
|
||||
button:Point("TOPLEFT", lastObj, "BOTTOMLEFT", 0, -7)
|
||||
end
|
||||
end
|
||||
|
||||
return button
|
||||
end
|
||||
end)
|
||||
S:RawHook(PanelPrototype, "CreateEditBox", function(this, ...)
|
||||
local editbox = S.hooks[PanelPrototype].CreateEditBox(this, ...)
|
||||
S:HandleEditBox(editbox)
|
||||
return editbox
|
||||
end)
|
||||
S:RawHook(PanelPrototype, "CreateSlider", function(this, ...)
|
||||
local slider = S.hooks[PanelPrototype].CreateSlider(this, ...)
|
||||
S:HandleSliderFrame(slider)
|
||||
return slider
|
||||
end)
|
||||
S:RawHook(PanelPrototype, "CreateButton", function(this, ...)
|
||||
local button = S.hooks[PanelPrototype].CreateButton(this, ...)
|
||||
S:HandleButton(button)
|
||||
return button
|
||||
end)
|
||||
--]]
|
||||
S:Unhook(DBM_GUI, "CreateNewPanel")
|
||||
|
||||
return panel
|
||||
end)
|
||||
--[[
|
||||
DBM_GUI_DropDown:SetTemplate("Transparent")
|
||||
|
||||
local dropdownArrowColor = {1, 0.8, 0}
|
||||
S:RawHook(DBM_GUI, "CreateDropdown", function(self, ...)
|
||||
local dropdown = S.hooks[DBM_GUI].CreateDropdown(self, ...)
|
||||
|
||||
local frameName = dropdown:GetName()
|
||||
local button = _G[frameName.."Button"]
|
||||
local text = _G[frameName.."Text"]
|
||||
|
||||
dropdown:StripTextures()
|
||||
dropdown:SetTemplate()
|
||||
dropdown:Size(dropdown:GetWidth(), 20)
|
||||
|
||||
if button then
|
||||
S:HandleNextPrevButton(button, "down", dropdownArrowColor)
|
||||
button:ClearAllPoints()
|
||||
button:Point("RIGHT", dropdown, "RIGHT", -3, 0)
|
||||
button:Size(16)
|
||||
end
|
||||
|
||||
if text then
|
||||
text:ClearAllPoints()
|
||||
text:Point("RIGHT", button, "LEFT", -3, 0)
|
||||
end
|
||||
|
||||
return dropdown
|
||||
end)
|
||||
--]]
|
||||
end)
|
||||
@@ -0,0 +1,53 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Doom_CooldownPulse") then return end
|
||||
|
||||
-- Doom_CooldownPulse 1.2.3
|
||||
-- https://www.curseforge.com/wow/addons/doomcooldownpulse/files/400638
|
||||
|
||||
S:AddCallbackForAddon("Doom_CooldownPulse", "Doom_CooldownPulse", function()
|
||||
if not E.private.addOnSkins.Doom_CooldownPulse then return end
|
||||
|
||||
local frame = AS:FindFrameByPoint("CENTER", UIParent, "BOTTOMLEFT", DCP_Saved.x, DCP_Saved.y)
|
||||
if not frame then return end
|
||||
|
||||
Doom_CooldownPulse = frame
|
||||
frame:SetTemplate()
|
||||
frame.icon = frame:GetRegions()
|
||||
|
||||
frame.icon:SetParent(frame)
|
||||
frame.icon:SetDrawLayer("ARTWORK")
|
||||
frame.icon:SetInside()
|
||||
frame.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
hooksecurefunc(frame.icon, "SetTexture", function(self)
|
||||
if not self:GetTexture() then
|
||||
self:GetParent():SetAlpha(0)
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(frame, "CreateOptionsFrame", function()
|
||||
DCP_OptionsFrame:SetScale(GetCVar("uiScale"))
|
||||
|
||||
DCP_OptionsFrame:StripTextures()
|
||||
DCP_OptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider1)
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider2)
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider3)
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider4)
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider5)
|
||||
S:HandleSliderFrame(DCP_OptionsFrameSlider6)
|
||||
|
||||
S:HandleEditBox(DCP_OptionsFrameIgnoreBox)
|
||||
DCP_OptionsFrameIgnoreBox.backdrop:Point("TOPLEFT", -4, -6)
|
||||
DCP_OptionsFrameIgnoreBox.backdrop:Point("BOTTOMRIGHT", 0, 5)
|
||||
|
||||
S:HandleButton(DCP_OptionsFrameButton1)
|
||||
S:HandleButton(DCP_OptionsFrameButton2)
|
||||
S:HandleButton(DCP_OptionsFrameButton3)
|
||||
S:HandleButton(DCP_OptionsFrameButton4)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,42 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Enchantrix") then return end
|
||||
|
||||
-- Enchantrix 5.8.4723
|
||||
-- https://www.curseforge.com/wow/addons/auctioneer/files/427823
|
||||
|
||||
S:AddCallbackForAddon("Enchantrix", "Enchantrix", function()
|
||||
if not E.private.addOnSkins.Enchantrix then return end
|
||||
|
||||
AS:SkinLibrary("Configator")
|
||||
AS:SkinLibrary("LibExtraTip-1")
|
||||
|
||||
S:SecureHook(Enchantrix_Manifest, "ShowMessage", function()
|
||||
Enchantrix_Manifest.messageFrame:SetTemplate("Transparent")
|
||||
S:HandleButton(Enchantrix_Manifest.messageFrame.done)
|
||||
S:Unhook(Enchantrix_Manifest, "ShowMessage")
|
||||
end)
|
||||
|
||||
local function SkinAutoDePrompt(frame)
|
||||
frame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleItemButton(AutoDisenchantPromptItem, true)
|
||||
AutoDisenchantPromptItem:GetNormalTexture():SetInside(AutoDisenchantPromptItem.backdrop)
|
||||
AutoDisenchantPromptItem:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
S:HandleButton(AutoDEPromptYes)
|
||||
S:HandleButton(AutoDEPromptNo)
|
||||
S:HandleButton(AutoDEPromptIgnore)
|
||||
end
|
||||
|
||||
if AutoDEPromptYes then
|
||||
SkinAutoDePrompt(AutoDEPromptYes:GetParent())
|
||||
else
|
||||
S:SecureHook(Enchantrix.AutoDisenchant, "AddonLoaded", function()
|
||||
SkinAutoDePrompt(AutoDEPromptYes:GetParent())
|
||||
S:Unhook(Enchantrix.AutoDisenchant, "AddonLoaded")
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,238 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("epgp") then return end
|
||||
|
||||
-- EPGP 5.5.19
|
||||
-- https://www.curseforge.com/wow/addons/epgp-dkp-reloaded/files/442647
|
||||
|
||||
S:AddCallbackForAddon("epgp", "epgp", function()
|
||||
if not E.private.addOnSkins.EPGP then return end
|
||||
|
||||
local EPGPUI = EPGP and EPGP:GetModule("ui", true)
|
||||
if not EPGPUI then return end
|
||||
|
||||
local function SkinEPGP()
|
||||
-- Main Frame
|
||||
EPGPFrame:StripTextures()
|
||||
EPGPFrame:CreateBackdrop("Transparent")
|
||||
EPGPFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
EPGPFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetUIPanelWindowInfo(EPGPFrame, "width", nil, nil, nil, true)
|
||||
S:SetBackdropHitRect(EPGPFrame)
|
||||
|
||||
local closeButton, checkBoxBorder, _, _, _, main = EPGPFrame:GetChildren()
|
||||
|
||||
S:HandleCloseButton(closeButton, EPGPFrame.backdrop)
|
||||
|
||||
checkBoxBorder:StripTextures()
|
||||
checkBoxBorder:Point("TOPRIGHT", EPGPFrame, "TOPRIGHT", -49, -38)
|
||||
S:HandleCheckBox(checkBoxBorder:GetChildren())
|
||||
|
||||
main:Width(329)
|
||||
main:Point("TOPLEFT", 20, -70)
|
||||
|
||||
EPGPScrollFrame:SetTemplate("Transparent")
|
||||
EPGPScrollFrame:Width(304)
|
||||
EPGPScrollFrame:Point("TOPRIGHT", 1, 1)
|
||||
EPGPScrollFrame:Point("BOTTOMRIGHT", 1, 8)
|
||||
|
||||
EPGPScrollFrameScrollBarBorder:StripTextures()
|
||||
S:HandleScrollBar(EPGPScrollFrameScrollBar)
|
||||
EPGPScrollFrameScrollBar:Point("TOPLEFT", EPGPScrollFrame, "TOPRIGHT", 3, -19)
|
||||
EPGPScrollFrameScrollBar:Point("BOTTOMLEFT", EPGPScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
local award, logButton, decay, tabl = main:GetChildren()
|
||||
|
||||
for _, header in ipairs(tabl.headers) do
|
||||
header:StripTextures()
|
||||
header:StyleButton()
|
||||
end
|
||||
|
||||
for _, row in ipairs(tabl.rowFrame.rows) do
|
||||
row.check:SetDrawLayer("BORDER")
|
||||
end
|
||||
|
||||
S:HandleButton(award)
|
||||
S:HandleButton(logButton)
|
||||
S:HandleButton(decay)
|
||||
|
||||
logButton:Point("BOTTOMRIGHT", -5, 0)
|
||||
decay:Point("RIGHT", logButton, "LEFT", -3, 0)
|
||||
|
||||
local statusText = select(2, main:GetRegions())
|
||||
statusText:Point("BOTTOMLEFT", award, "TOPLEFT", 0, 7)
|
||||
statusText:Point("BOTTOMRIGHT", logButton, "TOPRIGHT", 0, 7)
|
||||
|
||||
-- First Side Frame
|
||||
EPGPSideFrame:StripTextures()
|
||||
EPGPSideFrame:SetTemplate("Transparent")
|
||||
EPGPSideFrame:Point("TOPLEFT", EPGPFrame, "TOPRIGHT", -33, -12)
|
||||
|
||||
S:HandleCloseButton(EPGPSideFrame:GetChildren(), EPGPSideFrame)
|
||||
|
||||
S:HandleDropDownBox(EPGPSideFrameGPControlDropDown, 190)
|
||||
S:HandleDropDownBox(EPGPSideFrameEPControlDropDown, 190)
|
||||
|
||||
S:HandleEditBox(EPGPSideFrameGPControlEditBox)
|
||||
S:HandleEditBox(EPGPSideFrameEPControlOtherEditBox)
|
||||
S:HandleEditBox(EPGPSideFrameEPControlEditBox)
|
||||
|
||||
EPGPSideFrameGPControlEditBox:Height(22)
|
||||
EPGPSideFrameEPControlOtherEditBox:Height(22)
|
||||
EPGPSideFrameEPControlEditBox:Height(22)
|
||||
EPGPSideFrameEPControlOtherEditBox:Point("RIGHT", -14, 0)
|
||||
|
||||
local parentFrame = EPGPSideFrameGPControlEditBox:GetParent()
|
||||
S:HandleButton(parentFrame.button)
|
||||
EPGPSideFrameGPControlEditBox:Point("RIGHT", parentFrame.button, "LEFT", -4, 0)
|
||||
parentFrame.button:Point("RIGHT", EPGPSideFrameGPControlDropDown, "RIGHT", -8, 0)
|
||||
|
||||
parentFrame = EPGPSideFrameEPControlEditBox:GetParent()
|
||||
S:HandleButton(parentFrame.button)
|
||||
EPGPSideFrameEPControlEditBox:Point("RIGHT", parentFrame.button, "LEFT", -4, 0)
|
||||
parentFrame.button:Point("RIGHT", EPGPSideFrameEPControlOtherEditBox, "RIGHT", 1, 0)
|
||||
|
||||
-- Second Side Frame
|
||||
EPGPSideFrame2:EnableMouse(true)
|
||||
EPGPSideFrame2:SetTemplate("Transparent")
|
||||
EPGPSideFrame2:Point("BOTTOMLEFT", EPGPFrame, "BOTTOMRIGHT", -33, 76)
|
||||
|
||||
S:HandleCloseButton(EPGPSideFrame2:GetChildren(), EPGPSideFrame2)
|
||||
|
||||
S:HandleDropDownBox(EPGPSideFrame2EPControlDropDown, 190)
|
||||
|
||||
S:HandleEditBox(EPGPSideFrame2EPControlOtherEditBox)
|
||||
S:HandleEditBox(EPGPSideFrame2EPControlEditBox)
|
||||
|
||||
EPGPSideFrame2EPControlOtherEditBox:Point("RIGHT", -14, 0)
|
||||
EPGPSideFrame2EPControlOtherEditBox:Height(22)
|
||||
EPGPSideFrame2EPControlEditBox:Height(22)
|
||||
|
||||
parentFrame = EPGPSideFrame2EPControlEditBox:GetParent()
|
||||
|
||||
S:HandleButton(parentFrame.button)
|
||||
parentFrame.button:Point("RIGHT", EPGPSideFrame2EPControlOtherEditBox, "RIGHT", 1, 0)
|
||||
EPGPSideFrame2EPControlEditBox:Point("RIGHT", parentFrame.button, "LEFT", -4, 0)
|
||||
|
||||
S:HandleCheckBox(parentFrame.recurring)
|
||||
parentFrame.recurring:Point("TOP", EPGPSideFrame2EPControlEditBox, "BOTTOMLEFT", 0, -6)
|
||||
|
||||
S:HandleNextPrevButton(parentFrame.decButton, "down")
|
||||
parentFrame.decButton:Size(18)
|
||||
|
||||
S:HandleNextPrevButton(parentFrame.incButton, "up")
|
||||
parentFrame.incButton:Size(18)
|
||||
|
||||
parentFrame.decButton:Point("TOP", parentFrame.recurring, "TOP", 0, -3)
|
||||
parentFrame.decButton:Point("RIGHT", -13, 0)
|
||||
parentFrame.incButton:Point("RIGHT", parentFrame.decButton, "LEFT", -5, 0)
|
||||
|
||||
-- Log Frame
|
||||
EPGPLogFrame:EnableMouse(true)
|
||||
EPGPLogFrame:StripTextures()
|
||||
EPGPLogFrame:SetTemplate("Transparent")
|
||||
EPGPLogFrame:Height(424)
|
||||
EPGPLogFrame:SetMinResize(435, 424)
|
||||
EPGPLogFrame:SetMaxResize(1200, 424)
|
||||
EPGPLogFrame:Point("TOPLEFT", EPGPFrame, "TOPRIGHT", -33, -12)
|
||||
|
||||
local sizer, closeButton2, export, import, trimLog, undo, redo, scrollParent = EPGPLogFrame:GetChildren()
|
||||
|
||||
S:HandleCloseButton(closeButton2, EPGPLogFrame)
|
||||
|
||||
scrollParent:StripTextures()
|
||||
scrollParent:Point("LEFT", 7, 0)
|
||||
scrollParent:Point("RIGHT", 1, 0)
|
||||
scrollParent:CreateBackdrop("Transparent")
|
||||
scrollParent.backdrop:Point("TOPLEFT", 1, 2)
|
||||
scrollParent.backdrop:Point("BOTTOMRIGHT", -30, 7)
|
||||
|
||||
EPGPLogRecordScrollFrame:Size(368, 350)
|
||||
EPGPLogRecordScrollFrame:Point("TOPRIGHT", -0, -3)
|
||||
|
||||
EPGPLogRecordFrame1:Point("TOPLEFT", 3, 0)
|
||||
|
||||
EPGPLogRecordScrollFrameScrollBarBorder:StripTextures()
|
||||
S:HandleScrollBar(EPGPLogRecordScrollFrameScrollBar)
|
||||
|
||||
EPGPLogRecordScrollFrameScrollBar:Point("TOPLEFT", EPGPLogRecordScrollFrame, "TOPRIGHT", -27, -14)
|
||||
EPGPLogRecordScrollFrameScrollBar:Point("BOTTOMLEFT", EPGPLogRecordScrollFrame, "BOTTOMRIGHT", -27, 18)
|
||||
|
||||
S:HandleButton(export)
|
||||
S:HandleButton(import)
|
||||
S:HandleButton(trimLog)
|
||||
S:HandleButton(undo)
|
||||
S:HandleButton(redo)
|
||||
|
||||
export:Point("BOTTOMLEFT", 8, 8)
|
||||
import:Point("LEFT", export, "RIGHT", 3, 0)
|
||||
|
||||
undo:Point("BOTTOMRIGHT", -8, 8)
|
||||
redo:Point("RIGHT", undo, "LEFT", -3, 0)
|
||||
|
||||
sizer:Size(14)
|
||||
|
||||
local line1, line2 = sizer:GetRegions()
|
||||
line1:Size(12)
|
||||
line1:Point("BOTTOMRIGHT", -1, 1)
|
||||
line2:Size(8)
|
||||
line2:Point("BOTTOMRIGHT", -1, 1)
|
||||
local x = 0.1 * 14/17
|
||||
line1:SetTexCoord(1/32 - x, 0.5, 1/32, 0.5 + x, 1/32, 0.5 - x, 1/32 + x, 0.5)
|
||||
x = 0.1 * 11/17
|
||||
line2:SetTexCoord(1/32 - x, 0.5, 1/32, 0.5 + x, 1/32, 0.5 - x, 1/32 + x, 0.5)
|
||||
|
||||
sizer:HookScript("OnMouseUp", function(self)
|
||||
self:GetParent():ClearAllPoints()
|
||||
self:GetParent():Point("TOPLEFT", EPGPFrame, "TOPRIGHT", -33, -12)
|
||||
end)
|
||||
|
||||
-- ExportImport Frame
|
||||
EPGPExportImportFrame:EnableMouse(true)
|
||||
EPGPExportImportFrame:SetTemplate("Transparent")
|
||||
EPGPExportImportFrame:Width(480)
|
||||
|
||||
EPGPExportImportFrame.help:Point("TOP", 0, -10)
|
||||
|
||||
EPGPExportImportFrame.editbox:Width(438)
|
||||
|
||||
EPGPExportScrollFrame:EnableMouse(true)
|
||||
EPGPExportScrollFrame:StripTextures()
|
||||
EPGPExportScrollFrame:Point("TOPLEFT", EPGPExportImportFrame.help, "BOTTOMLEFT", 0, -10)
|
||||
EPGPExportScrollFrame:Point("TOPRIGHT", EPGPExportImportFrame.help, "BOTTOMRIGHT", -17, 0)
|
||||
EPGPExportScrollFrame:Point("BOTTOM", EPGPExportImportFrame.button1, "TOP", 0, 9)
|
||||
|
||||
EPGPExportScrollFrame:CreateBackdrop("Transparent")
|
||||
EPGPExportScrollFrame.backdrop:Point("TOPLEFT", -2, 2)
|
||||
EPGPExportScrollFrame.backdrop:Point("BOTTOMRIGHT", -2, -2)
|
||||
|
||||
S:HandleScrollBar(EPGPExportScrollFrameScrollBar)
|
||||
EPGPExportScrollFrameScrollBar:Point("TOPLEFT", EPGPExportScrollFrame, "TOPRIGHT", 1, -17)
|
||||
EPGPExportScrollFrameScrollBar:Point("BOTTOMLEFT", EPGPExportScrollFrame, "BOTTOMRIGHT", 1, 17)
|
||||
|
||||
S:HandleButton(EPGPExportImportFrame.button1)
|
||||
S:HandleButton(EPGPExportImportFrame.button2)
|
||||
|
||||
EPGPExportImportFrame.button1:Point("BOTTOM", 0, 8)
|
||||
|
||||
if not EPGPExportScrollFrame:GetScript("OnMouseUp") then
|
||||
EPGPExportScrollFrame:SetScript("OnMouseUp", function(self, button)
|
||||
if button == "LeftButton" then
|
||||
EPGPExportImportFrame.editbox:SetFocus()
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
if EPGPFrame then
|
||||
SkinEPGP()
|
||||
else
|
||||
S:SecureHook(EPGPUI, "OnEnable", function(self)
|
||||
SkinEPGP()
|
||||
S:Unhook(self, "OnEnable")
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,177 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("EPGP_LootMaster") then return end
|
||||
|
||||
local ipairs = ipairs
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemQualityColor = GetItemQualityColor
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- EPGP LootMaster 0.4.9
|
||||
-- https://www.curseforge.com/wow/addons/epgp_lootmaster/files/409167
|
||||
|
||||
S:AddCallbackForAddon("EPGP_LootMaster", "EPGP_LootMaster", function()
|
||||
if not E.private.addOnSkins.EPGP_LootMaster then return end
|
||||
|
||||
local EPGPLM = LibStub("AceAddon-3.0"):GetAddon("EPGPLootMaster", true)
|
||||
if not EPGPLM then return end
|
||||
|
||||
S:SecureHook(EPGPLM, "InitUI", function(self)
|
||||
self.frame:SetTemplate("Transparent")
|
||||
self.frame.titleFrame:SetTemplate("Default")
|
||||
|
||||
S:Unhook(EPGPLM, "InitUI")
|
||||
end)
|
||||
|
||||
S:SecureHook(EPGPLM, "ShowVersionCheckFrame", function(self)
|
||||
self.versioncheckframe:SetTemplate("Transparent")
|
||||
self.versioncheckframe.titleFrame:SetTemplate("Default")
|
||||
|
||||
self.versioncheckframe.sstScroll.frame:SetTemplate("Default")
|
||||
S:HandleScrollBar(_G[self.versioncheckframe.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
|
||||
|
||||
for i = 1, self.versioncheckframe:GetNumChildren() do
|
||||
local child = select(i, self.versioncheckframe:GetChildren())
|
||||
if child and child:IsObjectType("Button") then
|
||||
S:HandleButton(child)
|
||||
end
|
||||
end
|
||||
|
||||
S:Unhook(EPGPLM, "ShowVersionCheckFrame")
|
||||
end)
|
||||
|
||||
local function UpdateLootUI_Icon_SetNormalTexture(self, texture)
|
||||
if texture and self:GetParent().data then
|
||||
self:SetBackdropBorderColor(GetItemQualityColor(self:GetParent().data.quality))
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(EPGPLM, "UpdateLootUI", function(self)
|
||||
for _, frame in ipairs(self.lootSelectFrames) do
|
||||
if not frame.isSkinned then
|
||||
frame:SetTemplate("Transparent")
|
||||
|
||||
frame.itemIcon:SetTemplate("Default")
|
||||
frame.itemIcon:GetNormalTexture():SetInside(frame.itemIcon.backdrop)
|
||||
frame.itemIcon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
frame.itemIcon:SetBackdropBorderColor(GetItemQualityColor(frame.data.quality))
|
||||
|
||||
hooksecurefunc(frame.itemIcon, "SetNormalTexture", UpdateLootUI_Icon_SetNormalTexture)
|
||||
|
||||
S:HandleButton(frame.btnPass)
|
||||
|
||||
frame.timerFrame:SetBackdrop(nil)
|
||||
select(2, frame.timerFrame:GetChildren()):SetBackdrop(nil)
|
||||
|
||||
frame.progressBar:CreateBackdrop()
|
||||
frame.progressBar:Height(20)
|
||||
frame.progressBar:SetStatusBarTexture(E.media.normTex)
|
||||
frame.progressBar:SetStatusBarColor(0.13, 0.35, 0.80)
|
||||
E:RegisterStatusBar(frame.progressBar)
|
||||
|
||||
frame.btnNote:SetTemplate("Default")
|
||||
frame.btnNote:Size(20)
|
||||
frame.btnNote:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
frame.btnNote:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
frame.btnNote:SetHighlightTexture(nil)
|
||||
frame.btnNote:DisableDrawLayer("OVERLAY")
|
||||
|
||||
local btnNoteIcon = frame.btnNote:GetRegions()
|
||||
btnNoteIcon:SetDrawLayer("ARTWORK")
|
||||
btnNoteIcon:SetPoint("CENTER", 0, 0)
|
||||
|
||||
frame.tbNote:SetBackdrop(nil)
|
||||
S:HandleEditBox(frame.tbNote)
|
||||
|
||||
local buttonSave = frame.tbNote:GetChildren()
|
||||
buttonSave:SetHeight(26)
|
||||
buttonSave:SetPoint("LEFT", frame.tbNote, "RIGHT", 0, 0)
|
||||
S:HandleButton(buttonSave)
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
for _, button in ipairs(frame.buttons) do
|
||||
S:HandleButton(button)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("EPGP_LootMaster_ML", "EPGP_LootMaster_ML", function()
|
||||
if not E.private.addOnSkins.EPGP_LootMaster then return end
|
||||
|
||||
local LMML = LibStub("AceAddon-3.0"):GetAddon("LootMasterML", true)
|
||||
if not LMML then return end
|
||||
|
||||
S:SecureHook(LMML, "GetFrame", function(self)
|
||||
self.frame:SetTemplate("Transparent")
|
||||
self.frame.titleFrame:SetTemplate("Default")
|
||||
|
||||
self.frame.extralootframe:SetTemplate("Transparent")
|
||||
self.frame.extralootframe:Point("TOPRIGHT", self.frame, "TOPLEFT", 1, -10)
|
||||
|
||||
self.frame.itemIcon:SetTemplate("Default")
|
||||
self.frame.itemIcon:GetNormalTexture():SetInside(self.frame.itemIcon.backdrop)
|
||||
self.frame.itemIcon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
hooksecurefunc(self.frame.itemIcon, "SetNormalTexture", function(self, texture)
|
||||
if texture and self:GetParent().currentLoot then
|
||||
self:SetBackdropBorderColor(GetItemQualityColor(self:GetParent().currentLoot.quality))
|
||||
end
|
||||
end)
|
||||
|
||||
self.frame.tbGPValueFrame:SetBackdrop(nil)
|
||||
S:HandleEditBox(self.frame.tbGPValue)
|
||||
|
||||
S:HandleButton(self.frame.btnAnnounce)
|
||||
S:HandleButton(self.frame.btnDiscard)
|
||||
|
||||
self.frame.sstScroll.frame:SetTemplate("Default")
|
||||
S:HandleScrollBar(_G[self.frame.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
|
||||
|
||||
S:Unhook(LMML, "GetFrame")
|
||||
end)
|
||||
|
||||
local function CreateLootButton_Icon_SetNormalTexturefunction(self, texture)
|
||||
if texture and self.data then
|
||||
self:SetBackdropBorderColor(GetItemQualityColor(self.data.quality))
|
||||
end
|
||||
end
|
||||
|
||||
S:RawHook(LMML, "CreateLootButton", function(self)
|
||||
local icon = S.hooks[self].CreateLootButton(self)
|
||||
|
||||
icon:SetTemplate("Default")
|
||||
icon:GetNormalTexture():SetInside(icon.backdrop)
|
||||
icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
hooksecurefunc(icon, "SetNormalTexture", CreateLootButton_Icon_SetNormalTexturefunction)
|
||||
|
||||
return icon
|
||||
end)
|
||||
|
||||
S:SecureHook(LMML, "ShowRaidInfoLookup", function(self)
|
||||
self.raidinfoframe:SetTemplate("Transparent")
|
||||
self.raidinfoframe.titleFrame:SetTemplate("Default")
|
||||
|
||||
for i = 1, self.raidinfoframe:GetNumChildren() do
|
||||
local child = select(i, self.raidinfoframe:GetChildren())
|
||||
if child and child:IsObjectType("Button") then
|
||||
S:HandleButton(child)
|
||||
end
|
||||
end
|
||||
|
||||
self.raidinfoframe.sstScroll.frame:SetTemplate("Default")
|
||||
S:HandleScrollBar(_G[self.raidinfoframe.sstScroll.frame:GetName().."ScrollFrameScrollBar"])
|
||||
|
||||
self.raidinfoframe.tbWhisperFrame:SetBackdrop(nil)
|
||||
S:HandleEditBox(self.raidinfoframe.tbWhisperBox)
|
||||
|
||||
S:Unhook(LMML, "ShowRaidInfoLookup")
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,16 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("EquipCompare") then return end
|
||||
|
||||
-- EquipCompare 2.17
|
||||
|
||||
S:AddCallbackForAddon("EquipCompare", "EquipCompare", function()
|
||||
if not E.private.addOnSkins.EquipCompare then return end
|
||||
|
||||
local TT = E:GetModule("Tooltip")
|
||||
|
||||
TT:HookScript(ComparisonTooltip1, "OnShow", "SetStyle")
|
||||
TT:HookScript(ComparisonTooltip2, "OnShow", "SetStyle")
|
||||
end)
|
||||
@@ -0,0 +1,137 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("EventAlert") then return end
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- EventAlert 4.3.6
|
||||
-- https://www.curseforge.com/wow/addons/event-alert/files/456081
|
||||
|
||||
S:AddCallbackForAddon("EventAlert", "EventAlert", function()
|
||||
if not E.private.addOnSkins.EventAlert then return end
|
||||
|
||||
local function Alart_OnShow(self)
|
||||
self.icon:SetTexture(self:GetBackdrop().bgFile)
|
||||
self:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
local function SkinAlartFrame(frame, hook)
|
||||
if not frame or frame.icon then return end
|
||||
|
||||
frame.icon = frame:CreateTexture(nil, "ARTWORK")
|
||||
frame.icon:SetInside()
|
||||
frame.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
if hook or not frame:GetBackdrop() then
|
||||
frame:Hide()
|
||||
frame:HookScript("OnShow", Alart_OnShow)
|
||||
else
|
||||
Alart_OnShow(frame)
|
||||
end
|
||||
end
|
||||
|
||||
local function SkinFrames()
|
||||
for index in pairsByKeys(EA_Items[EA_playerClass]) do
|
||||
SkinAlartFrame(_G["EAFrame_"..index], true)
|
||||
end
|
||||
for index in pairsByKeys(EA_AltItems[EA_playerClass]) do
|
||||
SkinAlartFrame(_G["EAFrame_"..index], true)
|
||||
end
|
||||
for index in pairsByKeys(EA_Items[EA_CLASS_OTHER]) do
|
||||
SkinAlartFrame(_G["EAFrame_"..index], true)
|
||||
end
|
||||
|
||||
-- Anchor Test Frames
|
||||
for _, frame in pairs({EA_Anchor_Frame, EA_Anchor_Frame2, EA_Anchor_Frame3}) do
|
||||
SkinAlartFrame(frame)
|
||||
end
|
||||
|
||||
-- Class Alart Options
|
||||
for i = 1, Class_Events_Frame:GetNumChildren() do
|
||||
local child = select(i, Class_Events_Frame:GetChildren())
|
||||
if child and child:IsObjectType("CheckButton") then
|
||||
S:HandleCheckBox(child)
|
||||
end
|
||||
end
|
||||
|
||||
-- Alt Alarts Options
|
||||
for i = 1, Alt_Alerts_Frame:GetNumChildren() do
|
||||
local child = select(i, Alt_Alerts_Frame:GetChildren())
|
||||
if child and child:IsObjectType("CheckButton") then
|
||||
S:HandleCheckBox(child)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function SkinCustomFrames()
|
||||
for index in pairsByKeys(EA_CustomItems[EA_playerClass]) do
|
||||
SkinAlartFrame(_G["EAFrame_"..index], true)
|
||||
end
|
||||
end
|
||||
|
||||
if EA_playerClass then
|
||||
SkinFrames()
|
||||
SkinCustomFrames()
|
||||
else
|
||||
hooksecurefunc("EventAlert_CreateFrames", SkinFrames)
|
||||
end
|
||||
hooksecurefunc("EventAlert_CreateCustomFrames", SkinCustomFrames)
|
||||
|
||||
-- Options
|
||||
EA_Options_Frame:SetTemplate("Transparent")
|
||||
EA_Options_Frame_Header:Hide()
|
||||
S:HandleButton(EA_Options_Frame_ToggleIconOptions)
|
||||
S:HandleButton(EA_Options_Frame_ToggleClassEvents)
|
||||
S:HandleButton(EA_Options_Frame_ToggleCustomEvents)
|
||||
S:HandleButton(EA_Options_Frame_Okay)
|
||||
S:HandleCheckBox(EA_Options_Frame_ShowFrame)
|
||||
S:HandleCheckBox(EA_Options_Frame_ShowName)
|
||||
S:HandleCheckBox(EA_Options_Frame_ShowTimer)
|
||||
S:HandleCheckBox(EA_Options_Frame_ChangeTimer)
|
||||
S:HandleCheckBox(EA_Options_Frame_ShowFlash)
|
||||
S:HandleCheckBox(EA_Options_Frame_DoAlertSound)
|
||||
S:HandleCheckBox(EA_Options_Frame_AllowESC)
|
||||
S:HandleCheckBox(EA_Options_Frame_AltAlerts)
|
||||
S:HandleCheckBox(EA_Options_Frame_ShowSpellInfo)
|
||||
S:HandleDropDownBox(EA_Options_Frame_AlertSoundSelect)
|
||||
|
||||
-- Icon Position Options
|
||||
EA_Icon_Options_Frame:SetTemplate("Transparent")
|
||||
EA_Icon_Options_Frame_Header:Hide()
|
||||
EA_Icon_Options_Frame:Point("TOPLEFT", EA_Options_Frame, "TOPRIGHT", -1, 0)
|
||||
S:HandleCheckBox(EA_Icon_Options_Frame_LockFrame)
|
||||
S:HandleSliderFrame(EA_Icon_Options_Frame_IconSize)
|
||||
S:HandleSliderFrame(EA_Icon_Options_Frame_IconXOffset)
|
||||
S:HandleSliderFrame(EA_Icon_Options_Frame_IconYOffset)
|
||||
S:HandleButton(EA_Icon_Options_Frame_ToggleAlertFrame)
|
||||
S:HandleButton(EA_Icon_Options_Frame_ResetAlertPosition)
|
||||
|
||||
-- Class Alart Options
|
||||
Class_Events_Frame:SetTemplate("Transparent")
|
||||
Class_Events_Frame_Header:Hide()
|
||||
Class_Events_Frame:Point("TOPLEFT", EA_Options_Frame, "TOPRIGHT", -1, 0)
|
||||
|
||||
-- Alt Alarts Options
|
||||
Alt_Alerts_Frame:SetTemplate("Transparent")
|
||||
Alt_Alerts_Frame_Header:Hide()
|
||||
Alt_Alerts_Frame:Point("TOPLEFT", Class_Events_Frame, "TOPRIGHT", -1, 0)
|
||||
|
||||
-- Custom Event Options
|
||||
Custom_Events_Frame:SetTemplate("Transparent")
|
||||
Custom_Events_Frame_Header:Hide()
|
||||
Custom_Events_Frame:SetPoint("TOPLEFT", EA_Options_Frame, "TOPRIGHT", -1, 0)
|
||||
S:HandleButton(Custom_Events_Frame_SaveCustom_Button)
|
||||
S:HandleButton(Custom_Events_Frame_DeleteCustom_Button)
|
||||
S:HandleEditBox(Custom_Events_Frame_SaveCustom_Box)
|
||||
S:HandleDropDownBox(Custom_Events_Frame_DeleteCustom_Box)
|
||||
Custom_Events_Frame_SaveCustom_Box:Height(20)
|
||||
Custom_Events_Frame_DeleteCustom_Box:Width(182)
|
||||
Custom_Events_Frame_DeleteCustom_Button:Point("RIGHT", Custom_Events_Frame_DeleteCustom_Box, "RIGHT", 91, 3)
|
||||
|
||||
-- Version
|
||||
EA_Version_Frame:SetTemplate("Transparent")
|
||||
EA_Version_Frame_Header:Hide()
|
||||
S:HandleButton(EA_Version_Frame_Okay)
|
||||
end)
|
||||
@@ -0,0 +1,73 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("EveryQuest") then return end
|
||||
|
||||
-- EveryQuest r162
|
||||
-- https://www.wowace.com/projects/everyquest/files/459624
|
||||
|
||||
S:AddCallbackForAddon("EveryQuest", "EveryQuest", function()
|
||||
if not E.private.addOnSkins.EveryQuest then return end
|
||||
|
||||
local addon = LibStub("AceAddon-3.0"):GetAddon("EveryQuest", true)
|
||||
if not addon then return end
|
||||
|
||||
EveryQuestFrame:StripTextures()
|
||||
EveryQuestFrame:SetTemplate("Transparent")
|
||||
EveryQuestFrame:Size(341, 494)
|
||||
EveryQuestFrame:SetClampedToScreen(true)
|
||||
EveryQuestFrame:SetHitRectInsets(0, 0, 0, 0)
|
||||
|
||||
EveryQuestTitleText:Point("TOP", 0, -5)
|
||||
|
||||
EveryQuestListScrollFrame:CreateBackdrop("Transparent")
|
||||
EveryQuestListScrollFrame.backdrop:Point("TOPLEFT", -3, 1)
|
||||
EveryQuestListScrollFrame.backdrop:Point("BOTTOMRIGHT", 1, 2)
|
||||
EveryQuestListScrollFrame:Point("TOPLEFT", 11, -51)
|
||||
EveryQuestListScrollFrame.Hide = E.noop
|
||||
EveryQuestListScrollFrame:Show()
|
||||
|
||||
S:HandleScrollBar(EveryQuestListScrollFrameScrollBar)
|
||||
EveryQuestListScrollFrameScrollBar:Point("TOPLEFT", EveryQuestListScrollFrame, "TOPRIGHT", 4, -18)
|
||||
EveryQuestListScrollFrameScrollBar:Point("BOTTOMLEFT", EveryQuestListScrollFrame, "BOTTOMRIGHT", 4, 21)
|
||||
|
||||
EveryQuestTitle1:Point("TOPLEFT", 10, -52)
|
||||
|
||||
for i = 1, 27 do
|
||||
S:HandleButtonHighlight(_G["EveryQuestTitle"..i], 1, 0.8, 0.1)
|
||||
end
|
||||
|
||||
S:HandleCloseButton(EveryQuestFrameCloseButton, EveryQuestFrame)
|
||||
|
||||
S:HandleDropDownBox(addon.frames.Menu, 241)
|
||||
addon.frames.Menu:Point("TOPRIGHT", -56, -22)
|
||||
|
||||
EQ_MenuText:Point("RIGHT", EQ_MenuButton, "LEFT", -6, 0)
|
||||
|
||||
addon.frames.ShownTT:SetTemplate("Transparent")
|
||||
addon.frames.ShownTT:Point("BOTTOMLEFT", EveryQuestFrame, "BOTTOMLEFT", 8, 8)
|
||||
|
||||
S:HandleButton(EveryQuestExitButton)
|
||||
EveryQuestExitButton:ClearAllPoints()
|
||||
EveryQuestExitButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
EveryQuestExitButton:Width(72)
|
||||
|
||||
S:HandleButton(addon.frames.Options)
|
||||
addon.frames.Options:Point("TOPLEFT", addon.frames.Filters, "TOPRIGHT", 3, 0)
|
||||
|
||||
S:HandleButton(addon.frames.Filters)
|
||||
addon.frames.Filters:Point("BOTTOMLEFT", EveryQuestFrame, "BOTTOMLEFT", 135, 8)
|
||||
|
||||
S:HandleButton(addon.frames.Show)
|
||||
addon.frames.Show:ClearAllPoints()
|
||||
addon.frames.Show:Point("LEFT", QuestLogCount, "RIGHT", 8, -2)
|
||||
addon.frames.Show:Size(50, 20)
|
||||
|
||||
hooksecurefunc(addon, "OnShow", function(self)
|
||||
if not self.dbpc.profile.posx and not self.dbpc.profile.posy then
|
||||
EveryQuestFrame:ClearAllPoints()
|
||||
EveryQuestFrame:Point("TOPLEFT", QuestLogFrame, "TOPRIGHT", 6, -12)
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,81 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Factionizer") then return end
|
||||
|
||||
-- Factionizer 30300.4
|
||||
-- https://www.curseforge.com/wow/addons/factionizer/files/419110
|
||||
|
||||
S:AddCallbackForAddon("Factionizer", "Factionizer", function()
|
||||
if not E.private.addOnSkins.Factionizer then return end
|
||||
|
||||
FIZ_OptionsFrame:StripTextures()
|
||||
FIZ_OptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
FIZ_OptionsFrame:ClearAllPoints()
|
||||
FIZ_OptionsFrame:Point("TOPLEFT", CharacterFrame.backdrop, "TOPRIGHT", -1, 0)
|
||||
|
||||
S:HandleCloseButton(FIZ_OptionsFrameClose, FIZ_OptionsFrame)
|
||||
|
||||
FIZ_ReputationDetailFrame:StripTextures()
|
||||
FIZ_ReputationDetailFrame:SetTemplate("Transparent")
|
||||
|
||||
FIZ_ReputationDetailFrame:ClearAllPoints()
|
||||
FIZ_ReputationDetailFrame:Point("TOPLEFT", CharacterFrame.backdrop, "TOPRIGHT", -1, 0)
|
||||
|
||||
S:HandleCloseButton(FIZ_ReputationDetailCloseButton, FIZ_ReputationDetailFrame)
|
||||
|
||||
S:HandleSliderFrame(FIZ_ChatFrameSlider)
|
||||
|
||||
FIZ_UpdateListScrollFrame:SetTemplate("Transparent")
|
||||
S:HandleScrollBar(FIZ_UpdateListScrollFrameScrollBar)
|
||||
|
||||
local buttons = {
|
||||
FIZ_OptionsButton,
|
||||
FIZ_ShowAllButton,
|
||||
FIZ_ExpandButton,
|
||||
FIZ_ShowNoneButton,
|
||||
FIZ_CollapseButton,
|
||||
FIZ_SupressNoneFactionButton,
|
||||
FIZ_SupressNoneGlobalButton,
|
||||
}
|
||||
|
||||
local checkboxes = {
|
||||
FIZ_OrderByStandingCheckBox,
|
||||
FIZ_EnableMissingBox,
|
||||
FIZ_ExtendDetailsBox,
|
||||
FIZ_GainToChatBox,
|
||||
FIZ_SupressOriginalGainBox,
|
||||
FIZ_ShowPreviewRepBox,
|
||||
FIZ_ReputationDetailAtWarCheckBox,
|
||||
FIZ_ReputationDetailInactiveCheckBox,
|
||||
FIZ_ReputationDetailMainScreenCheckBox,
|
||||
FIZ_ShowQuestButton,
|
||||
FIZ_ShowInstancesButton,
|
||||
FIZ_ShowMobsButton,
|
||||
FIZ_ShowItemsButton,
|
||||
}
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(button)
|
||||
end
|
||||
for _, checkbox in ipairs(checkboxes) do
|
||||
S:HandleCheckBox(checkbox)
|
||||
end
|
||||
|
||||
FIZ_OptionsButton:Point("TOPRIGHT", -40, -35)
|
||||
|
||||
FIZ_UpdateListScrollFrame:Point("TOPLEFT", FIZ_ReputationDetailDivider2, "BOTTOMLEFT", 5, 18)
|
||||
FIZ_UpdateListScrollFrame:Size(363, 211)
|
||||
|
||||
FIZ_UpdateListScrollFrameScrollBar:Point("TOPLEFT", FIZ_UpdateListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
FIZ_UpdateListScrollFrameScrollBar:Point("BOTTOMLEFT", FIZ_UpdateListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
FIZ_UpdateEntry1:Point("TOPLEFT", FIZ_UpdateListScrollFrame, "TOPLEFT", 0, -1)
|
||||
|
||||
FIZ_ShowAllButton:Point("TOPLEFT", FIZ_ReputationDetailDivider3, "BOTTOMLEFT", 230, 25)
|
||||
FIZ_ShowNoneButton:Point("TOPLEFT", FIZ_ReputationDetailDivider3, "BOTTOMLEFT", 230, 0)
|
||||
|
||||
FIZ_SupressNoneGlobalButton:Point("TOPLEFT", FIZ_SupressNoneFactionButton, "BOTTOMLEFT", 0, -5)
|
||||
end)
|
||||
@@ -0,0 +1,130 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("FeralbyNight") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- FeralbyNight 3.321
|
||||
-- https://www.curseforge.com/wow/addons/fbn/files/441598
|
||||
|
||||
S:AddCallbackForAddon("FeralbyNight", "FeralbyNight", function()
|
||||
if not E.private.addOnSkins.FeralbyNight then return end
|
||||
if E.myclass ~= "DRUID" or E.mylevel < 80 then return end
|
||||
|
||||
local function setAlpha(self, alpha)
|
||||
self.backdrop:SetAlpha(alpha)
|
||||
end
|
||||
local function setTexture(self, texture)
|
||||
if texture then
|
||||
self.backdrop:Show()
|
||||
else
|
||||
self.backdrop:Hide()
|
||||
end
|
||||
end
|
||||
local function setScale(self, scale)
|
||||
if self.__scaleBlock then return end
|
||||
|
||||
self.__scaleBlock = true
|
||||
self:SetScale(1)
|
||||
self.__scaleBlock = nil
|
||||
|
||||
for _, child in ipairs({self:GetChildren()}) do
|
||||
if child:IsObjectType("Frame") then
|
||||
if not child.__baseWidth then
|
||||
child.__baseWidth, child.__baseHeight = child:GetSize()
|
||||
child.__basePointX, child.__basePointY = select(4, child:GetPoint())
|
||||
end
|
||||
|
||||
local a1, p, a2 = child:GetPoint()
|
||||
child:Size(child.__baseWidth * scale, child.__baseHeight * scale)
|
||||
child:Point(a1, p, a2, child.__basePointX * scale, child.__basePointY * scale)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function styleIcon(texture)
|
||||
hooksecurefunc(texture, "SetAlpha", setAlpha)
|
||||
hooksecurefunc(texture, "SetTexture", setTexture)
|
||||
|
||||
texture:CreateBackdrop("Default")
|
||||
texture:SetDrawLayer("BORDER")
|
||||
texture:SetTexture(texture:GetTexture())
|
||||
texture:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
local lists = {
|
||||
"abilitycdmon1",
|
||||
"abilitycdmon2",
|
||||
"abilitycdmon3",
|
||||
"bossfight",
|
||||
"myfight",
|
||||
"proc",
|
||||
"textureList",
|
||||
}
|
||||
|
||||
for _, list in ipairs(lists) do
|
||||
for _, texture in pairs(FeralbyNight[list]) do
|
||||
styleIcon(texture)
|
||||
end
|
||||
end
|
||||
|
||||
FeralbyNightDisplayFrame_current_cooldown:SetAllPoints(FeralbyNightDisplayFrame_current)
|
||||
|
||||
local frames = {
|
||||
"FeralbyNightcdmonFrame1",
|
||||
"FeralbyNightcdmonFrame2",
|
||||
"FeralbyNightcdmonFrame3",
|
||||
"FeralbyNightbossfightFrame",
|
||||
"FeralbyNightmyfightFrame",
|
||||
"FeralbyNightDisplayFrame",
|
||||
}
|
||||
|
||||
for _, frame in ipairs(frames) do
|
||||
frame = _G[frame]
|
||||
hooksecurefunc(frame, "SetScale", setScale)
|
||||
frame:SetScale(frame:GetScale())
|
||||
end
|
||||
|
||||
FeralbyNightHudFrame_healthbar:Point("BOTTOM", FeralbyNightHudFrame, 0, -17)
|
||||
FeralbyNightHudFrame_powerbar:Point("BOTTOM", FeralbyNightHudFrame_healthbar, "TOP", 0, 1)
|
||||
FeralbyNightHudFrame_castbar:Point("BOTTOM", FeralbyNightHudFrame_powerbar, "TOP", 0, 1)
|
||||
FeralbyNightHudFrame_bosshealthbar:Point("TOP", FeralbyNightHudFrame, 0, 17)
|
||||
FeralbyNightHudFrame_bosspowerbar:Point("TOP", FeralbyNightHudFrame_bosshealthbar, "BOTTOM", 0, -1)
|
||||
FeralbyNightHudFrame_manabar:Point("BOTTOMLEFT", -7, 0)
|
||||
FeralbyNightHudFrame_threatbar:Point("BOTTOMRIGHT", 7, 0)
|
||||
|
||||
local ufs = {
|
||||
"FeralbyNightHudFrame_powerbar",
|
||||
"FeralbyNightHudFrame_castbar",
|
||||
"FeralbyNightHudFrame_healthbar",
|
||||
"FeralbyNightHudFrame_bosspowerbar",
|
||||
"FeralbyNightHudFrame_bosshealthbar",
|
||||
"FeralbyNightHudFrame_manabar",
|
||||
"FeralbyNightHudFrame_threatbar"
|
||||
}
|
||||
|
||||
local frame, statusbar
|
||||
for _, frameName in ipairs(ufs) do
|
||||
frame = _G[frameName]
|
||||
statusbar = _G[frameName.."_frame"]
|
||||
|
||||
frame:SetBackdrop(nil)
|
||||
frame:CreateBackdrop("Transparent")
|
||||
|
||||
frame:SetFrameStrata("BACKGROUND")
|
||||
-- statusbar:SetFrameStrata("LOW")
|
||||
-- statusbar.text
|
||||
statusbar:Size(frame:GetSize())
|
||||
-- statusbar:SetStatusBarTexture(E.media.normTex)
|
||||
-- E:RegisterStatusBar(statusbar)
|
||||
|
||||
hooksecurefunc(frame, "SetScale", setScale)
|
||||
frame:SetScale(frame:GetScale())
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,132 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("FishingBuddy") then return end
|
||||
|
||||
-- FishingBuddy 0.9.8 p1
|
||||
-- https://www.curseforge.com/wow/addons/fishingbuddy/files/442409
|
||||
|
||||
S:AddCallbackForAddon("FishingBuddy", "FishingBuddy", function()
|
||||
if not E.private.addOnSkins.FishingBuddy then return end
|
||||
|
||||
FishingBuddyFrame:CreateBackdrop("Transparent")
|
||||
FishingBuddyFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
FishingBuddyFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetBackdropHitRect(FishingBuddyFrame)
|
||||
|
||||
FishingBuddyFramePortrait:Kill()
|
||||
FishingLocationsFrame:StripTextures()
|
||||
FishingOptionsFrame:StripTextures()
|
||||
FishingLocationExpandButtonFrame:StripTextures()
|
||||
|
||||
S:HandleCloseButton(FishingBuddyCloseButton, FishingBuddyFrame.backdrop)
|
||||
|
||||
FishingLocsScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(FishingLocsScrollFrameScrollBar)
|
||||
|
||||
S:HandleButton(FishingLocationsSwitchButton)
|
||||
|
||||
S:HandleSliderFrame(FishingBuddyOption_MinimapRadSlider)
|
||||
S:HandleSliderFrame(FishingBuddyOption_MinimapPosSlider)
|
||||
|
||||
S:HandleDropDownBox(FishingFluffPetMenu, 187)
|
||||
S:HandleDropDownBox(FishingBuddyOption_OutfitMenu, 210)
|
||||
|
||||
S:HandleCheckBox(FishingBuddyOptionSLZ)
|
||||
|
||||
local skinnedTabs = 0
|
||||
local function skinTabs()
|
||||
local id = skinnedTabs + 1
|
||||
local tab = _G["FishingBuddyFrameTab"..id]
|
||||
while tab do
|
||||
S:HandleTab(tab)
|
||||
|
||||
if id == 1 then
|
||||
tab:Point("CENTER", FishingBuddyFrame, "BOTTOMLEFT", 54, 62)
|
||||
else
|
||||
tab:Point("LEFT", _G["FishingBuddyFrameTab" .. (id - 1)], "RIGHT", -15, 0)
|
||||
end
|
||||
|
||||
tab.ClearAllPoints = E.noop
|
||||
tab.SetPoint = E.noop
|
||||
|
||||
skinnedTabs = id
|
||||
id = id + 1
|
||||
tab = _G["FishingBuddyFrameTab"..id]
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(FishingBuddy, "ManageFrame", skinTabs)
|
||||
skinTabs()
|
||||
|
||||
if FishingBuddyOption_EasyCastKeys then
|
||||
S:HandleDropDownBox(FishingBuddyOption_EasyCastKeys, 140)
|
||||
else
|
||||
S:SecureHook(FishingBuddy, "Initialize", function()
|
||||
S:HandleDropDownBox(FishingBuddyOption_EasyCastKeys, 140)
|
||||
S:Unhook(FishingBuddy, "Initialize")
|
||||
end)
|
||||
end
|
||||
|
||||
local function SkinCheckBoxes()
|
||||
local checkBox
|
||||
for i = 1, 12 do
|
||||
checkBox = _G["FishingBuddyOption"..i]
|
||||
if checkBox and not checkBox.isSkinned then
|
||||
S:HandleCheckBox(checkBox)
|
||||
checkBox.isSkinned = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
S:HookScript(FishingOptionsFrame, "OnShow", function()
|
||||
E:Delay(0.01, SkinCheckBoxes)
|
||||
S:Unhook(FishingOptionsFrame, "OnShow")
|
||||
end)
|
||||
|
||||
local optionTabs = {
|
||||
FishingBuddyOptionTab1,
|
||||
FishingBuddyOptionTab2,
|
||||
FishingBuddyOptionTab3
|
||||
}
|
||||
|
||||
FishingBuddyOptionTab1:Point("TOPLEFT", FishingOptionsFrame, "TOPRIGHT", -33, -65)
|
||||
FishingBuddyOptionTab1.ClearAllPoints = E.noop
|
||||
FishingBuddyOptionTab1.SetPoint = E.noop
|
||||
|
||||
for _, frame in ipairs(optionTabs) do
|
||||
frame:SetTemplate("Default")
|
||||
frame:StyleButton()
|
||||
frame:DisableDrawLayer("BACKGROUND")
|
||||
frame:GetNormalTexture():SetInside(frame.backdrop)
|
||||
frame:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
frame:HookScript("OnClick", function(self)
|
||||
if not self.isSkinned then
|
||||
SkinCheckBoxes()
|
||||
self.isSkinned = true
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
for i = 0, 21 do
|
||||
if i == 0 then
|
||||
S:HandleCollapseExpandButton(FishingLocationsCollapseAllButton)
|
||||
else
|
||||
local button = _G["FishingLocations"..i]
|
||||
if button then
|
||||
S:HandleCollapseExpandButton(button)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
FishingWatchDrag:SetClampedToScreen(true)
|
||||
FishingWatchDrag:SetClampRectInsets(0, 0, 23, 0)
|
||||
|
||||
FishingWatchTab:CreateBackdrop("Transparent")
|
||||
FishingWatchTab.backdrop:Point("TOPLEFT", 4, -11)
|
||||
FishingWatchTab.backdrop:Point("BOTTOMRIGHT", -2, 0)
|
||||
FishingWatchTab:DisableDrawLayer("BACKGROUND")
|
||||
end)
|
||||
@@ -0,0 +1,25 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("FlightMap") then return end
|
||||
|
||||
-- Flight Map 3.3.3 beta2
|
||||
-- https://www.curseforge.com/wow/addons/flight-map/files/426246
|
||||
|
||||
S:AddCallbackForAddon("FlightMap", "FlightMap", function()
|
||||
if not E.private.addOnSkins.FlightMap then return end
|
||||
|
||||
FlightMapTimesFrame:StripTextures()
|
||||
FlightMapTimesFrame:CreateBackdrop("Default")
|
||||
|
||||
FlightMapTimesFrame:SetStatusBarTexture(E.media.glossTex)
|
||||
E:RegisterStatusBar(FlightMapTimesFrame)
|
||||
|
||||
FlightMapTimesText:ClearAllPoints()
|
||||
FlightMapTimesText:SetPoint("CENTER", 0, 0)
|
||||
|
||||
for optionID in pairs(FLIGHTMAP_OPTIONS) do
|
||||
S:HandleCheckBox(_G["InterfaceOptionsFlightMapPanelOption" .. optionID])
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,43 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("FloAspectBar") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- FloAspectBar 3.3.0.16
|
||||
-- https://www.curseforge.com/wow/addons/flo-aspect-bar/files/399320
|
||||
|
||||
S:AddCallbackForAddon("FloAspectBar", "FloAspectBar", function()
|
||||
if not E.private.addOnSkins.FloAspectBar then return end
|
||||
|
||||
if E.myclass ~= "HUNTER" then return end
|
||||
|
||||
local AB = E:GetModule("ActionBars")
|
||||
|
||||
if not S:IsHooked("FloLib_ShowBorders") then
|
||||
S:RawHook("FloLib_ShowBorders", function(self)
|
||||
if self.globalSettings.borders then
|
||||
if not self.template then
|
||||
self:SetTemplate("Transparent")
|
||||
end
|
||||
if self.settings and self.settings.color then
|
||||
self:SetBackdropBorderColor(unpack(self.settings.color))
|
||||
end
|
||||
else
|
||||
self:SetBackdrop(nil)
|
||||
self.template = nil
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
FloAspectBar:SetClampedToScreen(true)
|
||||
|
||||
FloLib_ShowBorders(FloAspectBar)
|
||||
|
||||
for i = 1, 10 do
|
||||
AB:StyleButton(_G["FloAspectBarButton" .. i])
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,73 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("FloTotemBar") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- FloTotemBar 3.3.0.16
|
||||
-- https://www.curseforge.com/wow/addons/flo-totem-bar/files/399321
|
||||
|
||||
S:AddCallbackForAddon("FloTotemBar", "FloTotemBar", function()
|
||||
if not E.private.addOnSkins.FloTotemBar then return end
|
||||
|
||||
if E.myclass ~= "HUNTER" and E.myclass ~= "SHAMAN" then return end
|
||||
|
||||
local AB = E:GetModule("ActionBars")
|
||||
|
||||
if not S:IsHooked("FloLib_ShowBorders") then
|
||||
S:RawHook("FloLib_ShowBorders", function(self)
|
||||
if self.globalSettings.borders then
|
||||
if not self.template then
|
||||
self:SetTemplate("Transparent")
|
||||
end
|
||||
if self.settings and self.settings.color then
|
||||
self:SetBackdropBorderColor(unpack(self.settings.color))
|
||||
end
|
||||
else
|
||||
self:SetBackdrop(nil)
|
||||
self.template = nil
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local function skinFrame(frame)
|
||||
FloLib_ShowBorders(frame)
|
||||
|
||||
frame:SetClampedToScreen(true)
|
||||
|
||||
local frameName = frame:GetName()
|
||||
if frameName == "FloBarTRAP" then
|
||||
for i = 1, 3 do
|
||||
local countdown = _G[frameName.."Countdown"..i]
|
||||
countdown:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(countdown)
|
||||
end
|
||||
elseif frameName ~= "FloBarCALL" then
|
||||
local statusbar = _G[frameName.."Countdown"]
|
||||
statusbar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(statusbar)
|
||||
end
|
||||
|
||||
for i = 1, 10 do
|
||||
local button = _G[frameName.."Button"..i]
|
||||
AB:StyleButton(button)
|
||||
|
||||
if frameName ~= "FloBarTRAP" and frameName ~= "FloBarCALL" then
|
||||
FloSwitchButton_OnLeave(button)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if FLO_CLASS_NAME == "HUNTER" then
|
||||
skinFrame(FloBarTRAP)
|
||||
elseif FLO_CLASS_NAME == "SHAMAN" then
|
||||
skinFrame(FloBarCALL)
|
||||
skinFrame(FloBarEARTH)
|
||||
skinFrame(FloBarFIRE)
|
||||
skinFrame(FloBarWATER)
|
||||
skinFrame(FloBarAIR)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,185 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("GearScore") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetItemQualityColor = GetItemQualityColor
|
||||
|
||||
-- GearScore 3.1.17
|
||||
|
||||
S:AddCallbackForAddon("GearScore", "GearScore", function()
|
||||
if not E.private.addOnSkins.GearScore then return end
|
||||
|
||||
GS_DisplayFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(GSDisplayFrameCloseButton, GS_DisplayFrame)
|
||||
|
||||
S:HandleEditBox(GS_EditBox1)
|
||||
GS_EditBox1:Height(22)
|
||||
GS_EditBox1:ClearAllPoints()
|
||||
GS_EditBox1:Point("RIGHT", GS_SearchButton, "LEFT", -6, 0)
|
||||
|
||||
S:HandleButton(GS_SearchButton)
|
||||
S:HandleButton(GS_GroupButton)
|
||||
S:HandleButton(GS_DeleteButton)
|
||||
S:HandleButton(GS_InviteButton)
|
||||
|
||||
local frame
|
||||
for i = 1, 4 do
|
||||
frame = _G["GS_SpecBar" .. i]
|
||||
frame:StripTextures()
|
||||
frame:SetStatusBarTexture(E.media.normTex)
|
||||
frame:CreateBackdrop("Default")
|
||||
E:RegisterStatusBar(frame)
|
||||
end
|
||||
|
||||
GS_Model:SetTemplate("Transparent")
|
||||
|
||||
for i = 1, 18 do
|
||||
if i ~= 4 then
|
||||
frame = _G["GS_Frame" .. i]
|
||||
frame.texture = frame:CreateTexture(nil, "BORDER")
|
||||
frame.texture:SetInside()
|
||||
frame.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc("GearScore_DisplayUnit", function(Name)
|
||||
local frame
|
||||
|
||||
if GS_Data[E.myrealm].Players[Name] then
|
||||
for i = 1, 18 do
|
||||
if i ~= 4 then
|
||||
frame = _G["GS_Frame" .. i]
|
||||
frame:SetTemplate("Default")
|
||||
|
||||
local _, _, rarity, _, _, _, _, _, _, texture = GetItemInfo("item:" .. GS_Data[E.myrealm].Players[Name].Equip[i])
|
||||
|
||||
if texture then
|
||||
frame.texture:SetTexture(texture)
|
||||
frame:SetBackdropBorderColor(GetItemQualityColor(rarity))
|
||||
else
|
||||
frame.texture:SetTexture(GS_TextureFiles[i])
|
||||
frame:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
for i = 1, 18 do
|
||||
if i ~= 4 then
|
||||
frame = _G["GS_Frame" .. i]
|
||||
frame:SetTemplate("Default")
|
||||
frame.texture:SetTexture(GS_TextureFiles[i])
|
||||
frame:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- S:HandleEditBox(GS_NotesEditBox)
|
||||
|
||||
for i = 1, 14 do
|
||||
frame = _G["GS_XpBar" .. i]
|
||||
frame:StripTextures()
|
||||
frame:SetStatusBarTexture(E.media.normTex)
|
||||
frame:CreateBackdrop("Default")
|
||||
E:RegisterStatusBar(frame)
|
||||
end
|
||||
|
||||
GS_DisplayFrameTab1:Point("TOPLEFT", 0, -448)
|
||||
GS_DisplayFrameTab2:Point("TOPLEFT", GS_DisplayFrameTab1, "TOPRIGHT", -15, 0)
|
||||
GS_DisplayFrameTab3:Point("TOPRIGHT", 0, -448)
|
||||
GS_DisplayFrameTab3:Height(32)
|
||||
|
||||
for i = 1, 3 do
|
||||
S:HandleTab(_G["GS_DisplayFrameTab" .. i])
|
||||
end
|
||||
|
||||
S:HandleCheckBox(GS_ShowPlayerCheck)
|
||||
|
||||
S:HandleButton(Button3)
|
||||
S:HandleButton(GS_UndoButton)
|
||||
|
||||
S:HandleCheckBox(GS_Heavy)
|
||||
S:HandleCheckBox(GS_None)
|
||||
S:HandleCheckBox(GS_Light)
|
||||
S:HandleCheckBox(GS_ShowItemCheck)
|
||||
S:HandleCheckBox(GS_LevelCheck)
|
||||
|
||||
for i = 1, 4 do
|
||||
S:HandleCheckBox(_G["GS_SpecScoreCheck" .. i])
|
||||
end
|
||||
|
||||
S:HandleCheckBox(GS_DetailCheck)
|
||||
S:HandleCheckBox(GS_DateCheck)
|
||||
S:HandleCheckBox(GS_HelpCheck)
|
||||
S:HandleCheckBox(GS_ChatCheck)
|
||||
|
||||
S:HandleEditBox(GS_LevelEditBox)
|
||||
|
||||
S:HandleCheckBox(GS_PruneCheck)
|
||||
S:HandleCheckBox(GS_FactionCheck)
|
||||
|
||||
S:HandleSliderFrame(GS_DatabaseAgeSlider)
|
||||
|
||||
S:HandleCheckBox(GS_MasterlootCheck)
|
||||
|
||||
GS_DatabaseFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(GSDatabaseFrameCloseButton, GS_DatabaseFrame)
|
||||
|
||||
GS_DatabaseFrameTab1:Point("TOPLEFT", 0, -468)
|
||||
for i = 1, 4 do
|
||||
S:HandleTab(_G["GS_DatabaseFrameTab" .. i])
|
||||
end
|
||||
|
||||
S:HandleButton(GS_PreviousButton)
|
||||
S:HandleButton(GS_NextButton)
|
||||
S:HandleButton(GS_BackProfileButton)
|
||||
|
||||
S:HandleEditBox(GS_SearchXBox)
|
||||
GS_SearchXBox:Height(22)
|
||||
GS_SearchXBox:ClearAllPoints()
|
||||
GS_SearchXBox:Point("RIGHT", GS_Search2Button, "LEFT", -6, 0)
|
||||
|
||||
for _, frame in ipairs({_G["GS_DatabaseFrame"]:GetChildren()}) do
|
||||
if frame:GetName() == "GS_Search2Button" then
|
||||
S:HandleButton(frame)
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc("GearScore_DisplayDatabase", function()
|
||||
GS_DatabaseFrame.tooltip:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
end)
|
||||
|
||||
GS_ReportFrame:SetTemplate("Transparent")
|
||||
GS_ReportFrame:Point("TOPLEFT", 819, 0)
|
||||
|
||||
S:HandleCloseButton(GSReportFrameCloseButton, GS_ReportFrame)
|
||||
|
||||
S:HandleSliderFrame(GS_Slider)
|
||||
|
||||
GSX_WhisperEditBox:Height(22)
|
||||
GSX_ChannelEditBox:Height(22)
|
||||
|
||||
S:HandleEditBox(GSX_WhisperEditBox)
|
||||
S:HandleEditBox(GSX_ChannelEditBox)
|
||||
|
||||
S:HandleButton(GSXButton1)
|
||||
|
||||
S:HandleCheckBox(GSXSayCheck, true)
|
||||
S:HandleCheckBox(GSXPartyCheck, true)
|
||||
S:HandleCheckBox(GSXRaidCheck, true)
|
||||
S:HandleCheckBox(GSXGuildCheck, true)
|
||||
S:HandleCheckBox(GSXOfficerCheck, true)
|
||||
S:HandleCheckBox(GSXWhisperTargetCheck, true)
|
||||
S:HandleCheckBox(GSXWhisperCheck, true)
|
||||
S:HandleCheckBox(GSXChannelCheck, true)
|
||||
|
||||
AS:SkinLibrary("LibQTip-1.0")
|
||||
end)
|
||||
@@ -0,0 +1,115 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("GnomishVendorShrinker") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- GnomishVendorShrinker 3.3.0.6
|
||||
-- https://www.curseforge.com/wow/addons/gnomishvendorshrinker/files/426171
|
||||
|
||||
S:AddCallbackForAddon("GnomishVendorShrinker", "GnomishVendorShrinker", function()
|
||||
if not E.private.addOnSkins.GnomishVendorShrinker then return end
|
||||
|
||||
if GVSEditBox then
|
||||
GVSEditBox:StripTextures()
|
||||
S:HandleEditBox(GVSEditBox)
|
||||
GVSEditBox:Size(135, 19)
|
||||
GVSEditBox:SetScale(1)
|
||||
|
||||
GVSMerchantFrame:CreateBackdrop("Transparent")
|
||||
S:HandleButton(GVSScrollButton1)
|
||||
S:HandleButton(GVSScrollButton2)
|
||||
GVSScrollFrame:StripTextures()
|
||||
S:HandleSliderFrame(GVSScrollBar)
|
||||
|
||||
return
|
||||
end
|
||||
|
||||
local GVS = AS:FindChildFrameByPoint(MerchantFrame, "Frame", "TOPLEFT", MerchantFrame, "TOPLEFT", 21, -77)
|
||||
if not GVS then return end
|
||||
|
||||
GVS:Size(304, 294)
|
||||
GVS:Point("TOPLEFT", 19, -54)
|
||||
GVS:SetTemplate("Transparent")
|
||||
|
||||
MerchantBuyBackItem:ClearAllPoints()
|
||||
MerchantBuyBackItem:Point("BOTTOMLEFT", 187, 118)
|
||||
|
||||
local popoutButtonOnEnter = function(self) self.icon:SetVertexColor(unpack(E.media.rgbvaluecolor)) end
|
||||
local popoutButtonOnLeave = function(self) self.icon:SetVertexColor(1, 1, 1) end
|
||||
local skinCurrencyIcons = function(self)
|
||||
if self.altframesSkinned < #self.altframes then
|
||||
for _, frame in ipairs(self.altframes) do
|
||||
frame.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
self.altframesSkinned = #self.altframes
|
||||
end
|
||||
end
|
||||
|
||||
for _, child in ipairs({GVS:GetChildren()}) do
|
||||
local objType = child:GetObjectType()
|
||||
|
||||
if objType == "Button" then
|
||||
child:Point("RIGHT", -3, 0)
|
||||
|
||||
S:HandleButtonHighlight(child)
|
||||
|
||||
if child.icon then
|
||||
child.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
if child.popout then
|
||||
child.popout:StripTextures()
|
||||
child.popout:HookScript("OnEnter", popoutButtonOnEnter)
|
||||
child.popout:HookScript("OnLeave", popoutButtonOnLeave)
|
||||
|
||||
child.popout.icon = child.popout:CreateTexture(nil, "ARTWORK")
|
||||
child.popout.icon:Size(21)
|
||||
child.popout.icon:SetPoint("CENTER")
|
||||
child.popout.icon:SetTexture(E.Media.Textures.ArrowUp)
|
||||
child.popout.icon:SetRotation(S.ArrowRotation.right)
|
||||
end
|
||||
|
||||
child.altframesSkinned = 0
|
||||
hooksecurefunc(child, "AddAltCurrency", skinCurrencyIcons)
|
||||
elseif objType == "EditBox" then
|
||||
for _, region in ipairs({child:GetRegions()}) do
|
||||
if region:GetDrawLayer() == "BACKGROUND" then
|
||||
region:SetTexture(nil)
|
||||
end
|
||||
end
|
||||
|
||||
child:Height(18)
|
||||
child:Point("TOPLEFT", GVS, "BOTTOMLEFT", 1, -61)
|
||||
S:HandleEditBox(child)
|
||||
elseif objType == "Slider" then
|
||||
for _, child2 in ipairs({child:GetChildren()}) do
|
||||
local objType2 = child2:GetObjectType()
|
||||
|
||||
if objType2 == "Button" then
|
||||
local texture = child2:GetNormalTexture():GetTexture()
|
||||
|
||||
if texture == "Interface\\Buttons\\UI-ScrollBar-ScrollUpButton-Up" then
|
||||
S:HandleNextPrevButton(child2, "up")
|
||||
child2:Point("BOTTOM", child2:GetParent(), "TOP", 0, 1)
|
||||
elseif texture == "Interface\\Buttons\\UI-ScrollBar-ScrollDownButton-Up" then
|
||||
S:HandleNextPrevButton(child2, "down")
|
||||
child2:Point("TOP", child2:GetParent(), "BOTTOM", 0, -1)
|
||||
end
|
||||
elseif objType2 == "Frame" then
|
||||
child2:SetBackdrop(nil)
|
||||
end
|
||||
end
|
||||
|
||||
child:Width(18)
|
||||
child:Point("TOPRIGHT", 21, -19)
|
||||
child:Point("BOTTOMRIGHT", 21, 19)
|
||||
|
||||
S:HandleScrollBar(child)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,15 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Informant") then return end
|
||||
|
||||
-- Informant 5.8.4723
|
||||
-- https://www.curseforge.com/wow/addons/auctioneer/files/427823
|
||||
|
||||
S:AddCallbackForAddon("Informant", "Informant", function()
|
||||
if not E.private.addOnSkins.Informant then return end
|
||||
|
||||
AS:SkinLibrary("Configator")
|
||||
AS:SkinLibrary("LibExtraTip-1")
|
||||
end)
|
||||
@@ -0,0 +1,30 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("InspectEquip") then return end
|
||||
|
||||
-- InspectEquip 1.7.7
|
||||
-- https://www.wowace.com/projects/inspect-equip/files/436507
|
||||
|
||||
S:AddCallbackForAddon("InspectEquip", "InspectEquip", function()
|
||||
if not E.private.addOnSkins.InspectEquip then return end
|
||||
|
||||
InspectEquip_InfoWindow:SetTemplate("Transparent")
|
||||
S:HandleCloseButton(InspectEquip_InfoWindow_CloseButton, InspectEquip_InfoWindow)
|
||||
|
||||
S:SecureHook(InspectEquip, "SetParent", function(self, frame)
|
||||
InspectEquip_InfoWindow:ClearAllPoints()
|
||||
InspectEquip_InfoWindow:Point("TOPLEFT", _G[frame:GetName() .. "CloseButton"], "TOPRIGHT", -3, -3)
|
||||
end)
|
||||
|
||||
GearManagerDialogPopup:HookScript("OnShow", function()
|
||||
InspectEquip_InfoWindow:Hide()
|
||||
end)
|
||||
|
||||
GearManagerDialogPopup:HookScript("OnHide", function()
|
||||
if not GearManagerDialog:IsShown() then
|
||||
InspectEquip_InfoWindow:Show()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,63 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("KHunterTimers") then return end
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- Kharthus's Hunter Timers 3.2.5
|
||||
-- https://www.curseforge.com/wow/addons/kharthuss-hunter-timers/files/423973
|
||||
|
||||
S:AddCallbackForAddon("KHunterTimers", "KHunterTimers", function()
|
||||
if not E.private.addOnSkins.KHunterTimers then return end
|
||||
|
||||
KHTvars.bartexture = E.media.normTex
|
||||
|
||||
KHunterTimersAnchor:SetTemplate("Default")
|
||||
|
||||
KHunterTimersOptions:StripTextures()
|
||||
KHunterTimersOptions:SetTemplate("Transparent")
|
||||
|
||||
KHunterTimersOptionsTimers:SetTemplate("Transparent")
|
||||
KHunterTimersOptionsBars:SetTemplate("Transparent")
|
||||
|
||||
S:HandleEditBox(KHunterTimersOptionsBarsEditBox1)
|
||||
KHunterTimersOptionsBarsEditBox1:Height(22)
|
||||
|
||||
S:HandleEditBox(KHunterTimersOptionsBarsEditBox2)
|
||||
KHunterTimersOptionsBarsEditBox2:Height(22)
|
||||
|
||||
S:HandleButton(KHunterTimersOptionsButtonOkay)
|
||||
S:HandleButton(KHunterTimersOptionsButtonApply)
|
||||
S:HandleButton(KHunterTimersOptionsButtonCancel)
|
||||
|
||||
S:HandleCheckBox(KHunterTimersOptionsBarsCheckButtonOn)
|
||||
|
||||
for i = 1, KHT_NUM_OPTIONS do
|
||||
S:HandleCheckBox(_G["KHunterTimersOptionsBarsCheckButton"..i])
|
||||
end
|
||||
|
||||
for i = 1, KHT_NUM_SLIDERS do
|
||||
S:HandleSliderFrame(_G["KHunterTimersOptionsBarsSlider"..i.."Slider"])
|
||||
end
|
||||
|
||||
for i = 1, 6 do
|
||||
for j = 1, 13 do
|
||||
S:HandleCheckBox(_G["KHunterTimersOptionsTimers"..i.."CheckButton"..j])
|
||||
end
|
||||
|
||||
S:HandleScrollBar(_G["KHunterTimers"..i.."ScrollBarScrollBar"])
|
||||
|
||||
local tabName = "KHunterTimersOptionsTimersTab"..i
|
||||
S:HandleTab(_G[tabName])
|
||||
_G[tabName .. "Text"]:Point("CENTER", 0, 1)
|
||||
end
|
||||
|
||||
KHunterTimersFrame:StripTextures()
|
||||
|
||||
for i = 1, KHT_NUM_BARS do
|
||||
S:HandleIcon(_G["KHunterTimersStatus"..i.."Icon"])
|
||||
S:HandleStatusBar(_G["KHunterTimersStatus"..i.."Bar"])
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,178 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("KarniCrap") then return end
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- KarniCrap 3.02
|
||||
-- https://www.curseforge.com/wow/addons/karnicrap/files/416407
|
||||
|
||||
S:AddCallbackForAddon("KarniCrap", "KarniCrap", function()
|
||||
if not E.private.addOnSkins.KarniCrap then return end
|
||||
|
||||
KarniCrap:StripTextures()
|
||||
KarniCrap:SetTemplate("Transparent")
|
||||
|
||||
KarniCrap_TitleText:Point("TOP", KarniCrap, "TOP", 0, -12)
|
||||
KarniCrapTab1:Point("CENTER", KarniCrap, "BOTTOMLEFT", 80, -14)
|
||||
|
||||
KarniCrap_InvHeader1:Point("BOTTOMLEFT", KarniCrap_Inventory, "TOPLEFT", 0, -1)
|
||||
|
||||
KarniCrap_Poor_GoldTexture:SetParent(KarniCrap_Poor_GoldInputBox)
|
||||
KarniCrap_Poor_SilverTexture:SetParent(KarniCrap_Poor_SilverInputBox)
|
||||
KarniCrap_Poor_CopperTexture:SetParent(KarniCrap_Poor_CopperInputBox)
|
||||
KarniCrap_Tab1_CBCommonDesc_GoldTexture:SetParent(KarniCrap_Tab1_CBCommonDesc_GoldInputBox)
|
||||
KarniCrap_Tab1_CBCommonDesc_SilverTexture:SetParent(KarniCrap_Tab1_CBCommonDesc_SilverInputBox)
|
||||
KarniCrap_Tab1_CBCommonDesc_CopperTexture:SetParent(KarniCrap_Tab1_CBCommonDesc_CopperInputBox)
|
||||
KarniCrap_EBDestroyNumDisabled:StripTextures()
|
||||
|
||||
local frames = {
|
||||
-- General Options
|
||||
"KarniCrap_CategoryFrame",
|
||||
"KarniCrap_OptionsFrame",
|
||||
-- Lists
|
||||
"KarniCrap_Blacklist",
|
||||
"KarniCrap_Whitelist",
|
||||
-- Inventory
|
||||
"KarniCrap_Inventory",
|
||||
"KarniCrap_InvHeader1",
|
||||
"KarniCrap_InvHeader2",
|
||||
"KarniCrap_ValueHeader",
|
||||
"KarniCrap_InvHeader4",
|
||||
}
|
||||
|
||||
local scrollBars = {
|
||||
-- Lists
|
||||
"KarniCrapScrollBarScrollBar",
|
||||
"KarniNotCrapScrollBarScrollBar",
|
||||
"KarniCrap_Inventory_ScrollBarScrollBar"
|
||||
}
|
||||
|
||||
local buttons = {
|
||||
"KarniCrap_CloseButton",
|
||||
-- Lists
|
||||
"KarniCrap_BtnBlacklistRemove",
|
||||
"KarniCrap_BtnWhitelistRemove",
|
||||
-- Inventory
|
||||
"KarniCrap_BtnDestroyItem",
|
||||
"KarniCrap_BtnDestroyAllItems"
|
||||
}
|
||||
|
||||
local checkBoxes = {
|
||||
"KarniCrap_CBEnabled",
|
||||
-- General Options
|
||||
"KarniCrap_CBPoor",
|
||||
"KarniCrap_Tab1_CBCommon",
|
||||
"KarniCrap_Tab1_CBUseStackValue",
|
||||
"KarniCrap_Tab1_CBEcho",
|
||||
"KarniCrap_CBDestroy",
|
||||
"KarniCrap_CBDestroySlots",
|
||||
"KarniCrap_CBNoDestroyTradeskill",
|
||||
"KarniCrap_CBDestroyGroup",
|
||||
"KarniCrap_CBDestroyRaid",
|
||||
"KarniCrap_Cloth_CBLinen",
|
||||
"KarniCrap_Cloth_CBWool",
|
||||
"KarniCrap_Cloth_CBSilk",
|
||||
"KarniCrap_Cloth_CBMageweave",
|
||||
"KarniCrap_Cloth_CBRunecloth",
|
||||
"KarniCrap_Cloth_CBNetherweave",
|
||||
"KarniCrap_Cloth_CBFrostweave",
|
||||
"KarniCrap_Corpses_CBSkinnable",
|
||||
"KarniCrap_Corpses_CBGatherable",
|
||||
"KarniCrap_Corpses_CBMinable",
|
||||
"KarniCrap_Corpses_CBEngineerable",
|
||||
"KarniCrap_Corpses_CBSkilledEnough",
|
||||
"KarniCrap_Consumables_RBFood1",
|
||||
"KarniCrap_Consumables_RBFood2",
|
||||
"KarniCrap_Consumables_CBFoodMax",
|
||||
"KarniCrap_Consumables_RBWater1",
|
||||
"KarniCrap_Consumables_RBWater2",
|
||||
"KarniCrap_Consumables_CBWaterMax",
|
||||
"KarniCrap_Pickpocketing_CBPickpocketing",
|
||||
"KarniCrap_Potions_RBHealth1",
|
||||
"KarniCrap_Potions_RBHealth2",
|
||||
"KarniCrap_Potions_CBHealthMax",
|
||||
"KarniCrap_Potions_RBMana1",
|
||||
"KarniCrap_Potions_RBMana2",
|
||||
"KarniCrap_Potions_CBManaMax",
|
||||
"KarniCrap_Quality_CBQualityPoor",
|
||||
"KarniCrap_Quality_CBQualityCommon",
|
||||
"KarniCrap_Quality_CBQualityUncommon",
|
||||
"KarniCrap_Quality_CBQualityRare",
|
||||
"KarniCrap_Quality_CBQualityEpic",
|
||||
"KarniCrap_Quality_CBQualityGrouped",
|
||||
"KarniCrap_Scrolls_CBMaxScrolls",
|
||||
"KarniCrap_Scrolls_CBScrollAgility",
|
||||
"KarniCrap_Scrolls_CBScrollIntellect",
|
||||
"KarniCrap_Scrolls_CBScrollProtection",
|
||||
"KarniCrap_Scrolls_CBScrollSpirit",
|
||||
"KarniCrap_Scrolls_CBScrollStamina",
|
||||
"KarniCrap_Scrolls_CBScrollStrength",
|
||||
"KarniCrap_Tradeskills_CBCooking",
|
||||
"KarniCrap_Tradeskills_CBFishing",
|
||||
"KarniCrap_Tradeskills_CBEnchanting",
|
||||
"KarniCrap_Tradeskills_CBGathering",
|
||||
"KarniCrap_Tradeskills_CBMilling",
|
||||
"KarniCrap_Tradeskills_CBMining",
|
||||
"KarniCrap_Tradeskills_CBProspecting",
|
||||
"KarniCrap_Tradeskills_CBSkinning",
|
||||
-- Inventory
|
||||
"KarniCrap_Inventory_CBHideQuestItems"
|
||||
}
|
||||
|
||||
local editBoxes = {
|
||||
-- General Options
|
||||
"KarniCrap_Poor_GoldInputBox",
|
||||
"KarniCrap_Poor_SilverInputBox",
|
||||
"KarniCrap_Poor_CopperInputBox",
|
||||
"KarniCrap_Tab1_CBCommonDesc_GoldInputBox",
|
||||
"KarniCrap_Tab1_CBCommonDesc_SilverInputBox",
|
||||
"KarniCrap_Tab1_CBCommonDesc_CopperInputBox",
|
||||
"KarniCrap_EBDestroySlotsNum"
|
||||
}
|
||||
|
||||
local tabs = {
|
||||
"KarniCrapTab1",
|
||||
"KarniCrapTab2",
|
||||
"KarniCrapTab3"
|
||||
}
|
||||
|
||||
for _, frame in ipairs(frames) do
|
||||
_G[frame]:StripTextures()
|
||||
_G[frame]:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
for _, scrollBar in ipairs(scrollBars) do
|
||||
_G[scrollBar]:GetParent():StripTextures()
|
||||
S:HandleScrollBar(_G[scrollBar])
|
||||
end
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(_G[button])
|
||||
end
|
||||
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
_G[checkBox]:StripTextures()
|
||||
S:HandleCheckBox(_G[checkBox])
|
||||
end
|
||||
|
||||
for _, editBox in ipairs(editBoxes) do
|
||||
if _G[editBox.."Disabled"] then
|
||||
_G[editBox.."Disabled"]:StripTextures()
|
||||
end
|
||||
|
||||
_G[editBox]:Size(32, 16)
|
||||
S:HandleEditBox(_G[editBox])
|
||||
end
|
||||
|
||||
for _, tab in ipairs(tabs) do
|
||||
S:HandleTab(_G[tab])
|
||||
end
|
||||
|
||||
for i = 1, 15 do
|
||||
_G["KarniInvEntry"..i.."_BtnCrap"]:Size(30)
|
||||
S:HandleCloseButton(_G["KarniInvEntry"..i.."_BtnCrap"])
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,143 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("LightHeaded") then return end
|
||||
|
||||
local cos, pi = math.cos, math.pi
|
||||
|
||||
-- LightHeaded r310
|
||||
|
||||
S:AddCallbackForAddon("LightHeaded", "LightHeaded", function()
|
||||
if not E.private.addOnSkins.LightHeaded then return end
|
||||
|
||||
LightHeadedFrame:StripTextures()
|
||||
LightHeadedFrame:SetTemplate("Transparent")
|
||||
LightHeadedFrame:Height(424)
|
||||
LightHeadedFrame:Point("LEFT", QuestLogFrame, "RIGHT", -2, 0)
|
||||
|
||||
LightHeadedFrame.handle:SetParent(QuestLogFrame) -- ignore LightHeadedFrame alpha
|
||||
LightHeadedFrame.handle:StripTextures()
|
||||
LightHeadedFrame.handle:SetTemplate("Default")
|
||||
LightHeadedFrame.handle:Point("LEFT", LightHeadedFrame, "RIGHT", -1, 0)
|
||||
|
||||
LightHeadedSearchBox:Width(281)
|
||||
LightHeadedSearchBox:Point("TOP", LightHeadedFrame, "TOP", 0, -30)
|
||||
S:HandleEditBox(LightHeadedSearchBox)
|
||||
|
||||
S:HandleCloseButton(LightHeadedFrame.close, LightHeadedFrame)
|
||||
|
||||
LightHeadedScrollFrame:CreateBackdrop("Transparent")
|
||||
LightHeadedScrollFrame.backdrop:Point("TOPLEFT", -1, 2)
|
||||
LightHeadedScrollFrame.backdrop:Point("BOTTOMRIGHT", 1, -2)
|
||||
|
||||
LightHeadedScrollFrame:Point("TOPLEFT", 9, -75)
|
||||
LightHeadedScrollFrame:Point("BOTTOMRIGHT", -30, 55)
|
||||
|
||||
LightHeadedScrollFrameScrollBar:Point("TOPLEFT", LightHeadedScrollFrame, "TOPRIGHT", 4, -17)
|
||||
LightHeadedScrollFrameScrollBar:Point("BOTTOMLEFT", LightHeadedScrollFrame, "BOTTOMRIGHT", 4, 17)
|
||||
|
||||
S:HandleNextPrevButton(LightHeadedFrameSub.next, "right")
|
||||
S:HandleNextPrevButton(LightHeadedFrameSub.prev, "left")
|
||||
|
||||
S:HandleScrollBar(LightHeadedScrollFrameScrollBar)
|
||||
|
||||
LightHeadedTooltip:SetTemplate("Transparent")
|
||||
hooksecurefunc(LightHeaded, "OnHyperlinkEnter", function()
|
||||
local backdrop = E.media.backdropfadecolor
|
||||
local border = E.media.bordercolor
|
||||
LightHeadedTooltip:SetBackdropColor(backdrop[1], backdrop[2], backdrop[3], backdrop[4])
|
||||
LightHeadedTooltip:SetBackdropBorderColor(border[1], border[2], border[3])
|
||||
end)
|
||||
hooksecurefunc(LightHeaded, "OnHyperlinkClick", function()
|
||||
LightHeadedTooltip:Hide()
|
||||
end)
|
||||
|
||||
local QLFrameOffsetXOpened, QLFrameOffsetXClosed = -2, -326
|
||||
|
||||
local function UpdatePosition()
|
||||
if LightHeaded.db.profile.open then
|
||||
LightHeadedFrame:Point("LEFT", QuestLogFrame, "RIGHT", QLFrameOffsetXOpened, 0)
|
||||
else
|
||||
LightHeadedFrame:SetAlpha(0)
|
||||
LightHeadedFrameSub:SetAlpha(1)
|
||||
LightHeadedFrame:Point("LEFT", QuestLogFrame, "RIGHT", QLFrameOffsetXClosed, 0)
|
||||
end
|
||||
end
|
||||
|
||||
UpdatePosition()
|
||||
|
||||
hooksecurefunc(LightHeaded, "LockUnlockFrame", function()
|
||||
LightHeadedFrame:Height(424)
|
||||
UpdatePosition()
|
||||
end)
|
||||
|
||||
local function cosineInterpolation(y1, y2, mu)
|
||||
return y1 + (y2 - y1) * (1 - cos(pi * mu)) / 2
|
||||
end
|
||||
|
||||
local openedX, closedX = QLFrameOffsetXOpened, QLFrameOffsetXClosed
|
||||
local timeToFade = 1.5
|
||||
local mod = 1 / timeToFade
|
||||
|
||||
if LightHeaded.db.profile.open then
|
||||
openedX, closedX = closedX, openedX
|
||||
end
|
||||
|
||||
local count = 0
|
||||
local totalElapsed = 0
|
||||
local function OnUpdate(self, elapsed)
|
||||
count = count + 1
|
||||
totalElapsed = totalElapsed + elapsed
|
||||
|
||||
if totalElapsed >= timeToFade then
|
||||
local temp = openedX
|
||||
openedX = closedX
|
||||
closedX = temp
|
||||
count = 0
|
||||
totalElapsed = 0
|
||||
self:SetScript("OnUpdate", nil)
|
||||
|
||||
if not LightHeaded.db.profile.open then
|
||||
if LightHeadedFrameSub.justclosed then
|
||||
LightHeadedFrameSub.justclosed = false
|
||||
LightHeadedFrameSub:Hide()
|
||||
|
||||
self:SetAlpha(0)
|
||||
else
|
||||
LightHeaded.db.profile.open = true
|
||||
|
||||
self:SetAlpha(1)
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
elseif count == 1 then
|
||||
if LightHeaded.db.profile.open then
|
||||
LightHeaded.db.profile.open = false
|
||||
LightHeadedFrameSub.justclosed = true
|
||||
else
|
||||
LightHeadedFrameSub:Show()
|
||||
LightHeaded:SelectQuestLogEntry()
|
||||
end
|
||||
end
|
||||
|
||||
local status = mod * totalElapsed
|
||||
local offset = cosineInterpolation(closedX, openedX, status)
|
||||
|
||||
self:Point("LEFT", QuestLogFrame, "RIGHT", offset, 0)
|
||||
self:SetAlpha(LightHeaded.db.profile.lhopen and (1 - status) or status)
|
||||
end
|
||||
|
||||
LightHeadedFrame.handle:SetScript("OnClick", function()
|
||||
LightHeadedFrame:SetScript("OnUpdate", OnUpdate)
|
||||
|
||||
if LightHeaded.db.profile.sound then
|
||||
PlaySoundFile("Sound\\Doodad\\Karazahn_WoodenDoors_Close_A.wav")
|
||||
end
|
||||
|
||||
LightHeaded.db.profile.lhopen = not LightHeaded.db.profile.lhopen
|
||||
end)
|
||||
|
||||
LightHeaded.ChangeBGAlpha = E.noop
|
||||
end)
|
||||
@@ -0,0 +1,101 @@
|
||||
<Ui xmlns="http://www.blizzard.com/wow/ui/">
|
||||
<Script file="sexyCooldown.lua"/>
|
||||
<Script file="recount.lua"/>
|
||||
<Script file="omen.lua"/>
|
||||
<Script file="skada.lua"/>
|
||||
<Script file="auctionator.lua"/>
|
||||
<Script file="bigwigs.lua"/>
|
||||
<Script file="dbm.lua"/>
|
||||
<Script file="bugSack.lua"/>
|
||||
<Script file="callToArms.lua"/>
|
||||
<Script file="postal.lua"/>
|
||||
<Script file="questPointer.lua"/>
|
||||
<Script file="clique.lua"/>
|
||||
<Script file="floAspectBar.lua"/>
|
||||
<Script file="floTotemBar.lua"/>
|
||||
<Script file="spy.lua"/>
|
||||
<Script file="atlasLoot.lua"/>
|
||||
<Script file="atlas.lua"/>
|
||||
<Script file="flightMap.lua"/>
|
||||
<Script file="weakAuras.lua"/>
|
||||
<Script file="overachiever.lua"/>
|
||||
<Script file="openGF.lua"/>
|
||||
<Script file="kHunterTimers.lua"/>
|
||||
<Script file="tellMeWhen.lua"/>
|
||||
<Script file="gearScore.lua"/>
|
||||
<Script file="allStats.lua"/>
|
||||
<Script file="blackList.lua"/>
|
||||
<Script file="gnomishVendorShrinker.lua"/>
|
||||
<Script file="aCP.lua"/>
|
||||
<Script file="everyQuest.lua"/>
|
||||
<Script file="_NPCScan.lua"/>
|
||||
<Script file="moveAnything.lua"/>
|
||||
<Script file="vanasKoS.lua"/>
|
||||
<Script file="bindPad.lua"/>
|
||||
<Script file="zygorGuidesViewer.lua"/>
|
||||
<Script file="zygorTalentAdvisor.lua"/>
|
||||
<Script file="wowLua.lua"/>
|
||||
<Script file="chatBar.lua"/>
|
||||
<Script file="skillet.lua"/>
|
||||
<Script file="totemTimers.lua"/>
|
||||
<Script file="plateBuffs.lua"/>
|
||||
<Script file="mageNuggets.lua"/>
|
||||
<Script file="inspectEquip.lua"/>
|
||||
<Script file="advancedTradeSkillWindow.lua"/>
|
||||
<Script file="atlasQuest.lua"/>
|
||||
<Script file="ackisRecipeList.lua"/>
|
||||
<Script file="lightHeaded.lua"/>
|
||||
<Script file="carbonite.lua"/>
|
||||
<Script file="enchantrix.lua"/>
|
||||
<Script file="fishingBuddy.lua"/>
|
||||
<Script file="talented.lua"/>
|
||||
<Script file="tinyPad.lua"/>
|
||||
<Script file="ZOMGBuffs.lua"/>
|
||||
<Script file="buyEmAll.lua"/>
|
||||
<Script file="doom_CooldownPulse.lua"/>
|
||||
<Script file="adiBags.lua"/>
|
||||
<Script file="pallyPower.lua"/>
|
||||
<Script file="karniCrap.lua"/>
|
||||
<Script file="tradeskillInfo.lua"/>
|
||||
<Script file="pab.lua"/>
|
||||
<Script file="epgp.lua"/>
|
||||
<Script file="epgp_lootmaster.lua"/>
|
||||
<Script file="raidRoll.lua"/>
|
||||
<Script file="raidCooldowns.lua"/>
|
||||
<Script file="eventAlert.lua"/>
|
||||
<Script file="WIM.lua"/>
|
||||
<Script file="outfitter.lua"/>
|
||||
<Script file="poisoner.lua"/>
|
||||
<Script file="trinketMenu.lua"/>
|
||||
<Script file="chocolateBar.lua"/>
|
||||
<Script file="stalker.lua"/>
|
||||
<Script file="equipCompare.lua"/>
|
||||
<Script file="superDuperMacro.lua"/>
|
||||
<Script file="CLCRet.lua"/>
|
||||
<Script file="feralbyNight.lua"/>
|
||||
<Script file="factionizer.lua"/>
|
||||
<Script file="powerAuras.lua"/>
|
||||
<Script file="quartz.lua"/>
|
||||
<Script file="tipTac.lua"/>
|
||||
<Script file="swatter.lua"/>
|
||||
<Script file="beanCounter.lua"/>
|
||||
<Script file="informant.lua"/>
|
||||
<Script file="SlideBar.lua"/>
|
||||
<Script file="auctioneerSuite.lua"/>
|
||||
<Script file="altoholic.lua"/>
|
||||
<Script file="loseControl.lua"/>
|
||||
<Script file="silverDragon.lua"/>
|
||||
<Script file="_NPCScanOverlay.lua"/>
|
||||
<Script file="Examiner.lua"/>
|
||||
<Script file="Mapster.lua"/>
|
||||
<Script file="ArkInventory.lua"/>
|
||||
<Script file="QuestGuru.lua"/>
|
||||
<Script file="QuestGuruTracker.lua"/>
|
||||
<Script file="SatrinaBuffFrame.lua"/>
|
||||
<Script file="LootCouncil_Lite.lua"/>
|
||||
<Script file="ElvinCDs.lua"/>
|
||||
<Script file="oRA3.lua"/>
|
||||
<Script file="RCLootCouncil.lua"/>
|
||||
<Script file="QDKP2_GUI.lua"/>
|
||||
<Script file="LootWonAlert.lua"/>
|
||||
</Ui>
|
||||
@@ -0,0 +1,64 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("LoseControl") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- LoseControl 3.33
|
||||
-- https://www.curseforge.com/wow/addons/losecontrol/files/417954
|
||||
|
||||
S:AddCallbackForAddon("LoseControl", "LoseControl", function()
|
||||
if not E.private.addOnSkins.LoseControl then return end
|
||||
|
||||
local framePrefix = "LoseControl"
|
||||
|
||||
local frameUnits = {
|
||||
"player",
|
||||
"target",
|
||||
"focus",
|
||||
"party1",
|
||||
"party2",
|
||||
"party3",
|
||||
"party4",
|
||||
"arena1",
|
||||
"arena2",
|
||||
"arena3",
|
||||
"arena4",
|
||||
"arena5",
|
||||
}
|
||||
|
||||
local function fixParent(self, parent)
|
||||
if not parent then
|
||||
self:SetParent(UIParent)
|
||||
end
|
||||
end
|
||||
|
||||
local function skinIcon(frame)
|
||||
if not frame or frame.inSkinned then return end
|
||||
|
||||
frame:CreateBackdrop()
|
||||
|
||||
frame.texture:SetAllPoints(frame)
|
||||
frame.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
E:RegisterCooldown(frame)
|
||||
|
||||
hooksecurefunc(frame, "SetParent", fixParent)
|
||||
frame.SetSize = frame.Size
|
||||
|
||||
frame.inSkinned = true
|
||||
end
|
||||
|
||||
for _, frameUnit in ipairs(frameUnits) do
|
||||
skinIcon(_G[framePrefix..frameUnit])
|
||||
end
|
||||
|
||||
hooksecurefunc(_G["LoseControlplayer"].__index, "new", function(_, unitID)
|
||||
skinIcon(_G[framePrefix..unitID])
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,214 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("MageNuggets") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- Mage Nuggets 1.86
|
||||
-- https://www.curseforge.com/wow/addons/mage-nuggets/files/438172
|
||||
|
||||
S:AddCallbackForAddon("MageNuggets", "MageNuggets", function()
|
||||
if not E.private.addOnSkins.MageNuggets then return end
|
||||
|
||||
MageNugSP_Frame:SetTemplate("Transparent", nil, true)
|
||||
MageNugSP_FrameText:FontTemplate(nil, 9)
|
||||
MageNugSP_FrameButtonShowOptions:Size(6)
|
||||
S:HandleButton(MageNugSP_FrameButtonShowOptions)
|
||||
|
||||
MNTorment_Frame:SetTemplate("Default")
|
||||
MNTorment_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MNTorment_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MNTorment_FrameTexture:SetInside()
|
||||
|
||||
MNicyveins_Frame:SetTemplate("Default")
|
||||
MNicyveins_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MNicyveins_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MNicyveins_FrameTexture:SetInside()
|
||||
|
||||
MNarcanepower_Frame:SetTemplate("Default")
|
||||
MNarcanepower_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MNarcanepower_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MNarcanepower_FrameTexture:SetInside()
|
||||
|
||||
MNlust_Frame:SetTemplate("Default")
|
||||
MNlust_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MNlust_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MNlust_FrameTexture:SetInside()
|
||||
|
||||
MageNugClearcast_Frame:SetTemplate("Default")
|
||||
MageNugClearcast_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MageNugClearcast_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugClearcast_FrameTexture:SetInside()
|
||||
MageNugClearcast_Frame_Bar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugClearcast_Frame_Bar)
|
||||
MageNugClearcast_Frame_Bar:CreateBackdrop("Default")
|
||||
MageNugClearcast_Frame_Bar:Width(34 - E.Spacing * 2)
|
||||
MageNugClearcast_Frame_Bar:Point("TOP", MageNugClearcast_Frame, "BOTTOM", 0, -E.Spacing * 3)
|
||||
|
||||
MageNugSmallLB_Frame:SetTemplate("Default")
|
||||
MageNugSmallLB_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MageNugSmallLB_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugSmallLB_FrameTexture:SetInside()
|
||||
MageNugSmallLB_Frame_LBBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugSmallLB_Frame_LBBar)
|
||||
MageNugSmallLB_Frame_LBBar:CreateBackdrop("Default")
|
||||
MageNugSmallLB_Frame_LBBar:Width(34 - E.Spacing * 2)
|
||||
MageNugSmallLB_Frame_LBBar:Point("TOP", MageNugSmallLB_Frame, "BOTTOM", 0, -E.Spacing * 3)
|
||||
|
||||
MageNugScorch_Frame:SetTemplate("Default")
|
||||
MageNugScorch_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MageNugScorch_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugScorch_FrameTexture:SetInside()
|
||||
MageNugScorch_Frame_Bar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugScorch_Frame_Bar)
|
||||
MageNugScorch_Frame_Bar:CreateBackdrop("Default")
|
||||
MageNugScorch_Frame_Bar:Width(34 - E.Spacing * 2)
|
||||
MageNugScorch_Frame_Bar:Point("TOP", MageNugScorch_Frame, "BOTTOM", 0, -E.Spacing * 3)
|
||||
|
||||
MageNugAB_Frame:SetTemplate("Default")
|
||||
MageNugAB_FrameText:SetDrawLayer("OVERLAY", 1)
|
||||
MageNugAB_FrameTexture:SetDrawLayer("OVERLAY")
|
||||
MageNugAB_FrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugAB_FrameTexture:SetInside()
|
||||
MageNugAB_Frame_ABBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugAB_Frame_ABBar)
|
||||
MageNugAB_Frame_ABBar:CreateBackdrop("Default")
|
||||
MageNugAB_Frame_ABBar:Width(34 - E.Spacing * 2)
|
||||
MageNugAB_Frame_ABBar:Point("TOP", MageNugAB_Frame, "BOTTOM", 0, -E.Spacing * 3)
|
||||
MNabCast_Frame:SetTemplate("Transparent")
|
||||
MNabCast_Frame:Point("BOTTOM", MageNugAB_Frame, "TOP", 0, E.Spacing)
|
||||
|
||||
local procFrames = {
|
||||
"MageNugProcFrame",
|
||||
"MageNugImpactProcFrame",
|
||||
"MageNugBFProcFrame",
|
||||
"MageNugMBProcFrame",
|
||||
"MageNugFoFProcFrame"
|
||||
}
|
||||
|
||||
for _, frameName in ipairs(procFrames) do
|
||||
local frame = _G[frameName]
|
||||
local texture = _G[frameName .. "Texture"]
|
||||
local bar = _G[frameName .. "_ProcBar"]
|
||||
|
||||
frame:SetBackdrop(nil)
|
||||
frame:CreateBackdrop("Default")
|
||||
frame.backdrop:SetOutside(texture)
|
||||
|
||||
texture:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
_G[frameName .. "Text"]:FontTemplate()
|
||||
_G[frameName .. "Text2"]:FontTemplate(nil, 10)
|
||||
_G[frameName .. "Text2"]:SetPoint("BOTTOMRIGHT", bar)
|
||||
_G[frameName .. "Text2"]:SetParent(bar)
|
||||
|
||||
bar:Point("LEFT", frame.backdrop, "RIGHT", E.Spacing * 3, 0)
|
||||
bar:CreateBackdrop("Default")
|
||||
bar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(bar)
|
||||
end
|
||||
|
||||
MageNugPolyFrame:SetTemplate("Transparent")
|
||||
MageNugPolyFrame:CreateBackdrop("Default")
|
||||
MageNugPolyFrame.backdrop:SetOutside(MageNugPolyFrameTexture)
|
||||
MageNugPolyFrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugPolyFrameText:FontTemplate()
|
||||
MageNugPolyFrameTimerText:FontTemplate()
|
||||
|
||||
MNSpellSteal_Frame:SetTemplate("Transparent", nil, true)
|
||||
MNSpellSteal_FrameTitleText:FontTemplate()
|
||||
S:HandleButton(MNSpellSteal_FrameButtonShowOptions)
|
||||
|
||||
MageNugMI_Frame:CreateBackdrop("Default")
|
||||
MageNugMI_Frame.backdrop:SetOutside(MageNugMI_FrameTexture1)
|
||||
MageNugMI_FrameTexture1:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugMI_Frame_MIText:FontTemplate()
|
||||
MageNugMI_Frame_MIText1:FontTemplate()
|
||||
MageNugMI_Frame_MiBar:Point("LEFT", MageNugMI_Frame.backdrop, "RIGHT", E.Spacing * 3, 0)
|
||||
MageNugMI_Frame_MiBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugMI_Frame_MiBar)
|
||||
MageNugMI_Frame_MiBar:CreateBackdrop("Default")
|
||||
|
||||
MageNugWE_Frame:CreateBackdrop("Default")
|
||||
MageNugWE_Frame.backdrop:SetOutside(MageNugWE_FrameTexture1)
|
||||
MageNugWE_FrameTexture1:SetTexCoord(unpack(E.TexCoords))
|
||||
MageNugWE_Frame_MIText:FontTemplate()
|
||||
MageNugWE_Frame_WEText1:FontTemplate()
|
||||
MageNugWE_Frame_WeBar:Point("LEFT", MageNugWE_Frame.backdrop, "RIGHT", E.Spacing * 3, 0)
|
||||
MageNugWE_Frame_WeBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(MageNugWE_Frame_WeBar)
|
||||
MageNugWE_Frame_WeBar:CreateBackdrop("Default")
|
||||
|
||||
MageNugHordeFrame:SetTemplate("Transparent")
|
||||
MageNugHordeFrameText:FontTemplate()
|
||||
MageNugHordeFrameText2:FontTemplate()
|
||||
|
||||
local hordeButtons = {
|
||||
"PortDal",
|
||||
"PortShat",
|
||||
"PortOrg",
|
||||
"PortUC",
|
||||
"PortTB",
|
||||
"PortSMC",
|
||||
"PortStonard",
|
||||
"TeleDal",
|
||||
"TeleShat",
|
||||
"TeleOrg",
|
||||
"TeleUC",
|
||||
"TeleTB",
|
||||
"TeleSMC",
|
||||
"TeleStonard",
|
||||
"Hearth"
|
||||
}
|
||||
|
||||
for _, button in ipairs(hordeButtons) do
|
||||
_G["MageNugHordeFrame" .. button]:SetTemplate("Default")
|
||||
_G["MageNugHordeFrame" .. button]:StyleButton()
|
||||
|
||||
local icon = _G["MageNugHordeFrame" .. button .. "TelDalTexture"]
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:SetInside()
|
||||
end
|
||||
|
||||
S:HandleButton(MageNugHordeFrameClose)
|
||||
S:HandleButton(MageNugHordeFrameShowOptions)
|
||||
|
||||
MageNugAlliFrame:SetTemplate("Transparent")
|
||||
MageNugAlliFrameText:FontTemplate()
|
||||
MageNugAlliFrameText2:FontTemplate()
|
||||
|
||||
local alliButtons = {
|
||||
"PortDal",
|
||||
"PortShat",
|
||||
"PortIF",
|
||||
"PortSW",
|
||||
"PortDarn",
|
||||
"PortExo",
|
||||
"PortTheramore",
|
||||
"TeleDal",
|
||||
"TeleShat",
|
||||
"TeleIF",
|
||||
"TeleSW",
|
||||
"TeleDarn",
|
||||
"TeleExo",
|
||||
"TeleTheramore",
|
||||
"Hearth"
|
||||
}
|
||||
|
||||
for _, button in pairs(alliButtons) do
|
||||
_G["MageNugAlliFrame" .. button]:SetTemplate("Default")
|
||||
_G["MageNugAlliFrame" .. button]:StyleButton()
|
||||
|
||||
local icon = _G["MageNugAlliFrame" .. button .. "TelDalTexture"]
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:SetInside()
|
||||
end
|
||||
|
||||
S:HandleButton(MageNugAlliFrameClose)
|
||||
S:HandleButton(MageNugAlliFrameShowOptions)
|
||||
end)
|
||||
@@ -0,0 +1,82 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("MoveAnything") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- MoveAnything 3.3.5-10
|
||||
-- https://www.curseforge.com/wow/addons/move-anything/files/434496
|
||||
|
||||
S:AddCallbackForAddon("MoveAnything", "MoveAnything", function()
|
||||
if not E.private.addOnSkins.MoveAnything then return end
|
||||
|
||||
local SPACING = 1 + (E.Spacing * 2)
|
||||
|
||||
local moverOnShow = function(self)
|
||||
_G[self:GetName() .. "Backdrop"]:SetBackdropBorderColor(unpack(E.media.rgbvaluecolor))
|
||||
end
|
||||
local moverOnEnter = function(self)
|
||||
_G[self:GetName() .. "BackdropMovingFrameName"]:SetTextColor(1, 1, 1)
|
||||
end
|
||||
local moverOnLeave = function(self)
|
||||
_G[self:GetName() .. "BackdropMovingFrameName"]:SetTextColor(unpack(E.media.rgbvaluecolor))
|
||||
end
|
||||
|
||||
for i = 1, 20 do
|
||||
_G["MAMover" .. i .. "Backdrop"]:SetTemplate("Transparent")
|
||||
_G["MAMover" .. i]:HookScript("OnShow", moverOnShow)
|
||||
_G["MAMover" .. i]:SetScript("OnEnter", moverOnEnter)
|
||||
_G["MAMover" .. i]:SetScript("OnLeave", moverOnLeave)
|
||||
end
|
||||
|
||||
MAOptions:StripTextures()
|
||||
MAOptions:SetTemplate("Transparent")
|
||||
MAOptions:Size(420, 500 + (16 * SPACING))
|
||||
|
||||
S:HandleCheckBox(MAOptionsCharacterSpecific)
|
||||
S:HandleCheckBox(MAOptionsToggleTooltips)
|
||||
S:HandleCheckBox(MAOptionsToggleModifiedFramesOnly)
|
||||
S:HandleCheckBox(MAOptionsToggleCategories)
|
||||
|
||||
S:HandleButton(MAOptionsResetAll)
|
||||
S:HandleButton(MAOptionsClose)
|
||||
S:HandleButton(MAOptionsSync)
|
||||
|
||||
for i = 1, 17 do
|
||||
_G["MAMove" .. i .. "Backdrop"]:SetTemplate("Default")
|
||||
S:HandleCheckBox(_G["MAMove" .. i .. "Move"])
|
||||
S:HandleCheckBox(_G["MAMove" .. i .. "Hide"])
|
||||
S:HandleButton(_G["MAMove" .. i .. "Reset"])
|
||||
|
||||
if i ~= 1 then
|
||||
_G["MAMove" .. i]:SetPoint("TOPLEFT", "MAMove" .. (i - 1), "BOTTOMLEFT", 0, -SPACING)
|
||||
end
|
||||
end
|
||||
|
||||
MAScrollFrame:Size(380, 442 + (16 * SPACING))
|
||||
S:HandleScrollBar(MAScrollFrameScrollBar)
|
||||
MAScrollBorder:StripTextures()
|
||||
|
||||
MANudger:SetTemplate("Transparent")
|
||||
S:HandleButton(MANudger_NudgeUp)
|
||||
MANudger_NudgeUp:Point("CENTER", 0, 24 + SPACING)
|
||||
S:HandleButton(MANudger_CenterMe)
|
||||
MANudger_CenterMe:Point("TOP", MANudger_NudgeUp, "BOTTOM", 0, -SPACING)
|
||||
S:HandleButton(MANudger_NudgeDown)
|
||||
MANudger_NudgeDown:Point("TOP", MANudger_CenterMe, "BOTTOM", 0, -SPACING)
|
||||
S:HandleButton(MANudger_NudgeLeft)
|
||||
MANudger_NudgeLeft:Point("RIGHT", MANudger_CenterMe, "LEFT", -SPACING, 0)
|
||||
S:HandleButton(MANudger_NudgeRight)
|
||||
MANudger_NudgeRight:Point("LEFT", MANudger_CenterMe, "RIGHT", SPACING, 0)
|
||||
S:HandleButton(MANudger_CenterH)
|
||||
S:HandleButton(MANudger_CenterV)
|
||||
S:HandleButton(MANudger_Detach)
|
||||
S:HandleButton(MANudger_Hide)
|
||||
S:HandleButton(MANudger_MoverPlus)
|
||||
S:HandleButton(MANudger_MoverMinus)
|
||||
|
||||
S:HandleButton(GameMenuButtonMoveAnything)
|
||||
end)
|
||||
@@ -0,0 +1,135 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("oRA3") then return end
|
||||
|
||||
-- oRA3 r452
|
||||
-- https://www.curseforge.com/wow/addons/ora3/files/464284
|
||||
|
||||
S:AddCallbackForAddon("oRA3", "oRA3", function()
|
||||
if not E.private.addOnSkins.oRA3 then return end
|
||||
|
||||
local addon = LibStub("AceAddon-3.0"):GetAddon("oRA3", true)
|
||||
if not addon then return end
|
||||
|
||||
AS:SkinLibrary("LibCandyBar-3.0")
|
||||
|
||||
S:SecureHook(addon, "ToggleFrame", function(self)
|
||||
S:Unhook(self, "ToggleFrame")
|
||||
|
||||
oRA3Frame:StripTextures(true)
|
||||
oRA3Frame:CreateBackdrop("Transparent")
|
||||
oRA3Frame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
oRA3Frame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
oRA3Frame:SetAttribute("UIPanelLayout-yoffset", 0)
|
||||
oRA3Frame:SetAttribute("UIPanelLayout-xoffset", 0)
|
||||
S:SetUIPanelWindowInfo(oRA3Frame, "width")
|
||||
|
||||
S:HandleCloseButton(oRA3Frame:GetChildren(), oRA3Frame.backdrop)
|
||||
|
||||
oRA3ScrollFrameTop:Kill()
|
||||
oRA3ScrollFrameBottom:Kill()
|
||||
|
||||
S:HandleScrollBar(oRA3ScrollFrameScrollBar)
|
||||
|
||||
S:HandleTab(oRA3FrameTab1)
|
||||
S:HandleTab(oRA3FrameTab2)
|
||||
S:HandleTab(oRA3FrameTab3)
|
||||
S:HandleTab(oRA3FrameTab4)
|
||||
S:HandleTab(oRA3FrameTab5)
|
||||
|
||||
S:HandleButton(oRA3Disband)
|
||||
S:HandleButton(oRA3Options)
|
||||
S:HandleButton(oRA3ListButton1)
|
||||
S:HandleButton(oRA3ListButton2)
|
||||
S:HandleButton(oRA3ListButton3)
|
||||
|
||||
oRA3ScrollFrame:Point("TOPRIGHT", -21, -24)
|
||||
oRA3ScrollFrame:Point("BOTTOMLEFT", 1, 34)
|
||||
|
||||
oRA3ScrollFrameScrollBar:Point("TOPLEFT", oRA3ScrollFrame, "TOPRIGHT", 3, -19)
|
||||
oRA3ScrollFrameScrollBar:Point("BOTTOMLEFT", oRA3ScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
oRA3ListButton2:Width(104)
|
||||
oRA3ListButton1:Point("TOPLEFT", oRA3ScrollFrame, "BOTTOMLEFT", 0, -7)
|
||||
oRA3ListButton2:Point("LEFT", oRA3ListButton1, "RIGHT", 5, 0)
|
||||
oRA3ListButton3:Point("LEFT", oRA3ListButton2, "RIGHT", 5, 0)
|
||||
|
||||
oRA3FrameTab2:Point("TOPLEFT", oRA3FrameTab1, "TOPRIGHT", -15, 0)
|
||||
oRA3FrameTab3:Point("TOPLEFT", oRA3FrameTab2, "TOPRIGHT", -15, 0)
|
||||
oRA3FrameTab4:Point("TOPLEFT", oRA3FrameTab3, "TOPRIGHT", -15, 0)
|
||||
oRA3FrameTab5:Point("TOPLEFT", oRA3FrameTab4, "TOPRIGHT", -15, 0)
|
||||
end)
|
||||
|
||||
hooksecurefunc(addon, "CreateScrollEntry", function(self, header)
|
||||
if header.inSkinned then return end
|
||||
|
||||
header:DisableDrawLayer("BACKGROUND")
|
||||
header:StyleButton()
|
||||
|
||||
if header.headerIndex == 1 then
|
||||
header:Point("TOPLEFT", 1, 0)
|
||||
end
|
||||
|
||||
header.isSkinned = true
|
||||
end)
|
||||
|
||||
local tanks = addon:GetModule("Tanks", true)
|
||||
if tanks then
|
||||
S:SecureHook(tanks, "CreateFrame", function(self)
|
||||
S:Unhook(self, "CreateFrame")
|
||||
|
||||
local border1, border2 = oRA3TankTopScrollFrame:GetParent():GetChildren()
|
||||
border1:StripTextures()
|
||||
if not border2:GetName() then
|
||||
border2:StripTextures()
|
||||
end
|
||||
|
||||
S:HandleScrollBar(oRA3TankTopScrollFrameScrollBar)
|
||||
S:HandleScrollBar(oRA3TankBottomScrollFrameScrollBar)
|
||||
|
||||
oRA3TankTopScrollFrame:CreateBackdrop("Transparent")
|
||||
oRA3TankTopScrollFrame.backdrop:Point("TOPLEFT", -6, 1)
|
||||
oRA3TankTopScrollFrame.backdrop:Point("BOTTOMRIGHT", 7, -1)
|
||||
|
||||
oRA3TankBottomScrollFrame:CreateBackdrop("Transparent")
|
||||
oRA3TankBottomScrollFrame.backdrop:Point("TOPLEFT", -6, 1)
|
||||
oRA3TankBottomScrollFrame.backdrop:Point("BOTTOMRIGHT", 7, -1)
|
||||
|
||||
oRA3TankTopScrollFrameScrollBar:Point("TOPLEFT", oRA3TankTopScrollFrame, "TOPRIGHT", 10, -18)
|
||||
oRA3TankTopScrollFrameScrollBar:Point("BOTTOMLEFT", oRA3TankTopScrollFrame, "BOTTOMRIGHT", 10, 18)
|
||||
|
||||
oRA3TankBottomScrollFrameScrollBar:Point("TOPLEFT", oRA3TankBottomScrollFrame, "TOPRIGHT", 10, -18)
|
||||
oRA3TankBottomScrollFrameScrollBar:Point("BOTTOMLEFT", oRA3TankBottomScrollFrame, "BOTTOMRIGHT", 10, 18)
|
||||
|
||||
for i = 1, 10 do
|
||||
local checkBox = _G["oRA3TankHideButton"..i]
|
||||
S:HandleCheckBox(checkBox)
|
||||
checkBox.backdrop:SetInside(nil, 1, 1)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local readycheck = addon:GetModule("ReadyCheck", true)
|
||||
if readycheck then
|
||||
S:SecureHook(readycheck, "READY_CHECK", function(self)
|
||||
if not (addon:IsPromoted() and self.db.profile.gui) then return end
|
||||
|
||||
S:Unhook(self, "READY_CHECK")
|
||||
|
||||
oRA3ReadyCheck:StripTextures()
|
||||
oRA3ReadyCheck:SetTemplate("Transparent")
|
||||
|
||||
local closeButton = oRA3ReadyCheck:GetChildren()
|
||||
S:HandleCloseButton(closeButton)
|
||||
closeButton:Point("TOPRIGHT", 1, 2)
|
||||
|
||||
local titlebg = oRA3ReadyCheck:GetRegions()
|
||||
titlebg:Point("TOPLEFT", 6, -6)
|
||||
titlebg:Point("BOTTOMRIGHT", oRA3ReadyCheck, "TOPRIGHT", -6, -23)
|
||||
titlebg:SetTexture(unpack(E.media.bordercolor))
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,37 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Omen") then return end
|
||||
|
||||
-- Omen 3.0.9
|
||||
-- https://www.wowace.com/projects/omen-threat-meter/files/404746
|
||||
|
||||
S:AddCallbackForAddon("Omen", "Omen", function()
|
||||
if not E.private.addOnSkins.Omen then return end
|
||||
|
||||
hooksecurefunc(Omen, "UpdateBars", function(self)
|
||||
self.TitleText:Width(self.Title:GetWidth() - 16)
|
||||
self.TitleText:Height(16)
|
||||
end)
|
||||
|
||||
hooksecurefunc(Omen, "UpdateBackdrop", function(self)
|
||||
self.Title:SetTemplate(E.db.addOnSkins.omenTitleTemplate, E.db.addOnSkins.omenTitleTemplate == "Default" and E.db.addOnSkins.omenTitleTemplateGloss or false)
|
||||
self.BarList:SetTemplate(E.db.addOnSkins.omenTemplate, E.db.addOnSkins.omenTemplate == "Default" and E.db.addOnSkins.omenTemplateGloss or false)
|
||||
end)
|
||||
|
||||
hooksecurefunc(Omen, "UpdateTitleBar", function(self)
|
||||
self.BarList:ClearAllPoints()
|
||||
|
||||
if not Omen.db.profile.TitleBar.ShowTitleBar then
|
||||
self.BarList:SetPoint("TOPLEFT", self.Title, "BOTTOMLEFT", 0, 0)
|
||||
else
|
||||
self.BarList:Point("TOPLEFT", self.Title, "BOTTOMLEFT", 0, -(E.PixelMode and 1 or 3))
|
||||
end
|
||||
self.BarList:SetPoint("BOTTOMRIGHT", self.Anchor, "BOTTOMRIGHT", 0, 0)
|
||||
end)
|
||||
|
||||
hooksecurefunc(Omen, "UpdateBackdrop", function(self)
|
||||
self:UpdateTitleBar()
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,51 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("OpenGF") then return end
|
||||
|
||||
-- Open Group Finder
|
||||
|
||||
S:AddCallbackForAddon("OpenGF", "OpenGF", function()
|
||||
if not E.private.addOnSkins.OpenGF then return end
|
||||
|
||||
ogf_OpenGF_MainFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(ogf_minimizeButton, ogf_OpenGF_MainFrame)
|
||||
|
||||
S:HandleCheckBox(ogf_dpsCheck)
|
||||
S:HandleCheckBox(ogf_tankCheck)
|
||||
S:HandleCheckBox(ogf_healCheck)
|
||||
|
||||
S:HandleEditBox(ogf_noteText)
|
||||
ogf_noteText:Height(22)
|
||||
|
||||
S:HandleDropDownBox(ogf_categorySelect, 200)
|
||||
S:HandleDropDownBox(ogf_vanInstances, 200)
|
||||
S:HandleDropDownBox(ogf_tbcInstances, 200)
|
||||
S:HandleDropDownBox(ogf_tbcHeroic, 200)
|
||||
S:HandleDropDownBox(ogf_wotlkInstances, 200)
|
||||
S:HandleDropDownBox(ogf_wotlkHeroic, 200)
|
||||
|
||||
ogf_categorySelect:Point("TOPLEFT", 0, -100)
|
||||
ogf_vanInstances:Point("TOPLEFT", 175, -100)
|
||||
ogf_tbcInstances:Point("TOPLEFT", 175, -100)
|
||||
ogf_tbcHeroic:Point("TOPLEFT", 175, -100)
|
||||
ogf_wotlkInstances:Point("TOPLEFT", 175, -100)
|
||||
ogf_wotlkHeroic:Point("TOPLEFT", 175, -100)
|
||||
|
||||
S:HandleButton(ogf_searchButton)
|
||||
S:HandleButton(ogf_enlistButton)
|
||||
S:HandleButton(ogf_unlistButton)
|
||||
S:HandleButton(ogf_unlistAllButton)
|
||||
|
||||
ogf_searchButton:Point("TOPRIGHT", -192, -101)
|
||||
ogf_enlistButton:Point("TOPRIGHT", -103, -101)
|
||||
ogf_unlistButton:Point("TOPRIGHT", -103, -101)
|
||||
ogf_unlistAllButton:Point("TOPRIGHT", -14, -101)
|
||||
|
||||
ogf_playerList:SetTemplate("Transparent")
|
||||
ogf_plyContextMenu:SetTemplate("Transparent")
|
||||
|
||||
S:HandleScrollBar(scrollFrameScrollBar)
|
||||
end)
|
||||
@@ -0,0 +1,441 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Outfitter") then return end
|
||||
|
||||
local _G = _G
|
||||
local pairs, ipairs = pairs, ipairs
|
||||
local unpack = unpack
|
||||
local lower = string.lower
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- Outfitter 5.0
|
||||
|
||||
S:AddCallbackForAddon("Outfitter", "Outfitter", function()
|
||||
if not E.private.addOnSkins.Outfitter then return end
|
||||
|
||||
-- ButtonFrame
|
||||
OutfitterButtonFrame:SetAllPoints(CharacterFrame.backdrop)
|
||||
|
||||
OutfitterButton:ClearAllPoints()
|
||||
OutfitterButton:Point("TOPRIGHT", OutfitterButtonFrame, -25, -5)
|
||||
|
||||
OutfitterButton:Size(30, 16)
|
||||
OutfitterButton:SetTemplate("Transparent")
|
||||
OutfitterButton:SetHighlightTexture("")
|
||||
OutfitterButton:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
OutfitterButton:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
local buttonTexture = OutfitterButton:GetNormalTexture()
|
||||
buttonTexture:SetInside()
|
||||
buttonTexture:SetTexCoord(0.296875, 0.765625, 0.140625, 0.390625)
|
||||
buttonTexture = OutfitterButton:GetPushedTexture()
|
||||
buttonTexture:SetInside()
|
||||
buttonTexture:SetTexCoord(0.25, 0.71875, 0.640625, 0.890625)
|
||||
|
||||
-- AboutFrame
|
||||
OutfitterAboutFrame:StripTextures()
|
||||
OutfitterAboutFrame:SetTemplate("Transparent")
|
||||
|
||||
-- OptionsFrame
|
||||
OutfitterOptionsFrame:StripTextures()
|
||||
OutfitterOptionsFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCheckBox(OutfitterAutoSwitch, true)
|
||||
S:HandleCheckBox(OutfitterShowOutfitBar, true)
|
||||
S:HandleCheckBox(OutfitterShowMinimapButton, true)
|
||||
S:HandleCheckBox(OutfitterShowHotkeyMessages, true)
|
||||
S:HandleCheckBox(OutfitterTooltipInfo, true)
|
||||
S:HandleCheckBox(OutfitterItemComparisons, true)
|
||||
|
||||
OutfitterShowOutfitBar:Point("TOPLEFT", OutfitterAutoSwitch, "BOTTOMLEFT", 0, -5)
|
||||
|
||||
-- MainFrame
|
||||
OutfitterFrame:Point("TOPLEFT", OutfitterButtonFrame, "TOPRIGHT", -1, 0)
|
||||
|
||||
OutfitterMainFrame:SetTemplate("Transparent")
|
||||
|
||||
OutfitterMainFrameBackground:StripTextures()
|
||||
OutfitterMainFrameButtonBarBackground:StripTextures()
|
||||
|
||||
OutfitterFrameTitle:Point("TOP", 0, -6)
|
||||
OutfitterFrameTitle:SetParent(OutfitterMainFrame)
|
||||
|
||||
S:HandleCloseButton(OutfitterCloseButton, OutfitterFrame)
|
||||
|
||||
for i = 1, 3 do
|
||||
local tab = _G["OutfitterFrameTab"..i]
|
||||
tab:StripTextures()
|
||||
tab:SetTemplate()
|
||||
|
||||
tab:Height(28)
|
||||
|
||||
if i == 1 then
|
||||
tab:Point("BOTTOMRIGHT", -6, -27)
|
||||
else
|
||||
tab:Point("RIGHT", _G["OutfitterFrameTab"..(i - 1)], "LEFT", -5, 0)
|
||||
end
|
||||
end
|
||||
|
||||
OutfitterMainFrameHighlight:SetTexture(E.Media.Textures.Highlight)
|
||||
OutfitterMainFrameHighlight:SetVertexColor(0.9, 0.9, 0.9, 0.35)
|
||||
|
||||
OutfitterMainFrameScrollbarTrench:StripTextures()
|
||||
|
||||
S:HandleScrollBar(OutfitterMainFrameScrollFrameScrollBar)
|
||||
OutfitterMainFrameScrollFrameScrollBar:Point("TOPLEFT", OutfitterMainFrameScrollFrame, "TOPRIGHT", 3, -20)
|
||||
OutfitterMainFrameScrollFrameScrollBar:Point("BOTTOMLEFT", OutfitterMainFrameScrollFrame, "BOTTOMRIGHT", 3, 20)
|
||||
|
||||
OutfitterItem0:Point("TOPLEFT", 3, -57)
|
||||
|
||||
S:HandleButton(OutfitterNewButton)
|
||||
OutfitterNewButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
|
||||
for i = 0, 13 do
|
||||
local categoryExpand = _G["OutfitterItem"..i.."CategoryExpand"]
|
||||
S:HandleCollapseExpandButton(categoryExpand)
|
||||
categoryExpand:Point("BOTTOMLEFT", 2, 1)
|
||||
|
||||
local outfitSelected = _G["OutfitterItem"..i.."OutfitSelected"]
|
||||
S:HandleCheckBox(outfitSelected, true)
|
||||
outfitSelected:Point("BOTTOMLEFT", 5, 1)
|
||||
|
||||
_G["OutfitterItem"..i.."ItemIcon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
local outfitServerButton = _G["OutfitterItem"..i.."OutfitServerButton"]
|
||||
outfitServerButton:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
outfitServerButton:GetPushedTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
local outfitMenu = _G["OutfitterItem"..i.."OutfitMenu"]
|
||||
S:HandleNextPrevButton(outfitMenu, "down")
|
||||
outfitMenu:Size(16)
|
||||
end
|
||||
|
||||
hooksecurefunc(Outfitter._SidebarWindowFrame, "Construct", function(self)
|
||||
for _, textureFrame in pairs(self.Background) do
|
||||
textureFrame:StripTextures()
|
||||
end
|
||||
end)
|
||||
|
||||
-- SlotEnables
|
||||
S:HandleButton(OutfitterEnableAll)
|
||||
S:HandleButton(OutfitterEnableNone)
|
||||
|
||||
--[[
|
||||
local slots = {
|
||||
OutfitterEnableHeadSlot,
|
||||
OutfitterEnableNeckSlot,
|
||||
OutfitterEnableShoulderSlot,
|
||||
OutfitterEnableBackSlot,
|
||||
OutfitterEnableChestSlot,
|
||||
OutfitterEnableShirtSlot,
|
||||
OutfitterEnableTabardSlot,
|
||||
OutfitterEnableWristSlot,
|
||||
OutfitterEnableHandsSlot,
|
||||
OutfitterEnableWaistSlot,
|
||||
OutfitterEnableLegsSlot,
|
||||
OutfitterEnableFeetSlot,
|
||||
OutfitterEnableFinger0Slot,
|
||||
OutfitterEnableFinger1Slot,
|
||||
OutfitterEnableTrinket0Slot,
|
||||
OutfitterEnableTrinket1Slot,
|
||||
OutfitterEnableMainHandSlot,
|
||||
OutfitterEnableSecondaryHandSlot,
|
||||
OutfitterEnableRangedSlot,
|
||||
OutfitterEnableAmmoSlot,
|
||||
}
|
||||
|
||||
for _, slot in ipairs(slots) do
|
||||
S:HandleCheckBox(slot)
|
||||
end
|
||||
--]]
|
||||
|
||||
-- OutfitterQuickSlots
|
||||
hooksecurefunc(Outfitter, "InitializeQuickSlots", function()
|
||||
Outfitter.QuickSlots:StripTextures()
|
||||
Outfitter.QuickSlots:SetTemplate("Transparent")
|
||||
end)
|
||||
local hiddenTextures = 0
|
||||
hooksecurefunc(Outfitter._ButtonBar, "SetDimensions", function(self)
|
||||
if hiddenTextures >= #self.BackgroundTextures then return end
|
||||
|
||||
for i = hiddenTextures + 1, #self.BackgroundTextures do
|
||||
self.BackgroundTextures[i].Show = E.noop
|
||||
self.BackgroundTextures[i]:Hide()
|
||||
end
|
||||
|
||||
hiddenTextures = #self.BackgroundTextures
|
||||
end)
|
||||
hooksecurefunc(Outfitter._QuickSlotButton, "Construct", function(self)
|
||||
local buttonName = self.ItemButton:GetName()
|
||||
local icon = _G[buttonName.."IconTexture"]
|
||||
|
||||
self.ItemButton:GetNormalTexture():SetTexture(nil)
|
||||
self.ItemButton:SetTemplate("Default")
|
||||
self.ItemButton:StyleButton()
|
||||
|
||||
icon:SetInside()
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
E:RegisterCooldown(_G[buttonName.."Cooldown"])
|
||||
end)
|
||||
|
||||
-- ScriptFrame
|
||||
OutfitterEditScriptDialog:StripTextures()
|
||||
OutfitterEditScriptDialog:SetTemplate("Transparent")
|
||||
OutfitterEditScriptDialog:ClearAllPoints()
|
||||
OutfitterEditScriptDialog:SetPoint("CENTER")
|
||||
|
||||
OutfitterEditScriptDialog.CloseButton:Size(32)
|
||||
S:HandleCloseButton(OutfitterEditScriptDialog.CloseButton, OutfitterEditScriptDialog)
|
||||
|
||||
S:HandleDropDownBox(OutfitterEditScriptDialogPresetScript)
|
||||
OutfitterEditScriptDialogPresetScript:Point("TOPLEFT", 291, -20)
|
||||
|
||||
OutfitterEditScriptDialogSourceScript:StripTextures()
|
||||
OutfitterEditScriptDialogSourceScript:CreateBackdrop("Transparent")
|
||||
OutfitterEditScriptDialogSourceScript:Size(422, 369)
|
||||
OutfitterEditScriptDialogSourceScript:Point("TOPLEFT", 60, -51)
|
||||
|
||||
OutfitterEditScriptDialogSourceScriptEditBox:Width(421)
|
||||
|
||||
S:HandleScrollBar(OutfitterEditScriptDialogSourceScriptScrollBar)
|
||||
OutfitterEditScriptDialogSourceScriptScrollBar:Point("TOPLEFT", OutfitterEditScriptDialogSourceScript, "TOPRIGHT", 4, -18)
|
||||
OutfitterEditScriptDialogSourceScriptScrollBar:Point("BOTTOMLEFT", OutfitterEditScriptDialogSourceScript, "BOTTOMRIGHT", 4, 18)
|
||||
|
||||
S:HandleButton(OutfitterEditScriptDialogDoneButton)
|
||||
S:HandleButton(OutfitterEditScriptDialogCancelButton)
|
||||
OutfitterEditScriptDialogCancelButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
|
||||
S:HandleTab(OutfitterEditScriptDialogTab1)
|
||||
S:HandleTab(OutfitterEditScriptDialogTab2)
|
||||
|
||||
OutfitterEditScriptDialogTab1:Point("TOPLEFT", OutfitterEditScriptDialog, "BOTTOMLEFT", 0, 2)
|
||||
OutfitterEditScriptDialogTab2:Point("LEFT", OutfitterEditScriptDialogTab1, "RIGHT", -15, 0)
|
||||
|
||||
hooksecurefunc(OutfitterEditScriptDialog, "ConstructSettingsFields", function(self, pSettings) -- Outfitter._EditScriptDialog.ConstructSettingsFields
|
||||
if pSettings.Inputs then
|
||||
|
||||
for _, frame in ipairs(self.SettingsFrames) do
|
||||
local vSettingTypeInfo = Outfitter.SettingTypeInfo[lower(frame.Descriptor.Type)]
|
||||
local vFrameType = vSettingTypeInfo.FrameType
|
||||
|
||||
if vFrameType == "ScrollableEditBox" then
|
||||
frame:StripTextures()
|
||||
frame:CreateBackdrop()
|
||||
|
||||
_G[frame:GetName().."EditBox"]:Width(frame:GetWidth() - 1)
|
||||
|
||||
local scrollBar = _G[frame:GetName().."ScrollBar"]
|
||||
S:HandleScrollBar(scrollBar)
|
||||
scrollBar:Point("TOPLEFT", frame, "TOPRIGHT", 4, -18)
|
||||
scrollBar:Point("BOTTOMLEFT", frame, "BOTTOMRIGHT", 4, 18)
|
||||
elseif vFrameType == "EditBox" then
|
||||
S:HandleEditBox(frame)
|
||||
|
||||
for _, region in ipairs({frame:GetRegions()}) do
|
||||
if region:GetObjectType("Texture") and region:GetDrawLayer() == "BACKGROUND" then
|
||||
region:Hide()
|
||||
end
|
||||
end
|
||||
elseif vFrameType == "ZoneListEditBox" then
|
||||
frame:StripTextures()
|
||||
frame:CreateBackdrop()
|
||||
|
||||
_G[frame:GetName().."EditBox"]:Width(frame:GetWidth() - 1)
|
||||
|
||||
local scrollBar = _G[frame:GetName().."ScrollBar"]
|
||||
S:HandleScrollBar(scrollBar)
|
||||
scrollBar:Point("TOPLEFT", frame, "TOPRIGHT", 4, -18)
|
||||
scrollBar:Point("BOTTOMLEFT", frame, "BOTTOMRIGHT", 4, 18)
|
||||
|
||||
S:HandleButton(_G[frame:GetName().."ZoneButton"])
|
||||
elseif vFrameType == "Checkbox" then
|
||||
S:HandleCheckBox(frame)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- ChooseIconDialog
|
||||
OutfitterChooseIconDialog:GetChildren():Hide() -- backdrop
|
||||
OutfitterChooseIconDialog:SetTemplate("Transparent")
|
||||
OutfitterChooseIconDialog:Size(303, 367)
|
||||
|
||||
S:HandleDropDownBox(OutfitterChooseIconDialogIconSetMenu)
|
||||
|
||||
S:HandleEditBox(OutfitterChooseIconDialogFilterEditBox)
|
||||
local leftTex, rightTex, middleTex = select(OutfitterChooseIconDialogFilterEditBox:GetNumRegions() - 2, OutfitterChooseIconDialogFilterEditBox:GetRegions())
|
||||
leftTex:Hide()
|
||||
rightTex:Hide()
|
||||
middleTex:Hide()
|
||||
|
||||
OutfitterChooseIconDialogScrollFrame:StripTextures()
|
||||
OutfitterChooseIconDialogScrollFrame:Point("TOPLEFT", OutfitterChooseIconDialogFilterEditBox, "BOTTOMLEFT", -64, -19)
|
||||
|
||||
S:HandleScrollBar(OutfitterChooseIconDialogScrollFrameScrollBar)
|
||||
OutfitterChooseIconDialogScrollFrameScrollBar:Point("TOPLEFT", OutfitterChooseIconDialogScrollFrame, "TOPRIGHT", 6, -19)
|
||||
OutfitterChooseIconDialogScrollFrameScrollBar:Point("BOTTOMLEFT", OutfitterChooseIconDialogScrollFrame, "BOTTOMRIGHT", 6, 19)
|
||||
|
||||
S:HandleButton(OutfitterChooseIconDialogOKButton)
|
||||
S:HandleButton(OutfitterChooseIconDialogCancelButton)
|
||||
OutfitterChooseIconDialogCancelButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
|
||||
hooksecurefunc(OutfitterChooseIconDialog, "NewIconButton", function(self) -- Outfitter.OutfitBar._ChooseIconDialog
|
||||
local button = _G["OutfitterChooseIconDialogButton"..#self.IconButtons]
|
||||
local buttonIcon = _G["OutfitterChooseIconDialogButton"..#self.IconButtons.."Icon"]
|
||||
|
||||
button:StripTextures()
|
||||
button:SetTemplate(nil, true)
|
||||
button:StyleButton(nil, true)
|
||||
|
||||
buttonIcon:SetDrawLayer("ARTWORK")
|
||||
buttonIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
buttonIcon:SetInside()
|
||||
end)
|
||||
|
||||
-- OutfitBar
|
||||
hooksecurefunc(Outfitter.OutfitBar, "NewBar", function(self)
|
||||
local frame = _G["OutfitterOutfitBar" .. (self.UniqueNameIndex - 1)]
|
||||
|
||||
for _, texture in ipairs(frame.BackgroundTextures) do
|
||||
texture.Show = E.noop
|
||||
texture:Hide()
|
||||
end
|
||||
|
||||
if not self.Settings.OutfitBar.HideBackground then
|
||||
frame:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
for _, button in ipairs(frame.Buttons) do
|
||||
button.Widgets.Icon:SetDrawLayer("BORDER")
|
||||
S:HandleItemButton(button, true)
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(Outfitter.OutfitBar._DragBar, "Construct", function(self)
|
||||
self:CreateBackdrop("Default")
|
||||
|
||||
self.DragTexture.SetTexture = E.noop
|
||||
self.DragTexture.SetTexCoord = E.noop
|
||||
self.DragTexture.SetTextureOffset = E.noop
|
||||
end)
|
||||
|
||||
function Outfitter.OutfitBar._DragBar:SetVerticalOrientation(pVertical)
|
||||
self.Vertical = pVertical
|
||||
if pVertical then
|
||||
self:Size(53, 12)
|
||||
else
|
||||
self:Size(12, 53)
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(Outfitter.OutfitBar._SettingsDialog, "Construct", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
|
||||
S:HandleSliderFrame(self.SizeSlider)
|
||||
S:HandleSliderFrame(self.AlphaSlider)
|
||||
S:HandleSliderFrame(self.CombatAlphaSlider)
|
||||
|
||||
S:HandleCheckBox(self.VerticalCheckbutton)
|
||||
S:HandleCheckBox(self.LockPositionCheckbutton)
|
||||
S:HandleCheckBox(self.HideBackgroundCheckbutton)
|
||||
end)
|
||||
|
||||
function Outfitter._ButtonBar:ShowBackground(pShow)
|
||||
self.HideBackground = not pShow
|
||||
self:SetTemplate(pShow and "Transparent" or "NoBackdrop")
|
||||
end
|
||||
|
||||
-- MC2UIElementsLib
|
||||
hooksecurefunc(Outfitter.UIElementsLib._SidebarWindowFrame, "Construct", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
S:HandleCloseButton(self.CloseButton, self)
|
||||
|
||||
for _, textureFrame in pairs(self.Background) do
|
||||
textureFrame:StripTextures()
|
||||
end
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ModalDialogFrame, "Construct", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
|
||||
self.Title:Point("TOP", 0, -5)
|
||||
|
||||
self.TitleBackground.Show = E.noop
|
||||
self.TitleBackground:Hide()
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._Tabs, "Construct", function(self, pFrame, pXOffset, pYOffset)
|
||||
self.XOffset = (pXOffset or 0) + 15
|
||||
self.YOffset = (pYOffset or 0) + 3
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._Tabs, "NewTab", function(self)
|
||||
S:HandleTab(self.Tabs[#self.Tabs])
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ScrollbarTrench, "Construct", function(self)
|
||||
self:StripTextures()
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._Scrollbar, "Construct", function(self)
|
||||
S:HandleScrollBar(self)
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._CheckButton, "Construct", function(self)
|
||||
S:HandleCheckBox(self, true)
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ExpandAllButton, "Construct", function(self)
|
||||
self.TabLeft.Show = E.noop
|
||||
self.TabMiddle.Show = E.noop
|
||||
self.TabRight.Show = E.noop
|
||||
self.TabLeft:Hide()
|
||||
self.TabMiddle:Hide()
|
||||
self.TabRight:Hide()
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._PlainBorderedFrame, "Construct", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._CloseButton, "Construct", function(self, pParent)
|
||||
S:HandleCloseButton(self, pParent)
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._FadingTitleBar, "Construct", function(self)
|
||||
self.FullBar:StripTextures()
|
||||
self.FullBar:SetTemplate("Transparent")
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ExpandButton, "Construct", function(self)
|
||||
S:HandleCollapseExpandButton(self, "-")
|
||||
end)
|
||||
local dropdownArrowColor = {1, 0.8, 0}
|
||||
hooksecurefunc(Outfitter.UIElementsLib._DropDownMenuButton, "Construct", function(self, pParent, pMenuFunc, pWidth)
|
||||
S:HandleNextPrevButton(self.Button, "down", dropdownArrowColor)
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._Section, "Construct", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._DropDownMenu, "Construct", function(self)
|
||||
self:StripTextures()
|
||||
self:SetTemplate()
|
||||
|
||||
self.Button:Point("RIGHT", -2, 0)
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._EditBox, "Construct", function(self, pParent, pLabel, pMaxLetters, pWidth, pPlain)
|
||||
self:SetTemplate()
|
||||
|
||||
if not pPlain then
|
||||
self.LeftTexture:SetAlpha(0)
|
||||
self.MiddleTexture:SetAlpha(0)
|
||||
self.RightTexture:SetAlpha(0)
|
||||
end
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._PushButton, "Construct", function(self)
|
||||
S:HandleButton(self, true)
|
||||
|
||||
self.HighlightTexture.Show = E.noop
|
||||
self.HighlightTexture:Hide()
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ScrollingEditBox, "Construct", function(self)
|
||||
self.BackgroundTextures:SetTemplate("Transparent")
|
||||
self.EditBox:SetTemplate("NoBackdrop")
|
||||
end)
|
||||
hooksecurefunc(Outfitter.UIElementsLib._ProgressBar, "Construct", function(self)
|
||||
S:HandleStatusBar(self)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,79 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Overachiever_Tabs") then return end
|
||||
|
||||
local _G = _G
|
||||
local getmetatable = getmetatable
|
||||
local ipairs = ipairs
|
||||
|
||||
-- Overachiever 0.56
|
||||
-- https://www.curseforge.com/wow/addons/overachiever/files/443622
|
||||
|
||||
S:AddCallbackForAddon("Overachiever_Tabs", "Overachiever", function()
|
||||
if not E.private.addOnSkins.Overachiever then return end
|
||||
|
||||
for i = 3, 5 do
|
||||
local tab = _G["AchievementFrameTab"..i]
|
||||
S:HandleTab(tab)
|
||||
tab:Point("LEFT", _G["AchievementFrameTab"..(i-1)], "RIGHT", -15, 0)
|
||||
tab.text:Point("CENTER", 0, 2)
|
||||
tab.text.SetPoint = E.noop
|
||||
end
|
||||
|
||||
local leftFrame = _G["Overachiever_LeftFrame"]
|
||||
for _, childFrame in ipairs({leftFrame:GetChildren()}) do
|
||||
for _, obj in ipairs({childFrame:GetChildren()}) do
|
||||
local objType = obj:GetObjectType()
|
||||
if objType == "Button" then
|
||||
S:HandleButton(obj)
|
||||
elseif objType == "EditBox" then
|
||||
S:HandleEditBox(obj)
|
||||
elseif objType == "CheckButton" then
|
||||
S:HandleCheckBox(obj)
|
||||
elseif objType == "Frame" and obj.TjDDM then
|
||||
S:HandleDropDownBox(obj)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local containers = {
|
||||
"Overachiever_SearchFrame",
|
||||
"Overachiever_SuggestionsFrame",
|
||||
"Overachiever_WatchFrame"
|
||||
}
|
||||
|
||||
for _, frameName in ipairs(containers) do
|
||||
local frame = _G[frameName]
|
||||
frame:StripTextures()
|
||||
frame:SetTemplate("Transparent")
|
||||
|
||||
frame:GetChildren():StripTextures()
|
||||
|
||||
frame.scrollFrame:Point("TOPLEFT", 2, -2)
|
||||
frame.scrollFrame:Point("BOTTOMRIGHT", -2, 4)
|
||||
|
||||
local scrollBar = _G[frame.scrollFrame:GetName() .. "ScrollBar"]
|
||||
S:HandleScrollBar(scrollBar)
|
||||
|
||||
scrollBar:Point("TOPLEFT", frame.scrollFrame, "TOPRIGHT", 5, -17)
|
||||
scrollBar:Point("BOTTOMLEFT", frame.scrollFrame, "BOTTOMRIGHT", 5, 15)
|
||||
|
||||
scrollBar.Show = function(self)
|
||||
frame:SetWidth(500)
|
||||
for _, button in ipairs(frame.buttons) do
|
||||
button:SetWidth(496)
|
||||
end
|
||||
getmetatable(self).__index.Show(self)
|
||||
end
|
||||
|
||||
scrollBar.Hide = function(self)
|
||||
frame:SetWidth(521)
|
||||
for _, button in ipairs(frame.buttons) do
|
||||
button:SetWidth(517)
|
||||
end
|
||||
getmetatable(self).__index.Hide(self)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,102 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("PAB") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
|
||||
-- Party Ability Bars r7
|
||||
-- https://www.wowace.com/projects/pab/files/353353
|
||||
|
||||
S:AddCallbackForAddon("PAB", "PAB", function()
|
||||
if not E.private.addOnSkins.PAB then return end
|
||||
|
||||
if not PAB then return end
|
||||
|
||||
S:HandleSliderFrame(PAB_Panel_Slider1)
|
||||
|
||||
S:HandleCheckBox(PAB_Panel_Toggle1)
|
||||
S:HandleCheckBox(PAB_Panel_Toggle2)
|
||||
S:HandleCheckBox(PAB_Panel_Toggle3)
|
||||
|
||||
S:HandleScrollBar(PABScrollFrameScrollBar)
|
||||
|
||||
S:HandleDropDownBox(PAB_Panel_DropDown1)
|
||||
|
||||
_G["PABScrollFrameAbility name"]:Height(21)
|
||||
_G["PABScrollFrameCD (s)"]:Height(21)
|
||||
S:HandleEditBox(_G["PABScrollFrameAbility name"])
|
||||
S:HandleEditBox(_G["PABScrollFrameCD (s)"])
|
||||
|
||||
PAB_Panel_Button1:Point("TOPLEFT", _G["PABScrollFrameAbility name"], "BOTTOMLEFT", -1, -7)
|
||||
S:HandleButton(PAB_Panel_Button1)
|
||||
S:HandleButton(PAB_Panel_Button2)
|
||||
|
||||
local function SkinIcon(frame)
|
||||
if frame.backdrop then return end
|
||||
|
||||
frame:CreateBackdrop("Transparent")
|
||||
frame.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
frame.texture.SetTexCoord = E.noop
|
||||
|
||||
E:RegisterCooldown(frame.cd)
|
||||
end
|
||||
|
||||
local PABIcons
|
||||
local ICON_SIZE = 30
|
||||
local SCALE = 1
|
||||
|
||||
hooksecurefunc(PAB, "ApplyAnchorSettings", function()
|
||||
if not PABIcons then return end
|
||||
|
||||
SCALE = PABIcons:GetScale()
|
||||
PABIcons:SetScale(1)
|
||||
|
||||
for i = 1, 4 do
|
||||
for _, iconFrame in ipairs(_G["PABAnchor"..i].icons) do
|
||||
iconFrame:Size(ICON_SIZE * SCALE)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
S:RawHook(PAB, "AppendIcon", function(self, icons, anchor, ...)
|
||||
local iconFrame = S.hooks[self].AppendIcon(self, icons, anchor, ...)
|
||||
|
||||
SkinIcon(iconFrame)
|
||||
iconFrame:Size(ICON_SIZE * SCALE)
|
||||
|
||||
if #icons == 0 then
|
||||
iconFrame:Point("TOPLEFT", anchor, "BOTTOMRIGHT", E.Border, -E.Border)
|
||||
else
|
||||
iconFrame:Point("LEFT", icons[#icons - 1], "RIGHT", E.Border, 0)
|
||||
end
|
||||
|
||||
return iconFrame
|
||||
end)
|
||||
|
||||
for i = 1, 4 do
|
||||
local frame = _G["PABAnchor"..i]
|
||||
frame:SetBackdrop(nil)
|
||||
frame:CreateBackdrop("Transparent")
|
||||
|
||||
for _, iconFrame in ipairs(frame.icons) do
|
||||
if not PABIcons then
|
||||
PABIcons = iconFrame:GetParent()
|
||||
ICON_SIZE = math.floor(iconFrame:GetSize() + 0.5)
|
||||
end
|
||||
|
||||
SkinIcon(iconFrame)
|
||||
iconFrame:Size(ICON_SIZE * SCALE)
|
||||
|
||||
local point, anchor = iconFrame:GetPoint()
|
||||
if point == "LEFT" then
|
||||
iconFrame:Point("LEFT", anchor, "RIGHT", E.Border, 0)
|
||||
elseif point == "TOPLEFT" then
|
||||
iconFrame:Point("TOPLEFT", anchor, "BOTTOMRIGHT", E.Border, -E.Border)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,93 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("PallyPower") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
-- PallyPower 3.2.20
|
||||
|
||||
S:AddCallbackForAddon("PallyPower", "PallyPower", function()
|
||||
if not E.private.addOnSkins.PallyPower then return end
|
||||
|
||||
PallyPower.ApplySkin = E.noop
|
||||
|
||||
PallyPower.options.args.display.args.gapping.min = -1
|
||||
|
||||
local function scaleBackdrop(frame, scale)
|
||||
local backdrop = frame:GetBackdrop()
|
||||
backdrop.edgeSize = E.mult / scale
|
||||
frame:SetBackdrop(backdrop)
|
||||
frame:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
frame:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||||
end
|
||||
|
||||
local skinnedFrames = {}
|
||||
|
||||
local function skinFrame(frame)
|
||||
frame:SetTemplate("Transparent")
|
||||
skinnedFrames[#skinnedFrames + 1] = frame
|
||||
end
|
||||
|
||||
hooksecurefunc(PallyPowerFrame, "SetScale", function(self, scale)
|
||||
for _, frame in ipairs(skinnedFrames) do
|
||||
scaleBackdrop(frame, scale)
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(PallyPowerConfigFrame, "SetScale", scaleBackdrop)
|
||||
|
||||
local backdrop = E.media.backdropfadecolor
|
||||
PallyPower.db.profile.cBuffGood = {r = backdrop[1], g = backdrop[2], b = backdrop[3], t = backdrop[4]}
|
||||
PallyPower.db.profile.cBuffNeedAll = {r = 0.5, g = 0.5, b = 0.5, t = backdrop[4]}
|
||||
PallyPower.db.profile.cBuffNeedSome = {r = 0.5, g = 0.5, b = 0.5, t = backdrop[4]}
|
||||
PallyPower.db.profile.cBuffNeedSpecial = {r = 0.5, g = 0.5, b = 0.5, t = backdrop[4]}
|
||||
|
||||
skinFrame(PallyPowerAuto)
|
||||
skinFrame(PallyPowerRF)
|
||||
skinFrame(PallyPowerAura)
|
||||
|
||||
PallyPowerAutoIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
PallyPowerRFIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
PallyPowerRFIconSeal:SetTexCoord(unpack(E.TexCoords))
|
||||
PallyPowerAuraIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
for i = 1, PALLYPOWER_MAXCLASSES do
|
||||
local button = PallyPower.classButtons[i]
|
||||
skinFrame(button)
|
||||
|
||||
_G[button:GetName().."ClassIcon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
_G[button:GetName().."BuffIcon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
for j = 1, PALLYPOWER_MAXPERCLASS do
|
||||
skinFrame(PallyPower.playerButtons[i][j])
|
||||
end
|
||||
end
|
||||
|
||||
PallyPowerConfigFrame:SetTemplate("Transparent")
|
||||
S:HandleCloseButton(PallyPowerConfigFrameCloseButton)
|
||||
S:HandleCheckBox(PallyPowerConfigFrameFreeAssign)
|
||||
|
||||
S:HandleButton(PallyPowerConfigFrameOptions)
|
||||
S:HandleButton(PallyPowerConfigFrameAutoAssign)
|
||||
S:HandleButton(PallyPowerConfigFrameClear)
|
||||
S:HandleButton(PallyPowerConfigFrameRefresh)
|
||||
|
||||
PallyPowerConfigFrameAuraGroup1AuraHeaderIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
for i = 1, 8 do
|
||||
_G["PallyPowerConfigFramePlayer"..i.."Aura1Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
for i = 1, PALLYPOWER_MAXCLASSES do
|
||||
_G["PallyPowerConfigFrameClassGroup"..i.."ClassButtonIcon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
for j = 1, 8 do
|
||||
_G["PallyPowerConfigFramePlayer"..j.."Class"..i.."Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
AS:SkinLibrary("AceAddon-2.0")
|
||||
AS:SkinLibrary("Dewdrop-2.0")
|
||||
end)
|
||||
@@ -0,0 +1,85 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("PlateBuffs") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
-- PlateBuffs 1.5.4
|
||||
-- https://www.wowace.com/projects/platebuffs/files/447971
|
||||
|
||||
S:AddCallbackForAddon("PlateBuffs", "PlateBuffs", function()
|
||||
if not E.private.addOnSkins.PlateBuffs then return end
|
||||
|
||||
local core = LibStub("AceAddon-3.0"):GetAddon("PlateBuffs", true)
|
||||
if not core then return end
|
||||
|
||||
local NP = E:GetModule("NamePlates")
|
||||
|
||||
local buffBars = core.buffBars
|
||||
local buffFrames = core.buffFrames
|
||||
|
||||
local function StyleAuraIcon(frame)
|
||||
if not frame.isSkinned then
|
||||
NP:StyleFrame(frame, true, frame.texture)
|
||||
|
||||
frame.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
frame.cdbg.Show = E.noop
|
||||
frame.cdbg:Hide()
|
||||
|
||||
hooksecurefunc(frame.border, "SetVertexColor", function(self, r, g, b)
|
||||
local parent = self:GetParent():GetParent()
|
||||
parent.texture.bordertop:SetTexture(r, g, b)
|
||||
parent.texture.borderbottom:SetTexture(r, g, b)
|
||||
parent.texture.borderleft:SetTexture(r, g, b)
|
||||
parent.texture.borderright:SetTexture(r, g, b)
|
||||
self:SetTexture(nil)
|
||||
end)
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc(core, "BuildBuffFrame", function(self, plate)
|
||||
local total = 1
|
||||
if buffFrames[plate][total] then
|
||||
StyleAuraIcon(buffFrames[plate][total])
|
||||
end
|
||||
|
||||
local prevFrame = buffFrames[plate][total]
|
||||
for i = 2, self.db.profile.iconsPerBar do
|
||||
total = total + 1
|
||||
|
||||
if buffFrames[plate][total] then
|
||||
StyleAuraIcon(buffFrames[plate][total])
|
||||
buffFrames[plate][total]:ClearAllPoints()
|
||||
buffFrames[plate][total]:SetPoint("BOTTOMLEFT", prevFrame, "BOTTOMRIGHT", E.Border + E.Spacing*3, 0)
|
||||
end
|
||||
|
||||
prevFrame = self.buffFrames[plate][total]
|
||||
end
|
||||
|
||||
if self.db.profile.numBars > 1 then
|
||||
for r = 2, self.db.profile.numBars do
|
||||
for i = 1, self.db.profile.iconsPerBar do
|
||||
total = total + 1
|
||||
|
||||
if buffFrames[plate][total] then
|
||||
StyleAuraIcon(buffFrames[plate][total])
|
||||
buffFrames[plate][total]:ClearAllPoints()
|
||||
if i == 1 then
|
||||
buffFrames[plate][total]:SetPoint("BOTTOMLEFT", buffBars[plate][r], E.Border + E.Spacing*3, 0)
|
||||
else
|
||||
buffFrames[plate][total]:SetPoint("BOTTOMLEFT", prevFrame, "BOTTOMRIGHT", E.Border + E.Spacing*3, 0)
|
||||
end
|
||||
end
|
||||
|
||||
prevFrame = buffFrames[plate][total]
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,54 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Poisoner") then return end
|
||||
|
||||
local _G = _G
|
||||
local pairs = pairs
|
||||
|
||||
-- Poisoner 3.01
|
||||
-- https://www.curseforge.com/wow/addons/poisoner/files/301731
|
||||
|
||||
S:AddCallbackForAddon("Poisoner", "Poisoner", function()
|
||||
if not E.private.addOnSkins.Poisoner then return end
|
||||
|
||||
-- Minimap icon
|
||||
if not PoisonerMinimapButton.isSkinned then
|
||||
PoisonerMinimapButton:SetTemplate()
|
||||
PoisonerMinimapButton:Size(22)
|
||||
|
||||
local normalTexture = PoisonerMinimapButton:GetNormalTexture()
|
||||
normalTexture:SetTexture("Interface\\Icons\\Ability_Creature_Poison_02")
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetDrawLayer("ARTWORK")
|
||||
normalTexture:SetInside()
|
||||
|
||||
PoisonerMinimapButton:SetPushedTexture(nil)
|
||||
PoisonerMinimapButton:SetHighlightTexture(nil)
|
||||
PoisonerMinimapButton:SetDisabledTexture(nil)
|
||||
|
||||
PoisonerMinimapButton.isSkinned = true
|
||||
end
|
||||
|
||||
hooksecurefunc("Poisoner_CreateButtons", function()
|
||||
for poison in pairs(Poisoner_PoisonsEverSeen) do
|
||||
local button = _G["PoisonerMenuButton"..poison]
|
||||
|
||||
if button and not button.isSkinned then
|
||||
button:SetTemplate()
|
||||
button:StyleButton(nil, true)
|
||||
|
||||
local texture = button:GetNormalTexture()
|
||||
texture:SetTexCoord(unpack(E.TexCoords))
|
||||
texture:SetInside(button)
|
||||
|
||||
texture = button:GetHighlightTexture()
|
||||
texture:SetTexCoord(unpack(E.TexCoords))
|
||||
texture:SetInside(button)
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,173 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Postal") then return end
|
||||
|
||||
local _G = _G
|
||||
local select = select
|
||||
local unpack = unpack
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
|
||||
local INBOXITEMS_TO_DISPLAY = INBOXITEMS_TO_DISPLAY
|
||||
|
||||
-- Postal r299
|
||||
-- https://www.wowace.com/projects/postal/files/454610
|
||||
|
||||
S:AddCallbackForAddon("Postal", "Postal", function()
|
||||
if not E.private.addOnSkins.Postal then return end
|
||||
|
||||
local Postal = LibStub("AceAddon-3.0"):GetAddon("Postal", true)
|
||||
if not Postal then return end
|
||||
|
||||
S:HandleNextPrevButton(Postal_ModuleMenuButton, "down", nil, true)
|
||||
Postal_ModuleMenuButton:Point("TOPRIGHT", MailFrame, -60, -12)
|
||||
Postal_ModuleMenuButton:Size(26)
|
||||
|
||||
hooksecurefunc(Postal, "CreateAboutFrame", function(self)
|
||||
self.aboutFrame:SetTemplate("Transparent")
|
||||
|
||||
PostalAboutScroll:Point("TOPLEFT", 8, -26)
|
||||
PostalAboutScroll:Point("BOTTOMRIGHT", -29, 8)
|
||||
|
||||
S:HandleScrollBar(PostalAboutScrollScrollBar)
|
||||
PostalAboutScrollScrollBar:Point("TOPLEFT", PostalAboutScroll, "TOPRIGHT", 3, -19)
|
||||
PostalAboutScrollScrollBar:Point("BOTTOMLEFT", PostalAboutScroll, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
self.aboutFrame.editBox:Width(461)
|
||||
self.aboutFrame.editBox:Point("TOPLEFT", 1, -1)
|
||||
|
||||
local closeButton = select(2, PostalAboutFrame:GetChildren())
|
||||
if closeButton then
|
||||
S:HandleCloseButton(closeButton, PostalAboutFrame)
|
||||
end
|
||||
end)
|
||||
|
||||
local Postal_Select = Postal:GetModule("Select", true)
|
||||
if Postal_Select then
|
||||
local skinModule
|
||||
skinModule = function()
|
||||
S:HandleButton(PostalSelectOpenButton, true)
|
||||
PostalSelectOpenButton:Point("RIGHT", InboxFrame, "TOP", -29, -57)
|
||||
|
||||
S:HandleButton(PostalSelectReturnButton, true)
|
||||
PostalSelectReturnButton:Point("LEFT", InboxFrame, "TOP", 8, -57)
|
||||
|
||||
for i = 1, INBOXITEMS_TO_DISPLAY do
|
||||
local mail = _G["MailItem"..i]
|
||||
local inboxCB = _G["PostalInboxCB"..i]
|
||||
|
||||
S:HandleCheckBox(inboxCB)
|
||||
inboxCB:Point("RIGHT", mail, "LEFT", 6, -5)
|
||||
end
|
||||
|
||||
skinModule = nil
|
||||
end
|
||||
|
||||
local function setPosition()
|
||||
MailItem1:Point("TOPLEFT", 38, -80)
|
||||
|
||||
for i = 1, INBOXITEMS_TO_DISPLAY do
|
||||
_G["MailItem"..i.."ExpireTime"]:Point("TOPRIGHT", -4, -4)
|
||||
end
|
||||
end
|
||||
|
||||
if PostalSelectOpenButton then
|
||||
skinModule()
|
||||
setPosition()
|
||||
end
|
||||
|
||||
hooksecurefunc(Postal_Select, "OnEnable", function(self)
|
||||
if skinModule then
|
||||
skinModule()
|
||||
end
|
||||
setPosition()
|
||||
end)
|
||||
|
||||
hooksecurefunc(Postal_Select, "OnDisable", function(self)
|
||||
MailItem1:Point("TOPLEFT", 24, -80)
|
||||
end)
|
||||
end
|
||||
|
||||
local Postal_DoNotWant = Postal:GetModule("DoNotWant", true)
|
||||
if Postal_DoNotWant then
|
||||
local function skinModule()
|
||||
for i = 1, 7 do
|
||||
local returnIcon = _G["MailItem"..i.."ExpireTime"].returnicon
|
||||
returnIcon:StripTextures(true)
|
||||
S:HandleCloseButton(returnIcon)
|
||||
returnIcon:Size(26)
|
||||
returnIcon:ClearAllPoints()
|
||||
returnIcon:Point("TOPRIGHT", 32, -3)
|
||||
end
|
||||
end
|
||||
|
||||
if MailItem1ExpireTime.returnicon then
|
||||
skinModule()
|
||||
else
|
||||
S:SecureHook(Postal_DoNotWant, "OnEnable", function(self)
|
||||
skinModule()
|
||||
S:Unhook(self, "OnEnable")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
local Postal_OpenAll = Postal:GetModule("OpenAll", true)
|
||||
if Postal_OpenAll then
|
||||
local function skinModule()
|
||||
S:HandleButton(PostalOpenAllButton, true)
|
||||
PostalOpenAllButton:Point("CENTER", InboxFrame, "TOP", -24, -408)
|
||||
|
||||
S:HandleNextPrevButton(Postal_OpenAllMenuButton)
|
||||
Postal_OpenAllMenuButton:Size(25)
|
||||
Postal_OpenAllMenuButton:Point("LEFT", PostalOpenAllButton, "RIGHT", 3, 0)
|
||||
end
|
||||
|
||||
if PostalOpenAllButton then
|
||||
skinModule()
|
||||
else
|
||||
S:SecureHook(Postal_OpenAll, "OnEnable", function(self)
|
||||
skinModule()
|
||||
S:Unhook(self, "OnEnable")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
local Postal_BlackBook = Postal:GetModule("BlackBook", true)
|
||||
if Postal_BlackBook then
|
||||
local function skinModule()
|
||||
S:HandleNextPrevButton(Postal_BlackBookButton)
|
||||
Postal_BlackBookButton:Size(20)
|
||||
Postal_BlackBookButton:Point("LEFT", SendMailNameEditBox, "RIGHT", 4, 0)
|
||||
end
|
||||
|
||||
if Postal_BlackBookButton then
|
||||
skinModule()
|
||||
else
|
||||
S:SecureHook(Postal_BlackBook, "OnEnable", function(self)
|
||||
skinModule()
|
||||
S:Unhook(self, "OnEnable")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
local Postal_CarbonCopy = Postal:GetModule("CarbonCopy", true)
|
||||
if Postal_CarbonCopy then
|
||||
local function skinModule(self)
|
||||
self.button:SetTemplate()
|
||||
self.button:Size(12)
|
||||
self.button:Point("TOPRIGHT", 1, 3)
|
||||
|
||||
local normalTexture = self.button:GetNormalTexture()
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
end
|
||||
|
||||
if Postal_CarbonCopy.button then
|
||||
skinModule(Postal_CarbonCopy)
|
||||
else
|
||||
hooksecurefunc(Postal_CarbonCopy, "CreateButton", skinModule)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,331 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("PowerAuras") then return end
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- Power Auras Classic 3.0.0S
|
||||
-- https://www.curseforge.com/wow/addons/powerauras-classic/files/452580
|
||||
|
||||
S:AddCallbackForAddon("PowerAuras", "PowerAuras", function()
|
||||
if not E.private.addOnSkins.PowerAuras then return end
|
||||
|
||||
local frames = {
|
||||
-- Options
|
||||
"PowaOptionsFrame",
|
||||
"PowaOptionsPlayerListFrame",
|
||||
"PowaOptionsGlobalListFrame",
|
||||
"PowaOptionsSelectorFrame",
|
||||
-- Config
|
||||
"PowaBarConfigFrame",
|
||||
"PowaBarConfigFrameEditor",
|
||||
"PowaBarConfigFrameEditor2",
|
||||
"PowaBarConfigFrameEditor3",
|
||||
"PowaBarConfigFrameEditor4",
|
||||
"PowaBarConfigFrameEditor5",
|
||||
"PowaBarConfigFrameEditor6",
|
||||
"PowaEquipmentSlotsFrame",
|
||||
}
|
||||
|
||||
local buttons = {
|
||||
-- Blizzard Options
|
||||
"PowaShowAuraBrowserButton",
|
||||
"PowaResetPositionButton",
|
||||
-- Options
|
||||
"PowaOptionsRename",
|
||||
"PowaMainTestAllButton",
|
||||
"PowaMainTestButton",
|
||||
"PowaOptionsSelectorNew",
|
||||
"PowaOptionsMove",
|
||||
"PowaOptionsSelectorImport",
|
||||
"PowaOptionsSelectorImportSet",
|
||||
"PowaMainHideAllButton",
|
||||
"PowaOptionsSelectorDelete",
|
||||
"PowaOptionsCopy",
|
||||
"PowaOptionsSelectorExport",
|
||||
"PowaOptionsSelectorExportSet",
|
||||
"PowaEditButton",
|
||||
-- Config Main
|
||||
"PowaBarAuraTextureSliderMinus",
|
||||
"PowaBarAuraTextureSliderPlus",
|
||||
"PowaFontsButton",
|
||||
"PowaBarAuraCoordXSliderMinus",
|
||||
"PowaBarAuraCoordXSliderPlus",
|
||||
"PowaBarAuraCoordSliderMinus",
|
||||
"PowaBarAuraCoordSliderPlus",
|
||||
-- Config Animation
|
||||
"PowaBarAuraAnimSpeedSliderMinus",
|
||||
"PowaBarAuraAnimSpeedSliderPlus",
|
||||
"PowaBarAuraDurationSliderMinus",
|
||||
"PowaBarAuraDurationSliderPlus",
|
||||
-- Config Timer
|
||||
"PowaTimerCoordXSliderMinus",
|
||||
"PowaTimerCoordXSliderPlus",
|
||||
"PowaTimerCoordSliderMinus",
|
||||
"PowaTimerCoordSliderPlus",
|
||||
"PowaTimerSizeSliderMinus",
|
||||
"PowaTimerSizeSliderPlus",
|
||||
"PowaTimerAlphaSliderMinus",
|
||||
"PowaTimerAlphaSliderPlus",
|
||||
"PowaTimerInvertAuraSliderMinus",
|
||||
"PowaTimerInvertAuraSliderPlus",
|
||||
"PowaTimerDurationSliderMinus",
|
||||
"PowaTimerDurationSliderPlus",
|
||||
-- Config Stacks
|
||||
"PowaStacksCoordXSliderMinus",
|
||||
"PowaStacksCoordXSliderPlus",
|
||||
"PowaStacksCoordSliderMinus",
|
||||
"PowaStacksCoordSliderPlus",
|
||||
"PowaStacksSizeSliderMinus",
|
||||
"PowaStacksSizeSliderPlus",
|
||||
"PowaStacksAlphaSliderMinus",
|
||||
"PowaStacksAlphaSliderPlus",
|
||||
}
|
||||
|
||||
local checkBoxes = {
|
||||
-- Blizzard Options
|
||||
"PowaEnableButton",
|
||||
"PowaDebugButton",
|
||||
"PowaTimerRoundingButton",
|
||||
"PowaAllowInspectionsButton",
|
||||
-- Config Main
|
||||
"PowaTexModeButton",
|
||||
"PowaWowTextureButton",
|
||||
"PowaCustomTextureButton",
|
||||
"PowaTextAuraButton",
|
||||
"PowaRandomColorButton",
|
||||
"PowaOwntexButton",
|
||||
-- Config Activation
|
||||
"PowaExactButton",
|
||||
"PowaIngoreCaseButton",
|
||||
"PowaInverseButton",
|
||||
"PowaMineButton",
|
||||
"PowaPvPButton",
|
||||
"PowaInCombatButton",
|
||||
"PowaRestingButton",
|
||||
"PowaIsAliveButton",
|
||||
"PowaIsInPartyButton",
|
||||
"PowaIsInRaidButton",
|
||||
"PowaIsMountedButton",
|
||||
"PowaInVehicleButton",
|
||||
"PowaTargetButton",
|
||||
"PowaTargetFriendButton",
|
||||
"PowaFocusButton",
|
||||
"PowaGroupOrSelfButton",
|
||||
"PowaPartyButton",
|
||||
"PowaRaidButton",
|
||||
"PowaOptunitnButton",
|
||||
"Powa5ManInstanceButton",
|
||||
"Powa5ManHeroicInstanceButton",
|
||||
"Powa10ManInstanceButton",
|
||||
"Powa10ManHeroicInstanceButton",
|
||||
"Powa25ManInstanceButton",
|
||||
"Powa25ManHeroicInstanceButton",
|
||||
"PowaBgInstanceButton",
|
||||
"PowaArenaInstanceButton",
|
||||
"PowaRoleTankButton",
|
||||
"PowaRoleHealerButton",
|
||||
"PowaRoleMeleDpsButton",
|
||||
"PowaRoleRangeDpsButton",
|
||||
"PowaTalentGroup1Button",
|
||||
"PowaTalentGroup2Button",
|
||||
"PowaGroupAnyButton",
|
||||
"PowaAuraDebugButton",
|
||||
"PowaThresholdInvertButton",
|
||||
"PowaExtraButton",
|
||||
-- Config Animation
|
||||
"PowaShowSpinAtBeginning",
|
||||
"PowaOldAnimation",
|
||||
-- Config Timer
|
||||
"PowaShowTimerButton",
|
||||
"PowaBuffTimerCentsButton",
|
||||
"PowaBuffTimerLeadingZerosButton",
|
||||
"PowaBuffTimerTransparentButton",
|
||||
"PowaBuffTimerUseOwnColorButton",
|
||||
"PowaBuffTimerUpdatePingButton",
|
||||
"PowaBuffTimerActivationTime",
|
||||
-- Config Stacks
|
||||
"PowaShowStacksButton",
|
||||
"PowaBuffStacksTransparentButton",
|
||||
"PowaBuffStacksUseOwnColorButton",
|
||||
"PowaBuffStacksUpdatePingButton",
|
||||
}
|
||||
|
||||
local sliders = {
|
||||
-- Blizzard Options
|
||||
"PowaOptionsUpdateSlider2",
|
||||
"PowaOptionsAnimationsSlider2",
|
||||
"PowaOptionsTimerUpdateSlider2",
|
||||
-- Config Main
|
||||
"PowaBarAuraTextureSlider",
|
||||
"PowaBarAuraAlphaSlider",
|
||||
"PowaBarAuraSymSlider",
|
||||
"PowaBarAuraDeformSlider",
|
||||
"PowaBarAuraSizeSlider",
|
||||
"PowaBarAuraCoordXSlider",
|
||||
"PowaBarAuraCoordSlider",
|
||||
-- Config Activation
|
||||
"PowaBarThresholdSlider",
|
||||
-- Config Animation
|
||||
"PowaBarAuraAnimSpeedSlider",
|
||||
"PowaBarAuraDurationSlider",
|
||||
-- Config Timer
|
||||
"PowaTimerCoordXSlider",
|
||||
"PowaTimerCoordSlider",
|
||||
"PowaTimerSizeSlider",
|
||||
"PowaTimerAlphaSlider",
|
||||
"PowaTimerInvertAuraSlider",
|
||||
"PowaTimerDurationSlider",
|
||||
-- Config Stacks
|
||||
"PowaStacksCoordXSlider",
|
||||
"PowaStacksCoordSlider",
|
||||
"PowaStacksSizeSlider",
|
||||
"PowaStacksAlphaSlider",
|
||||
}
|
||||
|
||||
local editBoxes = {
|
||||
-- Options
|
||||
"PowaOptionsRenameEditBox",
|
||||
-- Config Main
|
||||
"PowaBarAuraTextureEdit",
|
||||
"PowaBarCustomTexName",
|
||||
"PowaBarAurasText",
|
||||
"PowaBarAuraCoordXEdit",
|
||||
"PowaBarAuraCoordYEdit",
|
||||
-- Config Activation
|
||||
"PowaBarBuffStacks",
|
||||
"PowaBarBuffName",
|
||||
"PowaBarMultiID",
|
||||
"PowaBarTooltipCheck",
|
||||
-- Config Sound
|
||||
"PowaBarCustomSound",
|
||||
"PowaBarCustomSoundEnd",
|
||||
}
|
||||
|
||||
local dropDownBoxes = {
|
||||
-- Blizzard Options
|
||||
"PowaDropDownDefaultTimerTexture",
|
||||
"PowaDropDownDefaultStacksTexture",
|
||||
-- Config Activation
|
||||
"PowaDropDownBuffType",
|
||||
"PowaDropDownPowerType",
|
||||
"PowaDropDownStance",
|
||||
"PowaDropDownGTFO",
|
||||
-- Config Animation
|
||||
"PowaDropDownAnimBegin",
|
||||
"PowaDropDownAnimEnd",
|
||||
"PowaDropDownAnim1",
|
||||
"PowaDropDownAnim2",
|
||||
-- Config Sound
|
||||
"PowaDropDownSound",
|
||||
"PowaDropDownSound2",
|
||||
"PowaDropDownSoundEnd",
|
||||
"PowaDropDownSound2End",
|
||||
-- Config Timer
|
||||
"PowaDropDownTimerTexture",
|
||||
"PowaBuffTimerRelative",
|
||||
-- Config Stacks
|
||||
"PowaDropDownStacksTexture",
|
||||
"PowaBuffStacksRelative",
|
||||
}
|
||||
|
||||
local itemButtons = {
|
||||
"PowaHeadSlot",
|
||||
"PowaNeckSlot",
|
||||
"PowaShoulderSlot",
|
||||
"PowaBackSlot",
|
||||
"PowaChestSlot",
|
||||
"PowaShirtSlot",
|
||||
"PowaTabardSlot",
|
||||
"PowaWristSlot",
|
||||
"PowaHandsSlot",
|
||||
"PowaWaistSlot",
|
||||
"PowaLegsSlot",
|
||||
"PowaFeetSlot",
|
||||
"PowaFinger0Slot",
|
||||
"PowaFinger1Slot",
|
||||
"PowaTrinket0Slot",
|
||||
"PowaTrinket1Slot",
|
||||
"PowaMainHandSlot",
|
||||
"PowaSecondaryHandSlot",
|
||||
"PowaRangedSlot",
|
||||
}
|
||||
|
||||
for _, frame in ipairs(frames) do
|
||||
frame = _G[frame]
|
||||
frame:StripTextures()
|
||||
frame:SetTemplate("Transparent")
|
||||
end
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(_G[button])
|
||||
end
|
||||
for _, checkBox in ipairs(checkBoxes) do
|
||||
S:HandleCheckBox(_G[checkBox])
|
||||
end
|
||||
for _, slider in ipairs(sliders) do
|
||||
S:HandleSliderFrame(_G[slider])
|
||||
end
|
||||
for _, editBox in ipairs(editBoxes) do
|
||||
S:HandleEditBox(_G[editBox])
|
||||
end
|
||||
for _, dropDownBox in ipairs(dropDownBoxes) do
|
||||
S:HandleDropDownBox(_G[dropDownBox])
|
||||
end
|
||||
for _, itemButton in ipairs(itemButtons) do
|
||||
S:HandleItemButton(_G[itemButton], true)
|
||||
end
|
||||
|
||||
local icon
|
||||
for i = 1, 24 do
|
||||
icon = _G["PowaIcone"..i]
|
||||
icon:SetTemplate()
|
||||
icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
icon:GetNormalTexture():SetInside(icon)
|
||||
icon:StyleButton(false, true)
|
||||
end
|
||||
|
||||
PowaSelected:SetFrameStrata(PowaSelected:GetParent():GetFrameStrata())
|
||||
PowaSelected:SetFrameLevel(PowaSelected:GetParent():GetFrameLevel() + 2)
|
||||
PowaSelected:StripTextures()
|
||||
PowaSelected:SetTemplate("Default", nil, true)
|
||||
PowaSelected:SetBackdropColor(0, 0, 0, 0)
|
||||
PowaSelected:SetBackdropBorderColor(1, 0.82, 0)
|
||||
PowaSelected:Hide()
|
||||
|
||||
local tab
|
||||
for i = 1, 5 do
|
||||
tab = _G["PowaEditorTab"..i]
|
||||
S:HandleTab(tab)
|
||||
tab:Height(29)
|
||||
end
|
||||
|
||||
PowaOptionsFrame:Height(463)
|
||||
|
||||
PowaOptionsSelectorFrame:Height(390)
|
||||
PowaOptionsSelectorNew:Point("BOTTOMLEFT", 5, 86)
|
||||
|
||||
PowaOptionsRename:Point("TOP", PowaOptionsGlobalListFrame, "BOTTOM", 0, -5)
|
||||
|
||||
PowaOptionsRenameEditBox:Size(88, 20)
|
||||
PowaOptionsRenameEditBox:Point("TOP", PowaOptionsRename, "TOP", 0, -1)
|
||||
|
||||
PowaEquipmentSlotsFrame:Height(370)
|
||||
|
||||
PowaHeadSlot:Point("TOPLEFT", 11, -25)
|
||||
PowaHandsSlot:Point("TOPRIGHT", -11, -25)
|
||||
|
||||
PowaOptionsHeader:Point("TOP", 0, -10)
|
||||
PowaHeader:Point("TOP", 0, -8)
|
||||
PowaTitleText:Point("TOP", 0, -8)
|
||||
|
||||
S:HandleCloseButton(PowaOptionsFrameCloseButton, PowaOptionsFrame)
|
||||
S:HandleCloseButton(PowaCloseButton, PowaBarConfigFrame)
|
||||
S:HandleCloseButton(PowaFrameCloseButton, PowaEquipmentSlotsFrame)
|
||||
|
||||
PowaBuffTimerCentsButton:Size(25)
|
||||
|
||||
PowaAuthorText.Show = E.noop
|
||||
PowaAuthorText:Hide()
|
||||
end)
|
||||
@@ -0,0 +1,48 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Quartz") then return end
|
||||
|
||||
-- Quartz 3.0.3.1
|
||||
-- https://www.wowace.com/projects/quartz/files/441489
|
||||
|
||||
S:AddCallbackForAddon("Quartz", "Quartz", function()
|
||||
if not E.private.addOnSkins.Quartz then return end
|
||||
|
||||
local Quartz3 = LibStub("AceAddon-3.0"):GetAddon("Quartz3", true)
|
||||
local CastBar = Quartz3.CastBarTemplate.template
|
||||
|
||||
Quartz3.db.profile.backgroundalpha = 0
|
||||
Quartz3.db.profile.borderalpha = 0
|
||||
|
||||
local function SkinQuartzBar(self)
|
||||
if not self.isSkinned then
|
||||
self.IconBorder = CreateFrame("Frame", nil, self)
|
||||
self.IconBorder:SetTemplate("Transparent")
|
||||
self.IconBorder:SetParent(self)
|
||||
self.IconBorder:SetOutside(self.Icon)
|
||||
self.Icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
self:SetBackdrop(nil)
|
||||
self.Bar:CreateBackdrop("Transparent")
|
||||
|
||||
self.isSkinned = true
|
||||
end
|
||||
if self.config.hideicon then
|
||||
self.IconBorder:Hide()
|
||||
else
|
||||
self.IconBorder:Show()
|
||||
end
|
||||
end
|
||||
|
||||
local function SkinQuartzUnlock(self)
|
||||
Quartz3UnlockDialog:StripTextures()
|
||||
Quartz3UnlockDialog:SetTemplate("Transparent")
|
||||
S:HandleButton(Quartz3UnlockDialogLock)
|
||||
end
|
||||
|
||||
hooksecurefunc(CastBar, "UNIT_SPELLCAST_START", SkinQuartzBar)
|
||||
hooksecurefunc(CastBar, "UNIT_SPELLCAST_CHANNEL_START", SkinQuartzBar)
|
||||
hooksecurefunc(Quartz3, "ShowUnlockDialog", SkinQuartzUnlock)
|
||||
end)
|
||||
@@ -0,0 +1,15 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("QuestPointer") then return end
|
||||
|
||||
-- QuestPointer 5.3
|
||||
-- https://www.curseforge.com/wow/addons/questpointer/files/438550
|
||||
|
||||
S:AddCallbackForAddon("QuestPointer", "QuestPointer", function()
|
||||
if not E.private.addOnSkins.QuestPointer then return end
|
||||
|
||||
QuestPointerTooltip:StripTextures()
|
||||
QuestPointerTooltip:CreateBackdrop("Transparent")
|
||||
end)
|
||||
@@ -0,0 +1,94 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("RaidCooldowns") then return end
|
||||
|
||||
local ceil = math.ceil
|
||||
local format = string.format
|
||||
|
||||
local GetNumRaidMembers = GetNumRaidMembers
|
||||
local GetSpellInfo = GetSpellInfo
|
||||
local IsShiftKeyDown = IsShiftKeyDown
|
||||
local SendChatMessage = SendChatMessage
|
||||
|
||||
-- RaidCooldowns 3.3.5
|
||||
-- https://www.wowace.com/projects/raid-cooldowns/files/441967
|
||||
|
||||
S:AddCallbackForAddon("RaidCooldowns", "RaidCooldowns", function()
|
||||
if not E.private.addOnSkins.RaidCooldowns then return end
|
||||
|
||||
local RaidCooldowns = LibStub("AceAddon-3.0"):GetAddon("RaidCooldowns", true)
|
||||
if not RaidCooldowns then return end
|
||||
|
||||
local mod = RaidCooldowns:GetModule("Display", true)
|
||||
if not mod then return end
|
||||
|
||||
if mod.db.profile.texture == "Smooth v2" and LibStub("LibSharedMedia-3.0"):Fetch("statusbar", mod.db.profile.texture) == "Interface\\TargetingFrame\\UI-StatusBar" then
|
||||
mod.db.profile.texture = "Blizzard"
|
||||
end
|
||||
if not mod.db.profile.fontFace then
|
||||
mod.db.profile.fontFace = "PT Sans Narrow"
|
||||
end
|
||||
|
||||
mod.configOptions.args.display.args.height.max = 30
|
||||
|
||||
local function onClick(self)
|
||||
if not IsShiftKeyDown() or GetNumRaidMembers() == 0 then return end
|
||||
|
||||
local parent = self:GetParent()
|
||||
if parent.value > 0 then
|
||||
SendChatMessage(format("%s: %s %s", parent.caster, GetSpellInfo(parent.spellId), format(ITEM_COOLDOWN_TOTAL, format("%.2d:%.2d", parent.value / 60 % 60, ceil(parent.value % 60)))), "RAID")
|
||||
end
|
||||
end
|
||||
|
||||
local function HookTimerGroup(frame)
|
||||
S:RawHook(frame, "NewTimerBar", function(self, ...)
|
||||
local bar, isNew = S.hooks[self].NewTimerBar(self, ...)
|
||||
|
||||
if isNew and not bar.isSkinned then
|
||||
bar.texture:CreateBackdrop("Transparent")
|
||||
bar.texture.backdrop:Point("TOPLEFT", bar, -1, 1)
|
||||
bar.texture.backdrop:Point("BOTTOMRIGHT", bar, 1, -1)
|
||||
|
||||
bar.texture:Point("TOPLEFT", 1, 0)
|
||||
bar.texture:Point("BOTTOMLEFT", 1, 0)
|
||||
|
||||
S:HandleIcon(bar.icon)
|
||||
|
||||
bar.bgtexture:Hide()
|
||||
bar.spark:Kill()
|
||||
|
||||
bar.iconButton = CreateFrame("Button", nil, bar)
|
||||
bar.iconButton:SetPoint("TOPLEFT", bar.icon)
|
||||
bar.iconButton:SetPoint("BOTTOMRIGHT", bar)
|
||||
bar.iconButton:RegisterForClicks("LeftButtonUp")
|
||||
bar.iconButton:SetScript("OnClick", onClick)
|
||||
|
||||
bar.isSkinned = true
|
||||
end
|
||||
|
||||
return bar, isNew
|
||||
end)
|
||||
end
|
||||
|
||||
if RCDD_Anchor then
|
||||
RCDD_Anchor.button:SetBackdrop(nil)
|
||||
RCDD_Anchor.button:CreateBackdrop("Transparent")
|
||||
RCDD_Anchor.spacing = E.Border
|
||||
|
||||
HookTimerGroup(RCDD_Anchor)
|
||||
end
|
||||
|
||||
HookTimerGroup(mod)
|
||||
|
||||
S:RawHook(mod, "NewBarGroup", function(self, ...)
|
||||
local list = S.hooks[self].NewBarGroup(self, ...)
|
||||
|
||||
list.button:SetBackdrop(nil)
|
||||
list.button:CreateBackdrop("Transparent")
|
||||
list.spacing = E.Border
|
||||
|
||||
return list
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,113 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("RaidRoll") then return end
|
||||
|
||||
-- RaidRoll 4.4.15
|
||||
-- https://www.curseforge.com/wow/addons/raid-roll/files/450070
|
||||
|
||||
S:AddCallbackForAddon("RaidRoll", "RaidRoll", function()
|
||||
if not E.private.addOnSkins.RaidRoll then return end
|
||||
|
||||
RR_RollFrame:SetTemplate("Transparent")
|
||||
RR_NAME_FRAME:SetTemplate("Default")
|
||||
|
||||
S:HandleCloseButton(RR_Close_Button, RR_RollFrame)
|
||||
|
||||
RaidRoll_Slider_ID:SetHitRectInsets(0, 0, 0, 0)
|
||||
S:HandleSliderFrame(RaidRoll_Slider_ID)
|
||||
|
||||
S:HandleButton(RaidRoll_AnnounceWinnerButton)
|
||||
S:HandleButton(RR_Roll_5SecAndAnnounce)
|
||||
S:HandleButton(RR_Roll_RollButton)
|
||||
S:HandleButton(RR_Last)
|
||||
S:HandleButton(RR_Clear)
|
||||
S:HandleButton(RR_Next)
|
||||
S:HandleButton(RaidRoll_OptionButton)
|
||||
|
||||
RR_Roll_5SecAndAnnounce:ClearAllPoints()
|
||||
RR_Roll_5SecAndAnnounce:Point("BOTTOM", 0, 31)
|
||||
|
||||
RR_Clear:Point("BOTTOM", 0, 8)
|
||||
RR_Last:Point("BOTTOM", -45, 8)
|
||||
RR_Roll_RollButton:Point("BOTTOMRIGHT", RR_RollFrame, "BOTTOM", -65, 8)
|
||||
RR_Next:Point("BOTTOM", 45, 8)
|
||||
RaidRoll_OptionButton:Size(20)
|
||||
RaidRoll_OptionButton:Point("BOTTOM", 75, 8)
|
||||
|
||||
RR_Frame:SetTemplate("Transparent")
|
||||
RR_Frame:Width(185)
|
||||
RR_Frame:Point("TOP", RR_RollFrame, "BOTTOM", 0, 1)
|
||||
|
||||
local rrframeLevel = RR_Frame:GetFrameLevel()
|
||||
RaidRoll_Catch_All:SetFrameLevel(rrframeLevel + 2)
|
||||
RaidRoll_Allow_All:SetFrameLevel(rrframeLevel + 2)
|
||||
RaidRollCheckBox_ExtraRolls:SetFrameLevel(rrframeLevel + 2)
|
||||
S:HandleCheckBox(RaidRoll_Catch_All)
|
||||
S:HandleCheckBox(RaidRoll_Allow_All)
|
||||
S:HandleCheckBox(RaidRollCheckBox_ExtraRolls)
|
||||
|
||||
S:HandleButton(Raid_Roll_ClearSymbols)
|
||||
S:HandleButton(Raid_Roll_ClearRolls)
|
||||
S:HandleButton(RaidRoll_ExtraOptionButton)
|
||||
|
||||
for i = 1, 5 do
|
||||
local f = _G["Raid_Roll_SetSymbol"..i]
|
||||
f:ClearAllPoints()
|
||||
f:Point("TOPLEFT", _G["RR_RollerPos"..i], "TOPRIGHT", -15, -1)
|
||||
f:Point("BOTTOMRIGHT", _G["RR_Rolled"..i], "BOTTOMLEFT", 45, -1)
|
||||
|
||||
local highlight = f:GetHighlightTexture()
|
||||
highlight:SetTexture(E.Media.Textures.Highlight)
|
||||
highlight:SetVertexColor(0.9, 0.9, 0.9, 0.35)
|
||||
end
|
||||
|
||||
if E.private.general.replaceBlizzFonts and GetLocale() ~= "zhCN" then
|
||||
local fontTemplate = RR_Roller1.FontTemplate
|
||||
local function updateFont(self, font, size, flag)
|
||||
self.SetFont = nil
|
||||
fontTemplate(self, nil, nil, flag)
|
||||
self.SetFont = updateFont
|
||||
end
|
||||
|
||||
for i = 1, 5 do
|
||||
_G["RR_Roller"..i].SetFont = updateFont
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("RaidRoll_LootTracker", "RaidRoll_LootTracker", function()
|
||||
if not E.private.addOnSkins.RaidRoll then return end
|
||||
|
||||
RR_LOOT_FRAME:SetTemplate("Transparent")
|
||||
|
||||
S:HandleSliderFrame(RaidRoll_Loot_Slider_ID)
|
||||
|
||||
S:HandleButton(RR_Loot_LinkLootButton)
|
||||
S:HandleButton(RR_Loot_ButtonClear)
|
||||
S:HandleButton(RR_Loot_ButtonFirst)
|
||||
S:HandleButton(RR_Loot_ButtonPrev)
|
||||
S:HandleButton(RR_Loot_ButtonNext)
|
||||
S:HandleButton(RR_Loot_ButtonLast)
|
||||
|
||||
for i = 1, 4 do
|
||||
_G["RR_Loot_Announce_1_Button_"..i]:Show()
|
||||
_G["RR_Loot_Announce_2_Button_"..i]:Show()
|
||||
_G["RR_Loot_Announce_3_Button_"..i]:Show()
|
||||
_G["RR_Loot_RaidRollButton_"..i]:Show()
|
||||
|
||||
S:HandleButton(_G["RR_Loot_Announce_1_Button_"..i])
|
||||
S:HandleButton(_G["RR_Loot_Announce_2_Button_"..i])
|
||||
S:HandleButton(_G["RR_Loot_Announce_3_Button_"..i])
|
||||
S:HandleButton(_G["RR_Loot_RaidRollButton_"..i])
|
||||
end
|
||||
|
||||
for i = 1, RR_LOOT_FRAME:GetNumChildren() do
|
||||
local child = select(i, RR_LOOT_FRAME:GetChildren())
|
||||
if child and child:IsObjectType("Button") and child:GetName() == "Close_Button" then
|
||||
S:HandleCloseButton(child)
|
||||
break
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,152 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Recount") then return end
|
||||
|
||||
|
||||
local _G = _G
|
||||
|
||||
-- Recount 4.0.1
|
||||
-- https://www.wowace.com/projects/recount/files/458517
|
||||
|
||||
S:AddCallbackForAddon("Recount", "Recount", function()
|
||||
if not E.private.addOnSkins.Recount then return end
|
||||
|
||||
local function skinFrame(frame)
|
||||
frame:SetTemplate("Transparent")
|
||||
|
||||
frame.Title:ClearAllPoints()
|
||||
frame.Title:Point("TOP", frame, "TOP", 0, -5)
|
||||
frame.Title:FontTemplate()
|
||||
frame.Title:SetTextColor(1, 0.82, 0, 1)
|
||||
|
||||
S:HandleCloseButton(frame.CloseButton)
|
||||
frame.CloseButton:ClearAllPoints()
|
||||
frame.CloseButton:Point("TOPRIGHT", frame, "TOPRIGHT", -2, -2)
|
||||
end
|
||||
|
||||
local function skinMainFrame(frame)
|
||||
frame:SetBackdrop(nil)
|
||||
|
||||
local backdrop = CreateFrame("Frame", nil, frame)
|
||||
backdrop:SetFrameLevel(frame:GetFrameLevel() - 1)
|
||||
backdrop:Point("BOTTOMLEFT", frame, E.PixelMode and 1 or 0, E.PixelMode and 1 or 0)
|
||||
backdrop:Point("TOPRIGHT", frame, E.PixelMode and -1 or 0, -(E.PixelMode and 31 or 30))
|
||||
backdrop:SetTemplate(E.db.addOnSkins.recountTemplate, E.db.addOnSkins.recountTemplate == "Default" and E.db.addOnSkins.recountTemplateGloss or false)
|
||||
frame.backdrop = backdrop
|
||||
|
||||
local header = CreateFrame("Frame", nil, backdrop)
|
||||
header:Height(22)
|
||||
header:Point("TOPLEFT", frame, E.PixelMode and 1 or 0, -(E.PixelMode and 8 or 7))
|
||||
header:Point("TOPRIGHT", frame, E.PixelMode and -1 or 0, 0)
|
||||
header:SetTemplate(E.db.addOnSkins.recountTitleTemplate, E.db.addOnSkins.recountTitleTemplate == "Default" and E.db.addOnSkins.recountTitleTemplateGloss or false)
|
||||
frame.header = header
|
||||
|
||||
frame.Title:ClearAllPoints()
|
||||
frame.Title:Point("LEFT", header, 6, 0)
|
||||
|
||||
S:HandleCloseButton(frame.CloseButton)
|
||||
frame.CloseButton:ClearAllPoints()
|
||||
frame.CloseButton:Point("RIGHT", header, -6, 0)
|
||||
frame.CloseButton.Texture:Size(10)
|
||||
|
||||
frame.RightButton:Size(18)
|
||||
frame.LeftButton:Size(18)
|
||||
S:HandleNextPrevButton(frame.RightButton, "right", nil, true)
|
||||
S:HandleNextPrevButton(frame.LeftButton, "left", nil, true)
|
||||
|
||||
Recount:SetupMainWindowButtons()
|
||||
|
||||
frame.DragBottomLeft:SetNormalTexture(nil)
|
||||
frame.DragBottomRight:SetNormalTexture(nil)
|
||||
end
|
||||
|
||||
hooksecurefunc(Recount, "AddWindow", function(self, window)
|
||||
if window:GetName() == "Recount_ReportWindow" then
|
||||
if Recount_ReportWindow.isSkinned then return end
|
||||
|
||||
skinFrame(Recount_ReportWindow)
|
||||
|
||||
Recount_ReportWindow.slider:Point("TOP", Recount_ReportWindow, 0, -45)
|
||||
Recount_ReportWindow.ReportTitle:Point("TOPLEFT", Recount_ReportWindow, 10, -75)
|
||||
Recount_ReportWindow.WhisperText:Point("BOTTOMLEFT", Recount_ReportWindow, 10, 37)
|
||||
|
||||
Recount_ReportWindow.ReportTitle:FontTemplate()
|
||||
Recount_ReportWindow.WhisperText:FontTemplate()
|
||||
|
||||
Recount_ReportWindow.Whisper:StripTextures(true)
|
||||
Recount_ReportWindow.Whisper:Height(16)
|
||||
|
||||
S:HandleSliderFrame(Recount_ReportWindow.slider)
|
||||
S:HandleEditBox(Recount_ReportWindow.Whisper)
|
||||
S:HandleButton(Recount_ReportWindow.ReportButton)
|
||||
|
||||
Recount_ReportWindow.isSkinned = true
|
||||
elseif window:GetName() == "Recount_ConfigWindow" then
|
||||
if Recount_ConfigWindow.isSkinned then return end
|
||||
|
||||
skinFrame(Recount_ConfigWindow)
|
||||
|
||||
S:HandleSliderFrame(Recount_ConfigWindow_Scaling_Slider)
|
||||
S:HandleSliderFrame(Recount_ConfigWindow_RowHeight_Slider)
|
||||
S:HandleSliderFrame(Recount_ConfigWindow_RowSpacing_Slider)
|
||||
|
||||
Recount_ConfigWindow.isSkinned = true
|
||||
end
|
||||
end)
|
||||
|
||||
skinMainFrame(Recount.MainWindow)
|
||||
skinFrame(Recount.DetailWindow)
|
||||
skinFrame(Recount.GraphWindow)
|
||||
|
||||
S:HandleScrollBar(Recount_MainWindow_ScrollBarScrollBar)
|
||||
|
||||
hooksecurefunc(Recount, "HideScrollbarElements", function(self, name)
|
||||
_G[name.."ScrollBar"].backdrop:Hide()
|
||||
_G[name.."ScrollBar"]:GetThumbTexture().backdrop:Hide()
|
||||
end)
|
||||
hooksecurefunc(Recount, "ShowScrollbarElements", function(self, name)
|
||||
_G[name.."ScrollBar"].backdrop:Show()
|
||||
_G[name.."ScrollBar"]:GetThumbTexture().backdrop:Show()
|
||||
end)
|
||||
|
||||
if Recount.db.profile.MainWindow.ShowScrollbar then
|
||||
Recount:ShowScrollbarElements("Recount_MainWindow_ScrollBar")
|
||||
else
|
||||
Recount:HideScrollbarElements("Recount_MainWindow_ScrollBar")
|
||||
end
|
||||
|
||||
local buttons = {
|
||||
Recount.MainWindow.CloseButton,
|
||||
Recount.MainWindow.RightButton,
|
||||
Recount.MainWindow.LeftButton,
|
||||
Recount.MainWindow.ResetButton,
|
||||
Recount.MainWindow.FileButton,
|
||||
Recount.MainWindow.ConfigButton,
|
||||
Recount.MainWindow.ReportButton,
|
||||
Recount_DetailWindow.LeftButton,
|
||||
Recount_DetailWindow.RightButton,
|
||||
Recount_DetailWindow.ReportButton,
|
||||
Recount_DetailWindow.SummaryButton
|
||||
}
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
if button:GetNormalTexture() then
|
||||
button:GetNormalTexture():SetDesaturated(true)
|
||||
end
|
||||
if button:GetPushedTexture() then
|
||||
button:GetPushedTexture():SetDesaturated(true)
|
||||
end
|
||||
if button:GetHighlightTexture() then
|
||||
button:GetHighlightTexture():SetDesaturated(true)
|
||||
end
|
||||
end
|
||||
|
||||
local RecountLocale = LibStub("AceLocale-3.0"):GetLocale("Recount")
|
||||
local function resetData(self) Recount:ResetData() self:GetParent():Hide() end
|
||||
|
||||
function Recount:ShowReset()
|
||||
AS:AcceptFrame(RecountLocale["Reset Recount?"], resetData)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,46 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("SexyCooldown") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
-- SexyCooldown 0.6.18
|
||||
-- https://www.wowace.com/projects/sexycooldown/files/424497
|
||||
|
||||
S:AddCallbackForAddon("SexyCooldown", "SexyCooldown", function()
|
||||
if not E.private.addOnSkins.SexyCooldown then return end
|
||||
|
||||
local function SkinSexyCooldownIcon(_, icon)
|
||||
icon:SetTemplate("Default")
|
||||
icon.overlay:SetTemplate("Default")
|
||||
icon.overlay.tex:SetInside()
|
||||
icon.tex:SetInside()
|
||||
icon.overlay.tex:SetTexCoord(unpack(E.TexCoords))
|
||||
icon.tex:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
local function SkinSexyCooldownBackdrop(bar)
|
||||
bar:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
local function HookBar(bar)
|
||||
if bar.hooked then return end
|
||||
|
||||
hooksecurefunc(bar, "UpdateSingleIconLook", SkinSexyCooldownIcon)
|
||||
hooksecurefunc(bar, "UpdateBarBackdrop", SkinSexyCooldownBackdrop)
|
||||
|
||||
bar:UpdateBarLook()
|
||||
|
||||
bar.hooked = true
|
||||
end
|
||||
|
||||
for _, bar in ipairs(SexyCooldown.bars) do
|
||||
HookBar(bar)
|
||||
end
|
||||
|
||||
hooksecurefunc(SexyCooldown, "CreateBar", function(self)
|
||||
HookBar(self.bars[#self.bars])
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,34 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("SilverDragon") then return end
|
||||
|
||||
-- SilverDragon 2.3.4-6
|
||||
-- https://www.curseforge.com/wow/addons/silver-dragon/files/455169
|
||||
|
||||
S:AddCallbackForAddon("SilverDragon", "SilverDragon", function()
|
||||
if not E.private.addOnSkins.SilverDragon then return end
|
||||
|
||||
local SilverDragon = LibStub("AceAddon-3.0"):GetAddon("SilverDragon", true)
|
||||
if not SilverDragon then return end
|
||||
|
||||
local ClickTarget = SilverDragon:GetModule("ClickTarget", true)
|
||||
if ClickTarget then
|
||||
ClickTarget.popup:SetParent(UIParent)
|
||||
|
||||
ClickTarget.popup:SetNormalTexture(nil)
|
||||
ClickTarget.popup:SetTemplate("Transparent")
|
||||
|
||||
ClickTarget.popup.close:ClearAllPoints()
|
||||
S:HandleCloseButton(ClickTarget.popup.close, ClickTarget.popup)
|
||||
|
||||
ClickTarget.popup:HookScript("OnEnter", S.SetModifiedBackdrop)
|
||||
ClickTarget.popup:HookScript("OnLeave", S.SetOriginalBackdrop)
|
||||
|
||||
ClickTarget.popup.details:SetTextColor(1, 1, 1)
|
||||
ClickTarget.popup.subtitle:SetTextColor(0.5, 0.5, 0.5)
|
||||
end
|
||||
|
||||
AS:SkinLibrary("LibQTip-1.0")
|
||||
end)
|
||||
@@ -0,0 +1,117 @@
|
||||
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)
|
||||
@@ -0,0 +1,211 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Skillet") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
local GetTradeSkillListLink = GetTradeSkillListLink
|
||||
|
||||
-- Skillet 1.13 r167
|
||||
-- https://www.wowace.com/projects/skillet/files/438510
|
||||
|
||||
S:AddCallbackForAddon("Skillet", "Skillet", function()
|
||||
if not E.private.addOnSkins.Skillet then return end
|
||||
|
||||
S:HandleCloseButton(SkilletFrameCloseButton, SkilletFrame)
|
||||
|
||||
S:HandleDropDownBox(SkilletSortDropdown)
|
||||
|
||||
S:HandleEditBox(SkilletFilterBox)
|
||||
|
||||
S:HandleCheckBox(SkilletHideUncraftableRecipes)
|
||||
SkilletHideUncraftableRecipes.backdrop:SetFrameLevel(SkilletHideUncraftableRecipes:GetFrameLevel())
|
||||
|
||||
S:HandleCheckBox(SkilletHideTrivialRecipes)
|
||||
SkilletHideTrivialRecipes.backdrop:SetFrameLevel(SkilletHideTrivialRecipes:GetFrameLevel())
|
||||
|
||||
SkilletRankFrameBorder:Hide()
|
||||
SkilletRankFrame:Point("TOPRIGHT", -9, -32)
|
||||
S:HandleStatusBar(SkilletRankFrame, {0.2, 0.2, 1})
|
||||
|
||||
S:HandleButton(SkilletRescanButton)
|
||||
S:HandleButton(SkilletShowOptionsButton)
|
||||
S:HandleButton(SkilletRecipeNotesButton)
|
||||
S:HandleButton(SkilletQueueAllButton)
|
||||
S:HandleButton(SkilletCreateAllButton)
|
||||
S:HandleButton(SkilletQueueButton)
|
||||
S:HandleButton(SkilletCreateButton)
|
||||
|
||||
S:HandleEditBox(SkilletItemCountInputBox)
|
||||
S:HandleSliderFrame(SkilletCreateCountSlider)
|
||||
|
||||
SkilletShowOptionsButton:Point("TOPRIGHT", SkilletRankFrame, "BOTTOMRIGHT", 1, -4)
|
||||
SkilletRescanButton:Point("RIGHT", SkilletShowOptionsButton, "LEFT", -3, 0)
|
||||
|
||||
SkilletSkillListParent:Point("TOPLEFT", 8, -100)
|
||||
SkilletSkillListParent:Point("BOTTOM", 0, 8)
|
||||
|
||||
S:HandleScrollBar(SkilletSkillListScrollBar)
|
||||
SkilletSkillListScrollBar:Point("TOPLEFT", SkilletSkillList, "TOPRIGHT", 7, -16)
|
||||
SkilletSkillListScrollBar:Point("BOTTOMLEFT", SkilletSkillList, "BOTTOMRIGHT", 7, 16)
|
||||
|
||||
SkilletReagentParent:Point("TOPRIGHT", -8, -75)
|
||||
|
||||
S:HandleScrollBar(SkilletQueueListScrollBar)
|
||||
SkilletQueueListScrollBar:Point("TOPLEFT", SkilletQueueList, "TOPRIGHT", 7, -16)
|
||||
SkilletQueueListScrollBar:Point("BOTTOMLEFT", SkilletQueueList, "BOTTOMRIGHT", 7, 16)
|
||||
|
||||
SkilletQueueParent:Point("BOTTOMRIGHT", -8, 31)
|
||||
|
||||
S:HandleScrollBar(SkilletNotesListScrollBar)
|
||||
SkilletNotesListScrollBar:Point("TOPLEFT", SkilletNotesList, "TOPRIGHT", 7, -16)
|
||||
SkilletNotesListScrollBar:Point("BOTTOMLEFT", SkilletNotesList, "BOTTOMRIGHT", 7, 16)
|
||||
|
||||
S:HandleButton(SkilletStartQueueButton)
|
||||
S:HandleButton(SkilletEmptyQueueButton)
|
||||
S:HandleButton(SkilletShoppingListButton)
|
||||
|
||||
SkilletEmptyQueueButton:ClearAllPoints()
|
||||
SkilletEmptyQueueButton:Point("LEFT", SkilletStartQueueButton, "RIGHT", 1, 0)
|
||||
SkilletEmptyQueueButton:Point("RIGHT", SkilletShoppingListButton, "LEFT", -1, 0)
|
||||
|
||||
E:GetModule("Tooltip"):SecureHookScript(SkilletTradeskillTooltip, "OnShow", "SetStyle")
|
||||
|
||||
S:SecureHook(Skillet, "CreateTradeSkillWindow", function(self)
|
||||
SkilletFrame:StripTextures()
|
||||
SkilletFrame:SetTemplate("Transparent")
|
||||
|
||||
SkilletSkillListParent:SetTemplate("Transparent")
|
||||
SkilletReagentParent:SetTemplate("Transparent")
|
||||
SkilletQueueParent:SetTemplate("Transparent")
|
||||
SkilletRecipeNotesFrame:SetTemplate("Transparent")
|
||||
|
||||
SkilletFrame_SizerSoutheast:Size(20)
|
||||
SkilletFrame_SizerSoutheast:SetScale(0.7)
|
||||
|
||||
S:Unhook(self, "CreateTradeSkillWindow")
|
||||
end)
|
||||
|
||||
local scrollButtons = 0
|
||||
hooksecurefunc(Skillet, "internal_UpdateTradeSkillWindow", function(self)
|
||||
if not self.currentTrade or self.currentTrade == "UNKNOWN" then return end
|
||||
|
||||
local i = scrollButtons + 1
|
||||
local button = _G["SkilletScrollButton"..i]
|
||||
while button do
|
||||
S:HandleCollapseExpandButton(button)
|
||||
i = i + 1
|
||||
button = _G["SkilletScrollButton"..i]
|
||||
end
|
||||
scrollButtons = i - 1
|
||||
end)
|
||||
|
||||
local deleteButtons = 0
|
||||
hooksecurefunc(Skillet, "UpdateQueueWindow", function(self)
|
||||
if not self.stitch:GetQueueInfo() then return end
|
||||
|
||||
local i = deleteButtons + 1
|
||||
local button = _G["SkilletQueueButton"..i.."DeleteButton"]
|
||||
while button do
|
||||
S:HandleButton(button)
|
||||
i = i + 1
|
||||
button = _G["SkilletQueueButton"..i.."DeleteButton"]
|
||||
end
|
||||
deleteButtons = i - 1
|
||||
end)
|
||||
|
||||
-- Fix TradeSkill Link
|
||||
SkilletTradeSkillLinkButton:SetScript("OnClick", function()
|
||||
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
|
||||
if not ChatFrameEditBox:IsShown() then
|
||||
ChatEdit_ActivateChat(ChatFrameEditBox)
|
||||
end
|
||||
|
||||
ChatFrameEditBox:Insert(GetTradeSkillListLink())
|
||||
end)
|
||||
|
||||
-- Notes Window
|
||||
S:HandleCloseButton(SkilletNotesCloseButton, SkilletRecipeNotesFrame)
|
||||
|
||||
for i = 1, 7 do
|
||||
local icon = _G["SkilletNotesButton"..i.."Icon"]
|
||||
icon:SetTemplate("Default")
|
||||
icon:SetNormalTexture("")
|
||||
icon:GetNormalTexture():SetInside()
|
||||
|
||||
local note = _G["SkilletNotesButton"..i.."Notes"]
|
||||
note:Point("TOPLEFT", 1, -25)
|
||||
note:Height(22)
|
||||
end
|
||||
|
||||
hooksecurefunc(Skillet, "UpdateNotesWindow", function()
|
||||
for i = 1, 7 do
|
||||
local icon = _G["SkilletNotesButton"..i.."Icon"]:GetNormalTexture()
|
||||
if icon then
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
S:SecureHook(Skillet, "RecipeNote_OnClick", function(self, button)
|
||||
for _, child in ipairs({button:GetChildren()}) do
|
||||
if child:GetObjectType() == "EditBox" then
|
||||
child:SetTemplate("Default")
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
S:Unhook(self, "RecipeNote_OnClick")
|
||||
end)
|
||||
|
||||
-- Shopping List
|
||||
S:SecureHook(Skillet, "internal_DisplayShoppingList", function(self)
|
||||
self.shoppingList:SetTemplate("Transparent")
|
||||
|
||||
local titlebar1, titlebar2 = self.shoppingList:GetRegions()
|
||||
titlebar1:SetDrawLayer("ARTWORK")
|
||||
titlebar2:SetDrawLayer("ARTWORK")
|
||||
|
||||
titlebar1:Point("TOPLEFT", self.frame, "TOPLEFT", 4, -4)
|
||||
titlebar1:Point("TOPRIGHT", self.frame, "TOPRIGHT", -4, -4)
|
||||
|
||||
S:HandleCloseButton(SkilletShoppingListCloseButton)
|
||||
SkilletShoppingListCloseButton:SetPoint("TOPRIGHT", 0, 0)
|
||||
|
||||
SkilletShoppingListParent:SetTemplate("Transparent")
|
||||
SkilletShoppingListParent:Point("TOPLEFT", 4, -33)
|
||||
SkilletShoppingListParent:Point("BOTTOMRIGHT", -4, 32)
|
||||
|
||||
S:HandleScrollBar(SkilletShoppingListListScrollBar)
|
||||
|
||||
SkilletShoppingListListScrollBar:Point("TOPLEFT", SkilletShoppingListList, "TOPRIGHT", 7, -16)
|
||||
SkilletShoppingListListScrollBar:Point("BOTTOMLEFT", SkilletShoppingListList, "BOTTOMRIGHT", 7, 16)
|
||||
|
||||
S:HandleCheckBox(SkilletShowQueuesFromAllAlts)
|
||||
|
||||
S:Unhook(self, "internal_DisplayShoppingList")
|
||||
end)
|
||||
|
||||
-- Merchant Popup
|
||||
SkilletMerchantBuyFrame:SetTemplate("Transparent")
|
||||
SkilletMerchantBuyFrame:Width(341)
|
||||
SkilletMerchantBuyFrame:Point("TOPLEFT", MerchantFrame, "TOPLEFT", 11, 37)
|
||||
SkilletMerchantBuyFrame.SetPoint = E.noop
|
||||
S:HandleButton(SkilletMerchantBuyFrameButton)
|
||||
|
||||
-- Inventory Information
|
||||
S:SecureHook(Skillet, "ShowInventoryInfoPopup", function()
|
||||
if SkilletInfoBoxFrame then
|
||||
SkilletInfoBoxFrame:SetTemplate("Transparent")
|
||||
S:HandleButton(SkilletInfoBoxFrameButton)
|
||||
end
|
||||
|
||||
S:Unhook(Skillet, "ShowInventoryInfoPopup")
|
||||
end)
|
||||
|
||||
AS:SkinLibrary("AceAddon-2.0")
|
||||
AS:SkinLibrary("Waterfall-1.0")
|
||||
end)
|
||||
@@ -0,0 +1,145 @@
|
||||
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)
|
||||
@@ -0,0 +1,62 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Stalker") then return end
|
||||
|
||||
-- Stalker 1.2
|
||||
-- https://wow.curseforge.com/projects/Stalker/files/442604
|
||||
|
||||
S:AddCallbackForAddon("Stalker", "Stalker", function()
|
||||
if not E.private.addOnSkins.Stalker then return end
|
||||
|
||||
Stalker_AlertWindow:StripTextures()
|
||||
Stalker_AlertWindow:SetTemplate("Transparent")
|
||||
Stalker_AlertWindow:Point("TOP", UIParent, "TOP", 0, -130)
|
||||
|
||||
Stalker.AlertWindow.Title:FontTemplate(nil, 12)
|
||||
Stalker.AlertWindow.Name:FontTemplate(nil, 12)
|
||||
Stalker.AlertWindow.Location:FontTemplate(nil, 12)
|
||||
|
||||
Stalker_MainWindow:StripTextures()
|
||||
Stalker_MainWindow:SetTemplate("Transparent")
|
||||
|
||||
for i = 1, 5 do
|
||||
local bar = _G["Stalker_MainWindow_Bar"..i]
|
||||
|
||||
bar:StyleButton()
|
||||
bar.StatusBar:SetStatusBarTexture(E["media"].normTex)
|
||||
bar.LeftText:FontTemplate(nil, 12)
|
||||
bar.RightText:FontTemplate(nil, 12)
|
||||
end
|
||||
|
||||
Stalker.MainWindow.Title:FontTemplate(nil, 12)
|
||||
|
||||
S:HandleCloseButton(Stalker_MainWindow.CloseButton)
|
||||
Stalker_MainWindow.CloseButton:Size(32)
|
||||
Stalker_MainWindow.CloseButton:Point("TOPRIGHT", 2, -6)
|
||||
|
||||
S:HandleNextPrevButton(Stalker_MainWindow.RightButton)
|
||||
S:SetNextPrevButtonDirection(Stalker_MainWindow.RightButton, "right")
|
||||
Stalker_MainWindow.RightButton:Size(16)
|
||||
Stalker_MainWindow.RightButton:Point("TOPRIGHT", -27, -14)
|
||||
|
||||
S:HandleNextPrevButton(Stalker_MainWindow.LeftButton)
|
||||
S:SetNextPrevButtonDirection(Stalker_MainWindow.LeftButton, "left")
|
||||
Stalker_MainWindow.LeftButton:Size(16)
|
||||
Stalker_MainWindow.LeftButton:Point("RIGHT", Stalker_MainWindow.RightButton, "LEFT", -3, 0)
|
||||
|
||||
S:HandleNextPrevButton(Stalker_MainWindow.ClearButton)
|
||||
S:SetNextPrevButtonDirection(Stalker_MainWindow.ClearButton, "down")
|
||||
Stalker_MainWindow.ClearButton:Size(16)
|
||||
Stalker_MainWindow.ClearButton:Point("RIGHT", Stalker_MainWindow.LeftButton, "LEFT", -3, 0)
|
||||
|
||||
Stalker_MainWindow.DragBottomLeft:SetNormalTexture(nil)
|
||||
Stalker_MainWindow.DragBottomRight:SetNormalTexture(nil)
|
||||
|
||||
hooksecurefunc(Stalker, "ShowMapTooltip", function()
|
||||
if Stalker.MapTooltip then
|
||||
Stalker.MapTooltip:SetTemplate("Transparent")
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,216 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("SuperDuperMacro") then return end
|
||||
|
||||
local _G = _G
|
||||
local ipairs = ipairs
|
||||
local unpack = unpack
|
||||
|
||||
-- SuperDuperMacro 1.8.3
|
||||
-- https://github.com/hypehuman/super-duper-macro/tree/d25b5fe50add9f03185bc09327144d450ffc85e4
|
||||
|
||||
S:AddCallbackForAddon("SuperDuperMacro", "SuperDuperMacro", function()
|
||||
if not E.private.addOnSkins.SuperDuperMacro then return end
|
||||
|
||||
local frames = {
|
||||
"sdm_mainFrame",
|
||||
"sdm_newFrame",
|
||||
"sdm_newFolderFrame",
|
||||
"sdm_sendReceiveFrame",
|
||||
}
|
||||
|
||||
local buttons = {
|
||||
"sdm_mainFrame_linkToMacroFrame",
|
||||
"sdm_mainFrame_aboutButton",
|
||||
"sdm_mainFrame_newButton",
|
||||
"sdm_mainFrame_sendReceiveButton",
|
||||
"sdm_mainFrame_newFolderButton",
|
||||
"sdm_mainFrame_changeIconButton",
|
||||
"sdm_mainFrame_getLinkButton",
|
||||
"sdm_mainFrame_deleteButton",
|
||||
"sdm_mainFrame_saveButton",
|
||||
|
||||
"sdm_newFrame_createButton",
|
||||
"sdm_newFrame_cancelButton",
|
||||
|
||||
"sdm_newFolderFrame_createButton",
|
||||
"sdm_newFolderFrame_cancelButton",
|
||||
|
||||
"sdm_sendReceiveFrame_sendButton",
|
||||
"sdm_sendReceiveFrame_cancelSendButton",
|
||||
"sdm_sendReceiveFrame_receiveButton",
|
||||
"sdm_sendReceiveFrame_cancelReceiveButton",
|
||||
}
|
||||
|
||||
local editBoxes = {
|
||||
"sdm_newFrame_input",
|
||||
|
||||
"sdm_sendReceiveFrame_sendInput",
|
||||
"sdm_sendReceiveFrame_receiveInput",
|
||||
"sdm_sendReceiveFrame_receiveInput",
|
||||
|
||||
"sdm_newFolderFrame_input",
|
||||
|
||||
"sdm_changeIconFrame_input",
|
||||
}
|
||||
|
||||
for _, frame in ipairs(frames) do
|
||||
frame = _G[frame]
|
||||
frame:StripTextures()
|
||||
frame:SetTemplate("Transparent")
|
||||
end
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(_G[button])
|
||||
end
|
||||
|
||||
for _, editBox in ipairs(editBoxes) do
|
||||
S:HandleEditBox(_G[editBox])
|
||||
end
|
||||
|
||||
-- mainFrame
|
||||
sdm_mainFrame:Size(670, 424)
|
||||
sdm_mainFrame:SetClampedToScreen(true)
|
||||
sdm_mainFrame:HookScript("OnShow", function(self)
|
||||
self:Point("TOPLEFT", UIParent, "TOPLEFT", 11, -116)
|
||||
end)
|
||||
|
||||
S:HandleCloseButton(sdm_mainFrame_quitButton, sdm_mainFrame)
|
||||
|
||||
sdm_mainFrameTitle:Point("TOP", 0, -4)
|
||||
|
||||
sdm_mainFrame_linkToMacroFrame:Point("TOPLEFT", 8, -8)
|
||||
|
||||
sdm_mainFrame_newButton:Point("TOPLEFT", 84, -30)
|
||||
sdm_mainFrame_sendReceiveButton:Point("TOPLEFT", sdm_mainFrame_newButton, "TOPRIGHT", 3, 0)
|
||||
|
||||
S:HandleDropDownBox(sdm_mainFrame_charFilterDropdown)
|
||||
sdm_mainFrame_charFilterDropdown:Point("BOTTOMRIGHT", sdm_mainFrame_macrosScroll, "TOPRIGHT", 30, -5)
|
||||
S:HandleDropDownBox(sdm_mainFrame_typeFilterDropdown)
|
||||
sdm_mainFrame_typeFilterDropdown:Point("RIGHT", sdm_mainFrame_charFilterDropdown, "LEFT", 25, 0)
|
||||
|
||||
sdm_mainFrame_collapseAllButton:SetNormalTexture(E.Media.Textures.Minus)
|
||||
sdm_mainFrame_collapseAllButton:SetCheckedTexture(E.Media.Textures.Plus)
|
||||
sdm_mainFrame_collapseAllButton:Point("BOTTOMLEFT", sdm_mainFrame_macrosScroll, "TOPLEFT", 5, 3)
|
||||
|
||||
sdm_mainFrame_macrosScroll:Size(256, 306)
|
||||
sdm_mainFrame_macrosScroll:Point("BOTTOMLEFT", 9, 39)
|
||||
|
||||
sdm_mainFrame_listBackground:SetTemplate("Transparent")
|
||||
sdm_mainFrame_listBackground:Size(258, 309)
|
||||
sdm_mainFrame_listBackground:Point("TOPRIGHT", sdm_mainFrame_macrosScroll, "TOPRIGHT", 1, 1)
|
||||
|
||||
S:HandleScrollBar(sdm_mainFrame_macrosScrollScrollBar)
|
||||
sdm_mainFrame_macrosScrollScrollBar:Point("TOPLEFT", sdm_mainFrame_macrosScroll, "TOPRIGHT", 4, -18)
|
||||
sdm_mainFrame_macrosScrollScrollBar:Point("BOTTOMLEFT", sdm_mainFrame_macrosScroll, "BOTTOMRIGHT", 4, 17)
|
||||
|
||||
sdm_mainFrame_editScrollFrame:Size(347, 353)
|
||||
sdm_mainFrame_editScrollFrame:Point("BOTTOMRIGHT", -30, 39)
|
||||
|
||||
sdm_mainFrame_editBackground:SetTemplate("Transparent")
|
||||
sdm_mainFrame_editBackground:Size(349, 357)
|
||||
sdm_mainFrame_editBackground:Point("TOPRIGHT", sdm_mainFrame_editScrollFrame, "TOPRIGHT", 1, 2)
|
||||
|
||||
sdm_mainFrame_editScrollFrame_text:Width(346)
|
||||
|
||||
S:HandleScrollBar(sdm_mainFrame_editScrollFrameScrollBar)
|
||||
sdm_mainFrame_editScrollFrameScrollBar:Point("TOPLEFT", sdm_mainFrame_editScrollFrame, "TOPRIGHT", 4, -17)
|
||||
sdm_mainFrame_editScrollFrameScrollBar:Point("BOTTOMLEFT", sdm_mainFrame_editScrollFrame, "BOTTOMRIGHT", 4, 17)
|
||||
|
||||
sdm_mainFrame_saveButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
sdm_mainFrame_deleteButton:Point("RIGHT", sdm_mainFrame_saveButton, "LEFT", -3, 0)
|
||||
sdm_mainFrame_getLinkButton:Point("RIGHT", sdm_mainFrame_deleteButton, "LEFT", -3, 0)
|
||||
|
||||
sdm_mainFrame_changeIconButton:Width(144)
|
||||
sdm_mainFrame_changeIconButton:Point("RIGHT", sdm_mainFrame_getLinkButton, "LEFT", -3, 0)
|
||||
|
||||
sdm_mainFrame_newFolderButton:Point("RIGHT", sdm_mainFrame_getLinkButton, "LEFT", -308, 0)
|
||||
|
||||
S:HandleSliderFrame(sdm_mainFrame_iconSizeSlider)
|
||||
sdm_mainFrame_iconSizeSlider:Width(155)
|
||||
sdm_mainFrame_iconSizeSlider:Point("BOTTOMLEFT", 111, 13)
|
||||
|
||||
local function collapseSetTexture(self, texture)
|
||||
if texture == "Interface\\Buttons\\UI-PlusButton-UP" then
|
||||
self:_SetTexture(E.Media.Textures.Plus)
|
||||
else
|
||||
self:_SetTexture(E.Media.Textures.Minus)
|
||||
end
|
||||
end
|
||||
|
||||
hooksecurefunc("sdm_UpdateList", function()
|
||||
if not sdm_mainFrame:IsShown() then return end
|
||||
|
||||
for _, button in ipairs(sdm_listItems) do
|
||||
if not button.isSkinned then
|
||||
button.highlight:SetTexture(E.Media.Textures.Highlight)
|
||||
|
||||
if button.isContainerFrame then
|
||||
button.icon._SetTexture = button.icon.SetTexture
|
||||
button.icon.SetTexture = collapseSetTexture
|
||||
button.icon:SetTexture(button.icon:GetTexture())
|
||||
else
|
||||
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
|
||||
button.buttonHighlight:SetTexture(1, 1, 1, 0.3)
|
||||
button.buttonHighlight.SetTexture = E.noop
|
||||
|
||||
button.slotIcon:Hide()
|
||||
end
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- newFrame
|
||||
sdm_newFrame_input:Height(20)
|
||||
|
||||
sdm_newFrame_createButton:Point("TOPLEFT", sdm_newFrame_input, "BOTTOMLEFT", -1, -8)
|
||||
sdm_newFrame_cancelButton:Point("LEFT", sdm_newFrame_createButton, "RIGHT", 7, 0)
|
||||
|
||||
hooksecurefunc("sdm_DefaultMacroFrameLoaded", function()
|
||||
MacroFrame_linkToSDM:Point("TOPLEFT", 19, -20)
|
||||
S:HandleButton(MacroFrame_linkToSDM)
|
||||
|
||||
S:HandleCheckBox(MacroPopupFrame_buttonTextCheckBox)
|
||||
|
||||
S:HandleButton(MacroPopupFrame_sdmOkayButton)
|
||||
S:HandleButton(MacroPopupFrame_sdmCancelButton)
|
||||
end)
|
||||
|
||||
-- newFolderFrame
|
||||
sdm_newFolderFrame_input:Height(20)
|
||||
|
||||
sdm_newFolderFrame_createButton:Point("TOPLEFT", sdm_newFolderFrame_input, "BOTTOMLEFT", -1, -8)
|
||||
sdm_newFolderFrame_cancelButton:Point("LEFT", sdm_newFolderFrame_createButton, "RIGHT", 7, 0)
|
||||
|
||||
-- sendReceiveFrame
|
||||
sdm_sendReceiveFrame:Point("LEFT", sdm_mainFrame, "RIGHT", -1, 62)
|
||||
|
||||
S:HandleCloseButton(sdm_sendReceiveFrame_quitButton, sdm_sendReceiveFrame)
|
||||
|
||||
sdm_sendReceiveFrame_sendInput:Height(20)
|
||||
sdm_sendReceiveFrame_receiveInput:Height(20)
|
||||
|
||||
sdm_sendReceiveFrame_sendBar:SetBackdrop(nil)
|
||||
S:HandleStatusBar(sdm_sendReceiveFrame_sendBar_statusBar)
|
||||
|
||||
sdm_sendReceiveFrame_receiveBar:SetBackdrop(nil)
|
||||
S:HandleStatusBar(sdm_sendReceiveFrame_receiveBar_statusBar)
|
||||
|
||||
-- changeIconFrame
|
||||
sdm_changeIconFrame:StripTextures()
|
||||
sdm_changeIconFrame:SetTemplate("Default")
|
||||
sdm_changeIconFrame:EnableMouse(true)
|
||||
sdm_changeIconFrame:Size(296, 357)
|
||||
sdm_changeIconFrame:Point("CENTER", 107, 4)
|
||||
|
||||
sdm_changeIconFrame_input:Height(20)
|
||||
|
||||
hooksecurefunc("sdm_OnShow_changeIconFrame", function(f)
|
||||
MacroPopupFrame:Point("BOTTOM", -4, 1)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,30 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("!Swatter") then return end
|
||||
|
||||
-- Swatter 5.8.4723
|
||||
|
||||
S:AddCallbackForAddon("!Swatter", "!Swatter", function()
|
||||
if not E.private.addOnSkins.Swatter then return end
|
||||
if not (Swatter and Swatter.Error) then return end
|
||||
|
||||
Swatter.Error:SetTemplate("Transparent")
|
||||
|
||||
Swatter.Error.Scroll:CreateBackdrop("Transparent")
|
||||
Swatter.Error.Scroll:Point("TOPLEFT", Swatter.Error, "TOPLEFT", 9, -18)
|
||||
Swatter.Error.Scroll:Point("BOTTOM", Swatter.Error.Done, "TOP", 0, 8)
|
||||
|
||||
Swatter.Error.Box:Width(461)
|
||||
|
||||
S:HandleScrollBar(SwatterErrorInputScrollScrollBar)
|
||||
SwatterErrorInputScrollScrollBar:Point("TOPLEFT", SwatterErrorInputScroll, "TOPRIGHT", 4, -18)
|
||||
SwatterErrorInputScrollScrollBar:Point("BOTTOMLEFT", SwatterErrorInputScroll, "BOTTOMRIGHT", 4, 18)
|
||||
|
||||
S:HandleButton(Swatter.Error.Prev)
|
||||
S:HandleButton(Swatter.Error.Next)
|
||||
S:HandleButton(Swatter.Error.Done)
|
||||
|
||||
Swatter.Error.Done:Point("BOTTOMRIGHT", Swatter.Error, "BOTTOMRIGHT", -8, 8)
|
||||
end)
|
||||
@@ -0,0 +1,196 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("Talented") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
-- Talented r660
|
||||
|
||||
S:AddCallbackForAddon("Talented", "Talented", function()
|
||||
if not E.private.addOnSkins.Talented then return end
|
||||
|
||||
local function SkinButton(button)
|
||||
S:HandleButton(button, true)
|
||||
button.left:Kill()
|
||||
button.middle:Kill()
|
||||
button.right:Kill()
|
||||
end
|
||||
|
||||
S:SecureHook(Talented, "CreateBaseFrame", function()
|
||||
TalentedFrame:StripTextures()
|
||||
TalentedFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(TalentedFrame.close, TalentedFrame)
|
||||
|
||||
SkinButton(TalentedFrame.bactions)
|
||||
SkinButton(TalentedFrame.bmode)
|
||||
SkinButton(TalentedFrame.bglyphs)
|
||||
SkinButton(TalentedFrame.bactivate)
|
||||
|
||||
TalentedFrame.bactivate:Point("BOTTOM", TalentedFrame, 0, 3)
|
||||
|
||||
TalentedFrame.editname:Height(18)
|
||||
TalentedFrame.editname:DisableDrawLayer("BACKGROUND")
|
||||
S:HandleEditBox(TalentedFrame.editname)
|
||||
|
||||
S:HandleCheckBox(TalentedFrame.checkbox)
|
||||
|
||||
S:Unhook(Talented, "CreateBaseFrame")
|
||||
end)
|
||||
|
||||
S:RawHook(Talented, "MakeButton", function(self, parent)
|
||||
local button = S.hooks[self].MakeButton(self, parent)
|
||||
|
||||
if not button.isSkinned then
|
||||
button:SetTemplate("Default")
|
||||
button:StyleButton()
|
||||
|
||||
button:DisableDrawLayer("BACKGROUND")
|
||||
button:SetNormalTexture(nil)
|
||||
button.SetNormalTexture = E.noop
|
||||
|
||||
button.texture:SetInside(button)
|
||||
button.texture:SetTexCoord(unpack(E.TexCoords))
|
||||
button.texture:SetDrawLayer("ARTWORK")
|
||||
|
||||
button.rank:SetFont(E.LSM:Fetch("font", E.db["general"].font), 12, "OUTLINE")
|
||||
button.rank:Point("CENTER", button, "BOTTOMRIGHT", 2, 0)
|
||||
button.rank.texture:Kill()
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
|
||||
return button
|
||||
end)
|
||||
|
||||
S:RawHook(Talented, "GetButtonTarget", function(self, button)
|
||||
local target = S.hooks[self].GetButtonTarget(self, button)
|
||||
|
||||
if not target.isSkinned then
|
||||
target:SetFont(E.LSM:Fetch("font", E.db["general"].font), 12, "OUTLINE")
|
||||
target:Point("CENTER", button, "TOPRIGHT", 2, 0)
|
||||
target.texture:Kill()
|
||||
|
||||
target.isSkinned = true
|
||||
end
|
||||
|
||||
return target
|
||||
end)
|
||||
|
||||
S:RawHook(Talented, "MakeTalentFrame", function(self, parent, width, height)
|
||||
local tree = S.hooks[self].MakeTalentFrame(self, parent, width, height)
|
||||
|
||||
if not tree.isSkinned then
|
||||
tree.clear:GetNormalTexture():SetDesaturated(true)
|
||||
tree.clear:GetPushedTexture():SetDesaturated(true)
|
||||
tree.clear:GetHighlightTexture():SetDesaturated(true)
|
||||
|
||||
tree.isSkinned = true
|
||||
end
|
||||
|
||||
return tree
|
||||
end)
|
||||
|
||||
AS:SkinLibrary("Dewdrop-2.0")
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("Talented_GlyphFrame", "Talented_GlyphFrame", function()
|
||||
if not E.private.addOnSkins.Talented then return end
|
||||
|
||||
TalentedGlyphs:CreateBackdrop("Transparent")
|
||||
TalentedGlyphs.backdrop:Point("TOPLEFT", 11, -12)
|
||||
TalentedGlyphs.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
TalentedGlyphs:SetHitRectInsets(0, 0, 0, 0)
|
||||
|
||||
S:SetBackdropHitRect(TalentedGlyphs, TalentedGlyphs.backdrop, true)
|
||||
|
||||
S:HandleCloseButton(TalentedGlyphs.close)
|
||||
|
||||
TalentedGlyphs.title:Point("TOP", 0, -15)
|
||||
|
||||
TalentedGlyphs.portrait:Hide()
|
||||
|
||||
TalentedGlyphs.background:SetDrawLayer("ARTWORK")
|
||||
TalentedGlyphs.background:Size(323, 349)
|
||||
TalentedGlyphs.background:Point("TOPLEFT", 20, -59)
|
||||
TalentedGlyphs.background:CreateBackdrop()
|
||||
|
||||
|
||||
TalentedGlyphs.glow:SetDrawLayer("OVERLAY")
|
||||
TalentedGlyphs.glow:SetAllPoints(TalentedGlyphs.background)
|
||||
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 512, 512, 315, 340, 21, 72
|
||||
TalentedGlyphs.background:SetTexCoord(0.041015625, 0.65625, 0.140625, 0.8046875)
|
||||
|
||||
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 512, 512, 315, 340, 30, 34
|
||||
TalentedGlyphs.glow:SetTexCoord(0.05859375, 0.673828125, 0.06640625, 0.73046875)
|
||||
|
||||
local glyphBGScale = 1.0253968
|
||||
local glyphPositions = {
|
||||
{"CENTER", -1, 126},
|
||||
{"CENTER", -1, -119},
|
||||
{"TOPLEFT", 8, -62},
|
||||
{"BOTTOMRIGHT", -10, 70},
|
||||
{"TOPRIGHT", -8, -62},
|
||||
{"BOTTOMLEFT", 7, 70}
|
||||
}
|
||||
|
||||
local slotAnimations = {}
|
||||
local TOPLEFT, TOP, TOPRIGHT, BOTTOMRIGHT, BOTTOM, BOTTOMLEFT = 3, 1, 5, 4, 2, 6
|
||||
slotAnimations[TOPLEFT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -85, ["yStart"] = 17, ["yStop"] = 60}
|
||||
slotAnimations[TOP] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -13, ["yStart"] = 17, ["yStop"] = 100}
|
||||
slotAnimations[TOPRIGHT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = 59, ["yStart"] = 17, ["yStop"] = 60}
|
||||
slotAnimations[BOTTOM] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -13, ["yStart"] = 17, ["yStop"] = -64}
|
||||
slotAnimations[BOTTOMLEFT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = -87, ["yStart"] = 18, ["yStop"] = -27}
|
||||
slotAnimations[BOTTOMRIGHT] = {["point"] = "CENTER", ["xStart"] = -13, ["xStop"] = 61, ["yStart"] = 18, ["yStop"] = -27}
|
||||
|
||||
for _, animData in ipairs(slotAnimations) do
|
||||
animData.xStart = animData.xStart + 3
|
||||
animData.yStart = animData.yStart + 8
|
||||
animData.xStop = (animData.xStop + 3) * glyphBGScale
|
||||
animData.yStop = (animData.yStop + 8) * glyphBGScale
|
||||
end
|
||||
|
||||
local glyphFrameLevel = TalentedGlyphs:GetFrameLevel() + 1
|
||||
|
||||
for glyphID, glyph in ipairs(TalentedGlyphs.glyphs) do
|
||||
glyph:SetFrameLevel(glyphFrameLevel)
|
||||
glyph:Size(90)
|
||||
glyph:SetScale(glyphBGScale)
|
||||
local point, x, y = unpack(glyphPositions[glyphID])
|
||||
glyph:Point(point, TalentedGlyphs.background.backdrop, x, y)
|
||||
|
||||
local animation = slotAnimations[glyphID]
|
||||
glyph.sparkle:SetDrawLayer("OVERLAY")
|
||||
glyph.sparkle:Point(animation.point, animation.xStart, animation.yStart)
|
||||
glyph.sparkle.anim.translation:SetOffset(animation.xStop - animation.xStart, animation.yStop - animation.yStart)
|
||||
end
|
||||
|
||||
S:HandleCheckBox(TalentedGlyphs.checkbox)
|
||||
TalentedGlyphs.checkbox:Point("BOTTOMLEFT", 15, 80)
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("Talented_SpecTabs", "Talented_SpecTabs", function()
|
||||
if not E.private.addOnSkins.Talented then return end
|
||||
|
||||
local function skinTabs()
|
||||
Talented.tabs:Point("TOPLEFT", TalentedFrame, "TOPRIGHT", -1, -40)
|
||||
|
||||
for _, tab in ipairs({"spec1", "spec2", "petspec1"}) do
|
||||
tab = Talented.tabs[tab]
|
||||
tab:SetTemplate("Default")
|
||||
tab:StyleButton()
|
||||
tab:DisableDrawLayer("BACKGROUND")
|
||||
tab:GetNormalTexture():SetInside(tab.backdrop)
|
||||
tab:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
|
||||
if Talented.base then
|
||||
skinTabs()
|
||||
else
|
||||
hooksecurefunc(Talented, "CreateBaseFrame", skinTabs)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,89 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TellMeWhen") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- TellMeWhen 1.2.5b1
|
||||
-- https://www.curseforge.com/wow/addons/tellmewhen/files/448968
|
||||
|
||||
S:AddCallbackForAddon("TellMeWhen", "TellMeWhen", function()
|
||||
if not E.private.addOnSkins.TellMeWhen then return end
|
||||
|
||||
TELLMEWHEN_ICONSPACING = E.Border
|
||||
|
||||
if TELLMEWHEN_VERSION == "1.2.4" then
|
||||
hooksecurefunc("TellMeWhen_Group_Update", function(groupID)
|
||||
local group = TellMeWhen_Settings.Groups[groupID]
|
||||
if not group.Enabled then return end
|
||||
|
||||
local currentSpec = TellmeWhen_GetActiveTalentGroup()
|
||||
|
||||
if (currentSpec == 1 and not group.PrimarySpec)
|
||||
or (currentSpec == 2 and not group.SecondarySpec)
|
||||
then
|
||||
return
|
||||
end
|
||||
|
||||
local groupName = "TellMeWhen_Group" .. groupID
|
||||
|
||||
for row = 1, group.Rows do
|
||||
for column = 1, group.Columns do
|
||||
local iconID = (row - 1) * group.Columns + column
|
||||
local iconName = groupName .. "_Icon" .. iconID
|
||||
local icon = _G[iconName]
|
||||
|
||||
if icon and not icon.isSkinned then
|
||||
icon:SetTemplate("Default")
|
||||
|
||||
icon:GetRegions():SetTexture(nil)
|
||||
|
||||
_G[iconName .. "Texture"]:SetTexCoord(unpack(E.TexCoords))
|
||||
_G[iconName .. "Texture"]:SetInside()
|
||||
|
||||
_G[iconName .. "Count"]:FontTemplate()
|
||||
|
||||
_G[iconName .. "Highlight"]:SetTexture(1, 1, 1, 0.3)
|
||||
_G[iconName .. "Highlight"]:SetInside()
|
||||
|
||||
E:RegisterCooldown(_G[iconName .. "Cooldown"])
|
||||
|
||||
icon.isSkinned = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
else
|
||||
hooksecurefunc("TellMeWhen_Group_Update", function(groupID)
|
||||
local group = _G["TellMeWhen_Group" .. groupID]
|
||||
if not group.Enabled then return end
|
||||
|
||||
for row = 1, group.Rows do
|
||||
for column = 1, group.Columns do
|
||||
local iconID = (row - 1) * group.Columns + column
|
||||
local iconName = group.groupName .. "_Icon" .. iconID
|
||||
local icon = _G[iconName]
|
||||
|
||||
if icon and not icon.isSkinned then
|
||||
_G[iconName]:StyleButton()
|
||||
icon:SetTemplate("Default")
|
||||
|
||||
icon:GetRegions():SetTexture(nil)
|
||||
|
||||
_G[iconName .. "Icon"]:SetTexCoord(unpack(E.TexCoords))
|
||||
_G[iconName .. "Icon"]:SetInside()
|
||||
|
||||
_G[iconName .. "Count"]:FontTemplate()
|
||||
|
||||
E:RegisterCooldown(_G[iconName .. "Cooldown"])
|
||||
|
||||
icon.isSkinned = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,38 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TinyPad") then return end
|
||||
|
||||
local unpack = unpack
|
||||
|
||||
-- TinyPad 1.6.2
|
||||
|
||||
S:AddCallbackForAddon("TinyPad", "TinyPad", function()
|
||||
if not E.private.addOnSkins.TinyPad then return end
|
||||
|
||||
TinyPadFrame:StripTextures()
|
||||
TinyPadFrame:SetTemplate("Transparent")
|
||||
|
||||
TinyPadEditFrame:SetBackdrop(nil)
|
||||
TinyPadEditFrame:CreateBackdrop("Default")
|
||||
TinyPadEditFrame.backdrop:Point("TOPLEFT", 0, -8)
|
||||
TinyPadEditFrame.backdrop:Point("BOTTOMRIGHT", 0, 4)
|
||||
|
||||
TinyPadSearchFrame:SetTemplate("Transparent")
|
||||
TinyPadSearchFrame:Point("BOTTOMRIGHT", TinyPadFrame, "TOPRIGHT", 0, -1)
|
||||
|
||||
TinyPadEditScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(TinyPadEditScrollFrameScrollBar)
|
||||
TinyPadEditScrollFrameScrollBar:Point("TOPLEFT", TinyPadEditScrollFrame, "TOPRIGHT", 6, -17)
|
||||
TinyPadEditScrollFrameScrollBar:Point("BOTTOMLEFT", TinyPadEditScrollFrame, "BOTTOMRIGHT", 6, 17)
|
||||
|
||||
select(8, TinyPadSearchEditBox:GetRegions()):Hide()
|
||||
S:HandleEditBox(TinyPadSearchEditBox)
|
||||
|
||||
hooksecurefunc(TinyPad, "UpdateLock", function()
|
||||
local r, g, b = unpack(E.media.bordercolor)
|
||||
TinyPadFrame:SetBackdropBorderColor(r, g, b, 1)
|
||||
TinyPadSearchFrame:SetBackdropBorderColor(r, g, b, 1)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,119 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TipTac") then return end
|
||||
|
||||
-- TipTac 10.05.01
|
||||
-- https://www.curseforge.com/wow/addons/tip-tac/files/427096
|
||||
|
||||
S:AddCallbackForAddon("TipTac", "TipTac", function()
|
||||
if not E.private.addOnSkins.TipTac then return end
|
||||
|
||||
if not TipTac_Config then
|
||||
TipTac_Config = {}
|
||||
end
|
||||
|
||||
TipTac_Config.barTexture = E.media.normTex
|
||||
TipTac_Config.tipBackdropEdge = E.media.blankTex
|
||||
TipTac_Config.tipBackdropBG = E.media.blankTex
|
||||
TipTac_Config.backdropEdgeSize = E.mult
|
||||
TipTac_Config.tipColor = CopyTable(E.media.backdropfadecolor)
|
||||
TipTac_Config.tipBorderColor = CopyTable(E.media.bordercolor)
|
||||
TipTac_Config.gradientTip = false
|
||||
TipTac_Config.backdropInsets = E.mult
|
||||
|
||||
if not TipTac.VARIABLES_LOADED then
|
||||
TipTac:ApplySettings()
|
||||
end
|
||||
|
||||
-- Anchor frame
|
||||
TipTac:SetTemplate()
|
||||
S:HandleCloseButton(TipTac.close)
|
||||
|
||||
local tooltips = {
|
||||
"AutoCompleteBox",
|
||||
"BNToastFrame",
|
||||
"DropDownList1MenuBackdrop",
|
||||
"DropDownList2MenuBackdrop",
|
||||
"DropDownList3MenuBackdrop",
|
||||
"FriendsTooltip",
|
||||
}
|
||||
|
||||
for _, frame in ipairs(tooltips) do
|
||||
frame = _G[frame]
|
||||
if frame then
|
||||
frame:SetTemplate("Transparent")
|
||||
end
|
||||
end
|
||||
|
||||
local TT = E:GetModule("Tooltip")
|
||||
local skinEnabled = E.private.skins.blizzard.enable and E.private.skins.blizzard.tooltip
|
||||
|
||||
if not skinEnabled then
|
||||
S:HandleCloseButton(ItemRefCloseButton)
|
||||
end
|
||||
|
||||
if skinEnabled and TT:IsHooked(GameTooltip, "OnShow") then
|
||||
local elvTooltips = {
|
||||
GameTooltip,
|
||||
ItemRefTooltip,
|
||||
ItemRefShoppingTooltip1,
|
||||
ItemRefShoppingTooltip2,
|
||||
ItemRefShoppingTooltip3,
|
||||
AutoCompleteBox,
|
||||
FriendsTooltip,
|
||||
ConsolidatedBuffsTooltip,
|
||||
ShoppingTooltip1,
|
||||
ShoppingTooltip2,
|
||||
ShoppingTooltip3,
|
||||
WorldMapTooltip,
|
||||
WorldMapCompareTooltip1,
|
||||
WorldMapCompareTooltip2,
|
||||
WorldMapCompareTooltip3
|
||||
}
|
||||
|
||||
for _, tt in ipairs(elvTooltips) do
|
||||
if TT:IsHooked(tt, "OnShow") then
|
||||
TT:Unhook(tt, "OnShow", "SetStyle")
|
||||
end
|
||||
end
|
||||
else
|
||||
if skinEnabled then
|
||||
E.callbacks.events["SkinTooltip"] = nil
|
||||
end
|
||||
|
||||
local function GameTooltip_ShowStatusBar_Skinned(tt, ...)
|
||||
local statusBar = _G[tt:GetName().."StatusBar"..tt.shownStatusBars]
|
||||
if statusBar and not statusBar.skinned then
|
||||
statusBar:StripTextures()
|
||||
statusBar:CreateBackdrop("Default")
|
||||
statusBar:SetStatusBarTexture(E.media.normTex)
|
||||
E:RegisterStatusBar(statusBar)
|
||||
statusBar.skinned = true
|
||||
end
|
||||
end
|
||||
|
||||
S:SecureHook("GameTooltip_ShowStatusBar", GameTooltip_ShowStatusBar_Skinned)
|
||||
end
|
||||
end)
|
||||
|
||||
S:AddCallbackForAddon("TipTacOptions", "TipTacOptions", function()
|
||||
if not E.private.addOnSkins.TipTac then return end
|
||||
|
||||
TipTacOptions:StripTextures()
|
||||
TipTacOptions:SetTemplate("Transparent")
|
||||
TipTacOptions.outline:SetTemplate("Transparent")
|
||||
|
||||
local buttons = {
|
||||
"btnAnchor",
|
||||
"btnReset",
|
||||
"btnClose",
|
||||
}
|
||||
|
||||
for _, button in ipairs(buttons) do
|
||||
S:HandleButton(TipTacOptions[button])
|
||||
end
|
||||
|
||||
AS:SkinLibrary("AzOptionsFactory")
|
||||
end)
|
||||
@@ -0,0 +1,104 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TotemTimers") then return end
|
||||
|
||||
local _G = _G
|
||||
local pairs, ipairs = pairs, ipairs
|
||||
local unpack = unpack
|
||||
|
||||
-- TotemTimers 10.2.4
|
||||
-- https://www.curseforge.com/wow/addons/totemtimers/files/454307
|
||||
|
||||
S:AddCallbackForAddon("TotemTimers", "TotemTimers", function()
|
||||
if not E.private.addOnSkins.TotemTimers then return end
|
||||
if E.myclass ~= "SHAMAN" then return end
|
||||
|
||||
local SLOT_EMPTY_TCOORDS = {
|
||||
[EARTH_TOTEM_SLOT] = {
|
||||
left = 66 / 128,
|
||||
right = 96 / 128,
|
||||
top = 3 / 256,
|
||||
bottom = 33 / 256
|
||||
},
|
||||
[FIRE_TOTEM_SLOT] = {
|
||||
left = 67 / 128,
|
||||
right = 97 / 128,
|
||||
top = 100 / 256,
|
||||
bottom = 130 / 256
|
||||
},
|
||||
[WATER_TOTEM_SLOT] = {
|
||||
left = 39 / 128,
|
||||
right = 69 / 128,
|
||||
top = 209 / 256,
|
||||
bottom = 239 / 256
|
||||
},
|
||||
[AIR_TOTEM_SLOT] = {
|
||||
left = 66 / 128,
|
||||
right = 96 / 128,
|
||||
top = 36 / 256,
|
||||
bottom = 66 / 256
|
||||
}
|
||||
}
|
||||
|
||||
S:SecureHook("TotemTimers_SetupGlobals", function()
|
||||
for i, f in pairs(TTActionBars.bars) do
|
||||
for j in pairs(f.buttons) do
|
||||
local button = _G["TT_ActionButton" .. i .. j]
|
||||
button:StyleButton(nil, nil, true)
|
||||
button:CreateBackdrop("Default")
|
||||
button.backdrop:SetAllPoints()
|
||||
button.icon:SetInside()
|
||||
|
||||
for x = 1, 4 do
|
||||
button.MiniIcons[x]:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1, XiTimers.numtimers do
|
||||
local button = _G["XiTimers_Timer" .. i]
|
||||
local icon = _G["XiTimers_Timer" .. i .. "Icon"]
|
||||
|
||||
button:StyleButton(nil, nil, true)
|
||||
button:CreateBackdrop("Default")
|
||||
button.backdrop:SetAllPoints()
|
||||
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:SetInside()
|
||||
end
|
||||
|
||||
TotemTimers_MultiSpell:StyleButton(nil, nil, true)
|
||||
TotemTimers_MultiSpell:CreateBackdrop("Default")
|
||||
TotemTimers_MultiSpell.backdrop:SetAllPoints()
|
||||
TotemTimers_MultiSpellIcon:SetTexCoord(unpack(E.TexCoords))
|
||||
TotemTimers_MultiSpellIcon:SetInside()
|
||||
|
||||
S:Unhook("TotemTimers_SetupGlobals")
|
||||
end)
|
||||
|
||||
hooksecurefunc(TotemTimers, "SetEmptyTexCoord", function(icon, nr)
|
||||
if nr and nr > 0 then
|
||||
local tcoords = SLOT_EMPTY_TCOORDS[nr]
|
||||
icon:SetTexCoord(tcoords.left, tcoords.right, tcoords.top, tcoords.bottom)
|
||||
else
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(TotemTimers, "SetDoubleTexture", function(button, isdouble, flash)
|
||||
if isdouble then
|
||||
button.icons[1]:SetTexCoord(.08, 0.5, .08, .92)
|
||||
button.icons[2]:SetTexCoord(0.5, .92, .08, .92)
|
||||
end
|
||||
end)
|
||||
|
||||
hooksecurefunc(XiTimers, "new", function(self)
|
||||
for _, bar in ipairs(self.timers[#self.timers].timerbars) do
|
||||
bar:SetTemplate("Default")
|
||||
bar.background.Show = E.noop
|
||||
bar.background:Hide()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,159 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TradeskillInfoUI") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- TradeskillInfo r365
|
||||
-- https://www.wowace.com/projects/tradeskill-info/files/449625
|
||||
|
||||
S:AddCallbackForAddon("TradeskillInfoUI", "TradeskillInfoUI", function()
|
||||
if not E.private.addOnSkins.TradeskillInfo then return end
|
||||
|
||||
TradeskillInfoFrame:Width(670)
|
||||
TradeskillInfoFrame:SetMinResize(670, TradeskillInfoFrame:GetHeight())
|
||||
TradeskillInfoFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleCloseButton(TradeskillInfoFrameCloseButton, TradeskillInfoFrame.backdrop)
|
||||
|
||||
S:HandleButton(TradeskillInfoResetButton)
|
||||
S:HandleButton(TradeskillInfoOpposingButton)
|
||||
S:HandleButton(TradeskillInfoNameButton)
|
||||
S:HandleButton(TradeskillInfoReagentButton)
|
||||
S:HandleButton(TradeskillInfoSearchButton)
|
||||
|
||||
S:HandleDropDownBox(TradeskillInfoSortDropDown)
|
||||
S:HandleDropDownBox(TradeskillInfoTradeskillsDropDown)
|
||||
S:HandleDropDownBox(TradeskillInfoAvailabilityDropDown)
|
||||
|
||||
TradeskillInfoListScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(TradeskillInfoListScrollFrameScrollBar)
|
||||
|
||||
TradeskillInfoDetailScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(TradeskillInfoDetailScrollFrameScrollBar)
|
||||
|
||||
S:HandleEditBox(TradeskillInfoInputBox)
|
||||
|
||||
TradeskillInfoDetailScrollChildFrame:StripTextures()
|
||||
TradeskillInfoSkillIcon:StyleButton(nil, true)
|
||||
TradeskillInfoSkillIcon:SetTemplate("Default")
|
||||
|
||||
TradeskillInfoSortDropDown:Point("TOPLEFT", 53, -29)
|
||||
TradeskillInfoTradeskillsDropDown:Point("LEFT", TradeskillInfoSortDropDown, "RIGHT", -21, 0)
|
||||
TradeskillInfoAvailabilityDropDown:Point("LEFT", TradeskillInfoTradeskillsDropDown, "RIGHT", -21, 0)
|
||||
|
||||
TradeskillInfoListFrame:Point("TOPLEFT", 8, -50)
|
||||
TradeskillInfoListFrame:Point("RIGHT", TradeskillInfoDetailScrollFrame, "LEFT", -3, 0)
|
||||
TradeskillInfoListFrame:Point("BOTTOM", TradeskillInfoResetButton, "TOP", 0, 5)
|
||||
|
||||
TradeskillInfoCollapseAllButton:Point("TOPLEFT", 4, -8)
|
||||
|
||||
TradeskillInfoSkill1:Point("TOPLEFT", 4, -28)
|
||||
|
||||
TradeskillInfoListScrollFrame:Point("TOPLEFT", 0, -26)
|
||||
TradeskillInfoListScrollFrame:Point("BOTTOMRIGHT", -21, 0)
|
||||
|
||||
TradeskillInfoListScrollFrameScrollBar:Point("TOPLEFT", TradeskillInfoListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
TradeskillInfoListScrollFrameScrollBar:Point("BOTTOMLEFT", TradeskillInfoListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
TradeskillInfoDetailScrollFrame:Width(304)
|
||||
TradeskillInfoDetailScrollFrame:Point("TOPRIGHT", -29, -76)
|
||||
TradeskillInfoDetailScrollFrame:Point("BOTTOMRIGHT", -31, 37)
|
||||
|
||||
TradeskillInfoDetailScrollFrameScrollBar:Point("TOPLEFT", TradeskillInfoDetailScrollFrame, "TOPRIGHT", 3, -19)
|
||||
TradeskillInfoDetailScrollFrameScrollBar:Point("BOTTOMLEFT", TradeskillInfoDetailScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
TradeskillInfoSkillIcon:Size(47)
|
||||
TradeskillInfoSkillIcon:Point("TOPLEFT", 10, -9)
|
||||
|
||||
TradeskillInfoSkillName:Point("TOPLEFT", 65, -9)
|
||||
TradeskillInfoDescription:Point("TOPLEFT", 8, -64)
|
||||
|
||||
TradeskillInfoResetButton:Point("BOTTOMLEFT", 8, 8)
|
||||
|
||||
TradeskillInfoInputBox:Width(217)
|
||||
|
||||
TradeskillInfoSearchButton:Point("BOTTOMRIGHT", -8, 8)
|
||||
TradeskillInfoInputBox:Point("RIGHT", TradeskillInfoSearchButton, "LEFT", -8, 0)
|
||||
TradeskillInfoReagentButton:Point("RIGHT", TradeskillInfoInputBox, "LEFT", -8, 0)
|
||||
TradeskillInfoNameButton:Point("RIGHT", TradeskillInfoReagentButton, "LEFT", -7, 0)
|
||||
TradeskillInfoOpposingButton:Point("RIGHT", TradeskillInfoNameButton, "LEFT", -7, 0)
|
||||
|
||||
TradeskillInfoFrameResizeCorner:Point("BOTTOMRIGHT", -1, 1)
|
||||
|
||||
local skillIconSkinned
|
||||
hooksecurefunc(TradeskillInfoSkillIcon, "SetNormalTexture", function(self)
|
||||
local normalTexture = self:GetNormalTexture()
|
||||
if normalTexture then
|
||||
if not skillIconSkinned then
|
||||
self:SetAlpha(1)
|
||||
normalTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
normalTexture:SetInside()
|
||||
skillIconSkinned = true
|
||||
end
|
||||
else
|
||||
self:SetAlpha(0)
|
||||
skillIconSkinned = nil
|
||||
end
|
||||
end)
|
||||
|
||||
for i = 1, TradeskillInfoUI.cons.maxSkillReagents or 8 do
|
||||
local reagent = _G["TradeskillInfoReagent"..i]
|
||||
local icon = _G["TradeskillInfoReagent"..i.."IconTexture"]
|
||||
local count = _G["TradeskillInfoReagent"..i.."Count"]
|
||||
local name = _G["TradeskillInfoReagent"..i.."Name"]
|
||||
local nameFrame = _G["TradeskillInfoReagent"..i.."NameFrame"]
|
||||
|
||||
reagent:SetTemplate("Default")
|
||||
reagent:StyleButton(nil, true)
|
||||
reagent:Size(143, 40)
|
||||
|
||||
icon.backdrop = CreateFrame("Frame", nil, reagent)
|
||||
icon.backdrop:SetTemplate()
|
||||
icon.backdrop:Point("TOPLEFT", icon, -1, 1)
|
||||
icon.backdrop:Point("BOTTOMRIGHT", icon, 1, -1)
|
||||
|
||||
icon:SetTexCoord(unpack(E.TexCoords))
|
||||
icon:SetDrawLayer("OVERLAY")
|
||||
icon:Size(E.PixelMode and 38 or 32)
|
||||
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
|
||||
icon:SetParent(icon.backdrop)
|
||||
|
||||
count:SetParent(icon.backdrop)
|
||||
count:SetDrawLayer("OVERLAY")
|
||||
|
||||
name:Point("LEFT", nameFrame, "LEFT", 20, 0)
|
||||
|
||||
nameFrame:Hide()
|
||||
|
||||
if i == 1 then
|
||||
reagent:Point("TOPLEFT", TradeskillInfoReagentLabel, "BOTTOMLEFT", 1, -3)
|
||||
elseif i % 2 == 0 then
|
||||
reagent:Point("LEFT", _G["TradeskillInfoReagent"..(i-1)], "RIGHT", 3, 0)
|
||||
else
|
||||
reagent:Point("TOPLEFT", _G["TradeskillInfoReagent"..(i-2)], "BOTTOMLEFT", 0, -3)
|
||||
end
|
||||
end
|
||||
|
||||
local collapseButtons = -1
|
||||
hooksecurefunc(TradeskillInfoUI, "DoFrameUpdate", function(self)
|
||||
if collapseButtons >= self.vars.numSkillButtons then return end
|
||||
|
||||
if collapseButtons == -1 then
|
||||
S:HandleCollapseExpandButton(TradeskillInfoCollapseAllButton)
|
||||
collapseButtons = collapseButtons + 1
|
||||
end
|
||||
|
||||
for i = collapseButtons + 1, self.vars.numSkillButtons do
|
||||
local button = _G["TradeskillInfoSkill"..i]
|
||||
if button then
|
||||
S:HandleCollapseExpandButton(button)
|
||||
end
|
||||
end
|
||||
|
||||
collapseButtons = self.vars.numSkillButtons
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,56 @@
|
||||
local E, L, V, P, G, _ = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("TrinketMenu") then return end
|
||||
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
|
||||
-- TrinketMenu 3.81
|
||||
-- https://www.curseforge.com/wow/addons/trinket-menu/files/305868
|
||||
|
||||
S:AddCallbackForAddon("TrinketMenu", "TrinketMenu", function()
|
||||
if not E.private.addOnSkins.TrinketMenu then return end
|
||||
|
||||
-- TrinketMenu_TimersFrame:SetScript("OnUpdate", nil)
|
||||
TrinketMenu.WriteWornCooldowns = E.noop
|
||||
TrinketMenu.WriteMenuCooldowns = E.noop
|
||||
TrinketMenu.WriteCooldown = E.noop
|
||||
|
||||
TrinketMenu_MainFrame:SetTemplate("Transparent", nil, true)
|
||||
TrinketMenu_MenuFrame:SetTemplate("Transparent", nil, true)
|
||||
|
||||
hooksecurefunc(TrinketMenu, "ReflectLock", function()
|
||||
if TrinketMenuOptions.Locked == "ON" then return end
|
||||
|
||||
local r, g, b = unpack(E.media.bordercolor)
|
||||
TrinketMenu_MainFrame:SetBackdropBorderColor(r, g, b, 1)
|
||||
TrinketMenu_MenuFrame:SetBackdropBorderColor(r, g, b, 1)
|
||||
|
||||
local a
|
||||
r, g, b, a = unpack(E.media.backdropfadecolor)
|
||||
TrinketMenu_MainFrame:SetBackdropColor(r, g, b, a)
|
||||
TrinketMenu_MenuFrame:SetBackdropColor(r, g, b, a)
|
||||
end)
|
||||
|
||||
local AB = E:GetModule("ActionBars")
|
||||
|
||||
local function skinButton(button)
|
||||
local name = button:GetName()
|
||||
local cooldown = _G[name .. "Cooldown"]
|
||||
|
||||
AB:StyleButton(button)
|
||||
|
||||
cooldown.timer = E:CreateCooldownTimer(cooldown)
|
||||
_G[name .. "Time"] = cooldown.timer.text
|
||||
end
|
||||
|
||||
for i = 0, 1 do
|
||||
skinButton(_G["TrinketMenu_Trinket" .. i])
|
||||
end
|
||||
|
||||
for i = 1, 30 do
|
||||
skinButton(_G["TrinketMenu_Menu"..i])
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,98 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("VanasKoS") then return end
|
||||
|
||||
-- Vanas KoS 4.25
|
||||
-- https://www.curseforge.com/wow/addons/vanaskos/files/457856
|
||||
|
||||
S:AddCallbackForAddon("VanasKoS", "VanasKoS", function()
|
||||
if not E.private.addOnSkins.VanasKoS then return end
|
||||
|
||||
S:HandleTab(FriendsFrameTab6)
|
||||
FriendsFrameTab6:ClearAllPoints()
|
||||
FriendsFrameTab6:Point("TOPLEFT", FriendsFrameTab5, "TOPRIGHT", -15, 0)
|
||||
|
||||
E:GetModule("Tooltip"):HookScript(VanasKoSListTooltip, "OnShow", "SetStyle")
|
||||
|
||||
-- Warn Frame
|
||||
VanasKoS_WarnFrame:SetTemplate("Transparent", nil, true)
|
||||
VanasKoS_WarnFrame.SetBackdropBorderColor = E.noop
|
||||
|
||||
-- Main Frame
|
||||
VanasKoSFrame:StripTextures(true)
|
||||
VanasKoSFrame:CreateBackdrop("Transparent")
|
||||
VanasKoSFrame.backdrop:Point("TOPLEFT", 11, -12)
|
||||
VanasKoSFrame.backdrop:Point("BOTTOMRIGHT", -32, 76)
|
||||
|
||||
S:SetUIPanelWindowInfo(VanasKoSFrame, "width")
|
||||
S:SetBackdropHitRect(VanasKoSFrame)
|
||||
|
||||
S:HandleCloseButton(VanasKosFrameCloseButton, VanasKoSFrame.backdrop)
|
||||
|
||||
S:HandleDropDownBox(VanasKoSFrameChooseListDropDown, 145)
|
||||
|
||||
S:HandleCheckBox(VanasKoSListFrameCheckBox)
|
||||
|
||||
VanasKoSListScrollFrame:StripTextures()
|
||||
S:HandleScrollBar(VanasKoSListScrollFrameScrollBar)
|
||||
|
||||
for i = 1, 9 do
|
||||
_G["VanasKoSListFrameColButton" .. i]:StripTextures()
|
||||
_G["VanasKoSListFrameColButton" .. i]:StyleButton()
|
||||
end
|
||||
|
||||
VanasKoSListFrameNoTogglePatch.Show = E.noop
|
||||
VanasKoSListFrameNoTogglePatch:Hide()
|
||||
|
||||
S:HandleDropDownBox(VanasKoSPvPStatsCharacterDropDown, 119)
|
||||
S:HandleDropDownBox(VanasKoSPvPStatsTimeSpanDropDown, 120)
|
||||
|
||||
S:HandleNextPrevButton(VanasKoSListFrameToggleLeftButton)
|
||||
S:HandleNextPrevButton(VanasKoSListFrameToggleRightButton)
|
||||
|
||||
S:HandleEditBox(VanasKoSListFrameSearchBox)
|
||||
|
||||
S:HandleButton(VanasKoSListFrameAddButton)
|
||||
S:HandleButton(VanasKoSListFrameRemoveButton)
|
||||
S:HandleButton(VanasKoSListFrameChangeButton)
|
||||
S:HandleButton(VanasKoSListFrameConfigurationButton)
|
||||
|
||||
S:HandleTab(VanasKoSFrameTab1)
|
||||
S:HandleTab(VanasKoSFrameTab2)
|
||||
|
||||
VanasKoSFrameChooseListDropDown:Point("TOPLEFT", 40, -31)
|
||||
|
||||
VanasKoSListFrameCheckBox:Point("TOPLEFT", 200, -34)
|
||||
|
||||
VanasKoSListFrameColButton1:Point("TOPLEFT", 26, -56)
|
||||
|
||||
VanasKoSListScrollFrame:SetTemplate("Transparent")
|
||||
VanasKoSListScrollFrame:Size(304, 278)
|
||||
VanasKoSListScrollFrame:Point("TOPRIGHT", -61, -79)
|
||||
VanasKoSListScrollFrame.Hide = E.noop
|
||||
VanasKoSListScrollFrame:Show()
|
||||
|
||||
VanasKoSListScrollFrameScrollBar:Point("TOPLEFT", VanasKoSListScrollFrame, "TOPRIGHT", 3, -19)
|
||||
VanasKoSListScrollFrameScrollBar:Point("BOTTOMLEFT", VanasKoSListScrollFrame, "BOTTOMRIGHT", 3, 19)
|
||||
|
||||
VanasKoSListFrameListButton1:Point("TOPLEFT", 22, -82)
|
||||
|
||||
VanasKoSPvPStatsCharacterDropDown:Point("RIGHT", VanasKoSListFrameToggleLeftButton, "LEFT", 5, -3)
|
||||
VanasKoSPvPStatsTimeSpanDropDown:Point("RIGHT", VanasKoSPvPStatsCharacterDropDown, "LEFT", 25, 0)
|
||||
|
||||
VanasKoSListFrameToggleRightButton:Point("BOTTOMRIGHT", VanasKoSListFrame, "BOTTOMRIGHT", -40, 134)
|
||||
|
||||
VanasKoSListFrameSearchBox:Size(210, 20)
|
||||
VanasKoSListFrameSearchBox:Point("BOTTOMLEFT", VanasKoSListFrame, "BOTTOMLEFT", 20, 110)
|
||||
|
||||
VanasKoSListFrameChangeButton:Width(99)
|
||||
VanasKoSListFrameAddButton:Point("BOTTOMRIGHT", VanasKoSListFrame, "BOTTOMRIGHT", -40, 84)
|
||||
VanasKoSListFrameRemoveButton:Point("RIGHT", VanasKoSListFrameAddButton, "LEFT", -3, 0)
|
||||
VanasKoSListFrameChangeButton:Point("RIGHT", VanasKoSListFrameRemoveButton, "LEFT", -3, 0)
|
||||
VanasKoSListFrameConfigurationButton:Point("BOTTOM", VanasKoSListFrameAddButton, "TOP", 0, 3)
|
||||
|
||||
VanasKoSFrameTab1:Point("BOTTOMLEFT", 11, 46)
|
||||
VanasKoSFrameTab2:Point("LEFT", VanasKoSFrameTab1, "RIGHT", -14, 0)
|
||||
end)
|
||||
@@ -0,0 +1,64 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("WeakAuras") then return end
|
||||
|
||||
S:AddCallbackForAddon("WeakAuras", "WeakAuras", function()
|
||||
if WeakAuras.IsCorrectVersion then return end
|
||||
if not E.private.addOnSkins.WeakAuras then return end
|
||||
|
||||
local function Skin_WeakAuras(frame, ftype)
|
||||
if not frame.backdrop then
|
||||
frame:CreateBackdrop("Transparent")
|
||||
frame.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
frame.icon.SetTexCoord = E.noop
|
||||
end
|
||||
|
||||
if ftype == "aurabar" then
|
||||
if not E.db.addOnSkins.weakAuraAuraBar then
|
||||
frame.backdrop:Hide()
|
||||
else
|
||||
frame.backdrop:Show()
|
||||
end
|
||||
elseif ftype == "icon" then
|
||||
if E.db.addOnSkins.weakAuraIconCooldown then
|
||||
frame.cooldown.CooldownOverride = "global"
|
||||
E:RegisterCooldown(frame.cooldown)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local Create_Icon, Modify_Icon = WeakAuras.regionTypes.icon.create, WeakAuras.regionTypes.icon.modify
|
||||
local Create_AuraBar, Modify_AuraBar = WeakAuras.regionTypes.aurabar.create, WeakAuras.regionTypes.aurabar.modify
|
||||
|
||||
WeakAuras.regionTypes.icon.create = function(parent, data)
|
||||
local region = Create_Icon(parent, data)
|
||||
Skin_WeakAuras(region, "icon")
|
||||
return region
|
||||
end
|
||||
|
||||
WeakAuras.regionTypes.aurabar.create = function(parent)
|
||||
local region = Create_AuraBar(parent)
|
||||
Skin_WeakAuras(region, "aurabar")
|
||||
return region
|
||||
end
|
||||
|
||||
WeakAuras.regionTypes.icon.modify = function(parent, region, data)
|
||||
Modify_Icon(parent, region, data)
|
||||
Skin_WeakAuras(region, "icon")
|
||||
end
|
||||
|
||||
WeakAuras.regionTypes.aurabar.modify = function(parent, region, data)
|
||||
Modify_AuraBar(parent, region, data)
|
||||
Skin_WeakAuras(region, "aurabar")
|
||||
end
|
||||
|
||||
for weakAura in pairs(WeakAuras.regions) do
|
||||
if WeakAuras.regions[weakAura].regionType == "icon"
|
||||
or WeakAuras.regions[weakAura].regionType == "aurabar"
|
||||
then
|
||||
Skin_WeakAuras(WeakAuras.regions[weakAura].region, WeakAuras.regions[weakAura].regionType)
|
||||
end
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,88 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("WowLua") then return end
|
||||
|
||||
-- WowLua r40
|
||||
-- https://www.curseforge.com/wow/addons/wowlua/files/448825
|
||||
|
||||
S:AddCallbackForAddon("WowLua", "WowLua", function()
|
||||
if not E.private.addOnSkins.WowLua then return end
|
||||
|
||||
WowLuaFrame:StripTextures()
|
||||
WowLuaFrame:SetTemplate("Transparent")
|
||||
WowLuaFrameLineNumScrollFrame:StripTextures()
|
||||
|
||||
S:HandleCloseButton(WowLuaButton_Close, WowLuaFrame)
|
||||
|
||||
WowLuaFrameTitle:Point("TOP", 0, -5)
|
||||
|
||||
WowLuaFrameDragHeader:Height(55)
|
||||
WowLuaFrameDragHeader:SetPoint("TOPLEFT", 0, 0)
|
||||
|
||||
WowLuaFrameToolbar:Point("TOPLEFT", 30, -21)
|
||||
WowLuaButton_New:SetPoint("LEFT", WowLuaFrameToolbar, "LEFT", 0, 0)
|
||||
|
||||
WowLuaFrameLineNumEditBox:EnableMouse(false)
|
||||
|
||||
WowLuaFrameEditFocusGrabber:SetTemplate("Transparent")
|
||||
WowLuaFrameEditFocusGrabber:Point("TOPLEFT", 8, -55)
|
||||
WowLuaFrameEditFocusGrabber:Point("BOTTOMRIGHT", WowLuaFrameResizeBar, "TOPRIGHT", -29, -6)
|
||||
|
||||
WowLuaFrameEditScrollFrame:Point("BOTTOMRIGHT", WowLuaFrameResizeBar, "TOPRIGHT", -29, -3)
|
||||
|
||||
S:HandleScrollBar(WowLuaFrameEditScrollFrameScrollBar)
|
||||
WowLuaFrameEditScrollFrameScrollBar:Point("TOPLEFT", WowLuaFrameEditScrollFrame, "TOPRIGHT", 3, -17)
|
||||
WowLuaFrameEditScrollFrameScrollBar:Point("BOTTOMLEFT", WowLuaFrameEditScrollFrame, "BOTTOMRIGHT", 3, 16)
|
||||
|
||||
WowLuaFrameResizeBar:StripTextures()
|
||||
WowLuaFrameResizeBar:Height(20)
|
||||
|
||||
WowLuaFrameOutput:Point("TOPLEFT", WowLuaFrameResizeBar, "BOTTOMLEFT", -6, 7)
|
||||
WowLuaFrameOutput:Point("RIGHT", -29, 0)
|
||||
WowLuaFrameOutput:Point("BOTTOM", WowLuaFrameCommand, "TOP", 8, 9)
|
||||
|
||||
S:HandleNextPrevButton(WowLuaFrameOutputUpButton, "up")
|
||||
WowLuaFrameOutputUpButton:Size(18)
|
||||
WowLuaFrameOutputUpButton:Point("TOPRIGHT", 21, 0)
|
||||
|
||||
S:HandleNextPrevButton(WowLuaFrameOutputDownButton)
|
||||
WowLuaFrameOutputDownButton:Size(18)
|
||||
WowLuaFrameOutputDownButton:Point("BOTTOMRIGHT", 21, -2)
|
||||
|
||||
WowLuaFrameCommand:StripTextures()
|
||||
WowLuaFrameCommand:Point("BOTTOMLEFT", 8, 9)
|
||||
WowLuaFrameCommand:Point("BOTTOMRIGHT", -29, 0)
|
||||
WowLuaFrameCommand:CreateBackdrop()
|
||||
WowLuaFrameCommand.backdrop:SetPoint("TOPLEFT", 0, 0)
|
||||
WowLuaFrameCommand.backdrop:Point("BOTTOMRIGHT", 0, -1)
|
||||
|
||||
local buttons = {
|
||||
WowLuaButton_New,
|
||||
WowLuaButton_Open,
|
||||
WowLuaButton_Save,
|
||||
WowLuaButton_Undo,
|
||||
WowLuaButton_Redo,
|
||||
WowLuaButton_Delete,
|
||||
WowLuaButton_Lock,
|
||||
WowLuaButton_Unlock,
|
||||
WowLuaButton_Config,
|
||||
WowLuaButton_Previous,
|
||||
WowLuaButton_Next,
|
||||
WowLuaButton_Run,
|
||||
}
|
||||
|
||||
for _, object in ipairs(buttons) do
|
||||
object:CreateBackdrop()
|
||||
object:GetNormalTexture():SetTexCoord(0.125, 0.890625, 0.15625, 0.921875)
|
||||
if object:GetDisabledTexture() then
|
||||
object:GetDisabledTexture():SetTexCoord(0.125, 0.890625, 0.15625, 0.921875)
|
||||
end
|
||||
object:StyleButton(nil, true)
|
||||
end
|
||||
|
||||
hooksecurefunc(WowLua, "UpdateLineNums", function()
|
||||
WowLuaFrameLineNumScrollFrame:Point("TOPLEFT", 8, -57)
|
||||
end)
|
||||
end)
|
||||
@@ -0,0 +1,19 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ZygorGuidesViewer") then return end
|
||||
|
||||
-- Zygor Guides Viewer 2.0
|
||||
|
||||
S:AddCallbackForAddon("ZygorGuidesViewer", "ZygorGuidesViewer", function()
|
||||
if not E.private.addOnSkins.ZygorGuidesViewer then return end
|
||||
|
||||
ZygorGuidesViewerFrame_Border:StripTextures()
|
||||
ZygorGuidesViewerFrame:SetTemplate("Transparent")
|
||||
S:HandleScrollBar(ZygorGuidesViewerFrameScrollScrollBar)
|
||||
|
||||
for i = 1, 6 do
|
||||
_G["ZygorGuidesViewerFrame_Step" .. i]:CreateBackdrop("Transparent")
|
||||
end
|
||||
end)
|
||||
@@ -0,0 +1,59 @@
|
||||
local E, L, V, P, G = unpack(ElvUI)
|
||||
local S = E:GetModule("Skins")
|
||||
local AS = E:GetModule("AddOnSkins")
|
||||
|
||||
if not AS:IsAddonLODorEnabled("ZygorTalentAdvisor") then return end
|
||||
|
||||
-- Zygor Talent Advisor 2.0
|
||||
|
||||
S:AddCallbackForAddon("ZygorTalentAdvisor", "ZygorTalentAdvisor", function()
|
||||
if not E.private.addOnSkins.ZygorTalentAdvisor then return end
|
||||
|
||||
ZygorTalentAdvisorPopoutButton:Point("TOPRIGHT", -40, -39)
|
||||
ZygorTalentAdvisorPopoutButton:Size(26, 32)
|
||||
ZygorTalentAdvisorPopoutButton:SetTemplate("Default")
|
||||
ZygorTalentAdvisorPopoutButton:GetNormalTexture():SetTexCoord(0.1875, 0.796875, 0.125, 0.890625)
|
||||
ZygorTalentAdvisorPopoutButton:GetNormalTexture():SetInside()
|
||||
ZygorTalentAdvisorPopoutButton:GetPushedTexture():SetTexCoord(0.1875, 0.796875, 0.125, 0.890625)
|
||||
ZygorTalentAdvisorPopoutButton:GetPushedTexture():SetInside()
|
||||
ZygorTalentAdvisorPopoutButton:GetHighlightTexture():SetTexture(1, 1, 1, 0.3)
|
||||
ZygorTalentAdvisorPopoutButton:GetHighlightTexture():SetInside()
|
||||
|
||||
ZygorTalentAdvisorPopout:StripTextures()
|
||||
ZygorTalentAdvisorPopout:SetTemplate("Transparent")
|
||||
|
||||
ZygorTalentAdvisorPopoutScroll:Point("TOPLEFT", 11, -70)
|
||||
ZygorTalentAdvisorPopoutScroll:Point("BOTTOMRIGHT", -32, 70)
|
||||
|
||||
ZygorTalentAdvisorPopoutScrollScrollBar:Point("TOPLEFT", ZygorTalentAdvisorPopoutScroll, "TOPRIGHT", 6, -15)
|
||||
ZygorTalentAdvisorPopoutScrollScrollBar:Point("BOTTOMLEFT", ZygorTalentAdvisorPopoutScroll, "BOTTOMRIGHT", 6, 16)
|
||||
|
||||
for i = 1, ZygorTalentAdvisorPopoutScroll:GetNumChildren() do
|
||||
local child = select(i, ZygorTalentAdvisorPopoutScroll:GetChildren())
|
||||
if child:IsObjectType("Frame") and not child:GetName() then
|
||||
child:SetBackdrop(nil)
|
||||
child:CreateBackdrop("Transparent")
|
||||
child.backdrop:Point("TOPLEFT", 2, 1)
|
||||
child.backdrop:Point("BOTTOMRIGHT", -22, 0)
|
||||
end
|
||||
end
|
||||
|
||||
S:HandleCloseButton(ZygorTalentAdvisorPopoutCloseButton, ZygorTalentAdvisorPopout)
|
||||
|
||||
S:HandleScrollBar(ZygorTalentAdvisorPopoutScrollScrollBar)
|
||||
|
||||
ZygorTalentAdvisorPopoutAcceptButton:StripTextures()
|
||||
S:HandleButton(ZygorTalentAdvisorPopoutConfigureButton)
|
||||
S:HandleButton(ZygorTalentAdvisorPopoutPreviewButton)
|
||||
S:HandleButton(ZygorTalentAdvisorPopoutAcceptButton)
|
||||
|
||||
hooksecurefunc("ZygorTalentAdvisorPopout_Reparent", function()
|
||||
if ZTA.db.profile.windowdocked then
|
||||
if PlayerSpecTab1 and PlayerSpecTab1:IsShown() then
|
||||
ZygorTalentAdvisorPopout:Point("TOPLEFT", PlayerTalentFrame, "TOPRIGHT", 6, -12)
|
||||
else
|
||||
ZygorTalentAdvisorPopout:Point("TOPLEFT", PlayerTalentFrame, "TOPRIGHT", -33, -12)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
Reference in New Issue
Block a user