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:
Andrew6810
2022-10-28 07:12:13 -07:00
parent 60ef8a38af
commit df7cc26a64
205 changed files with 18480 additions and 35 deletions
@@ -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)
+88
View File
@@ -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)
+156
View File
@@ -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)
+234
View File
@@ -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)
+173
View File
@@ -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)
+185
View File
@@ -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)
+513
View File
@@ -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)
+313
View File
@@ -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)
+144
View File
@@ -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)
+90
View File
@@ -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)
+201
View File
@@ -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)
+402
View File
@@ -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)
+85
View File
@@ -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)
+191
View File
@@ -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)
+40
View File
@@ -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)
+205
View File
@@ -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)
+105
View File
@@ -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)
+42
View File
@@ -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)
+188
View File
@@ -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)
+225
View File
@@ -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)
+640
View File
@@ -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)
+238
View File
@@ -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)
+185
View File
@@ -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)
+178
View File
@@ -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)
+135
View File
@@ -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)
+37
View File
@@ -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)
+51
View File
@@ -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)
+441
View File
@@ -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)
+102
View File
@@ -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)
+173
View File
@@ -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)
+48
View File
@@ -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)
+113
View File
@@ -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)
+152
View File
@@ -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)
+117
View File
@@ -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)
+211
View File
@@ -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)
+145
View File
@@ -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)
+62
View File
@@ -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)
+30
View File
@@ -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)
+196
View File
@@ -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)
+38
View File
@@ -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)
+119
View File
@@ -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)
+88
View File
@@ -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)