diff --git a/compat/tbc.lua b/compat/tbc.lua
index 546f5191..d9eb1551 100644
--- a/compat/tbc.lua
+++ b/compat/tbc.lua
@@ -18,7 +18,6 @@ NAMEPLATE_OBJECTORDER = { "border", "_", "_", "glow", "name", "level", "levelico
NAMEPLATE_FRAMETYPE = "Frame"
MINIMAP_TRACKING_FRAME = _G.MiniMapTracking
-UI_OPTIONS_FRAME = _G.InterfaceOptionsFrame
FRIENDS_NAME_LOCATION = "ButtonTextLocation"
diff --git a/compat/vanilla.lua b/compat/vanilla.lua
index ec8bd8fa..37a6f44e 100644
--- a/compat/vanilla.lua
+++ b/compat/vanilla.lua
@@ -18,7 +18,6 @@ NAMEPLATE_OBJECTORDER = { "border", "glow", "name", "level", "levelicon", "raidi
NAMEPLATE_FRAMETYPE = "Button"
MINIMAP_TRACKING_FRAME = _G.MiniMapTrackingFrame
-UI_OPTIONS_FRAME = _G.UIOptionsFrame
FRIENDS_NAME_LOCATION = "ButtonTextNameLocation"
diff --git a/init/skins.xml b/init/skins.xml
index 031f94fe..010e2b96 100644
--- a/init/skins.xml
+++ b/init/skins.xml
@@ -34,4 +34,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/modules/autovendor.lua b/modules/autovendor.lua
index 379fda65..4aabe2d6 100644
--- a/modules/autovendor.lua
+++ b/modules/autovendor.lua
@@ -100,7 +100,7 @@ pfUI:RegisterModule("autovendor", "vanilla:tbc", function ()
autovendor.button:SetPoint("RIGHT", MerchantRepairItemButton, "LEFT", -4*bpad, 0)
else
autovendor.button:ClearAllPoints()
- autovendor.button:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -20, 0)
+ autovendor.button:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -14, 0)
end
end
end)
diff --git a/modules/thirdparty.lua b/modules/thirdparty.lua
index 2938a572..3f288b43 100644
--- a/modules/thirdparty.lua
+++ b/modules/thirdparty.lua
@@ -636,7 +636,7 @@ pfUI:RegisterModule("thirdparty", "vanilla", function ()
return pfUI.chat:HandleLink(text)
end
- -- replace wim class colors with pfUI ones
+ -- replace wim class colors with pfUI ones
hooksecurefunc("WIM_InitClassProps", function()
for class in pairs(RAID_CLASS_COLORS) do
local wimclass = _G[format("WIM_LOCALIZED_%s",class)]
diff --git a/skins/blizzard/arena.lua b/skins/blizzard/arena.lua
new file mode 100644
index 00000000..d87c98eb
--- /dev/null
+++ b/skins/blizzard/arena.lua
@@ -0,0 +1,55 @@
+pfUI:RegisterSkin("Arena", "tbc", function ()
+ StripTextures(ArenaFrame)
+ CreateBackdrop(ArenaFrame, nil, nil, .75)
+ CreateBackdropShadow(ArenaFrame)
+
+ ArenaFrame.backdrop:SetPoint("TOPLEFT", 10, -10)
+ ArenaFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 72)
+ ArenaFrame:SetHitRectInsets(10,32,10,72)
+ EnableMovable(ArenaFrame)
+
+ SkinCloseButton(ArenaFrameCloseButton, ArenaFrame.backdrop, -6, -6)
+
+ ArenaFrame:DisableDrawLayer("BACKGROUND")
+
+ ArenaFrameFrameLabel:ClearAllPoints()
+ ArenaFrameFrameLabel:SetPoint("TOP", TabardFrame.backdrop, "TOP", 0, -10)
+
+ ArenaFrame.zones_bg = CreateFrame("Frame", "ArenaFrameZonesBackground", ArenaFrame)
+ CreateBackdrop(ArenaFrame.zones_bg, nil, nil, .7)
+ ArenaFrame.zones_bg:SetWidth(324)
+ ArenaFrame.zones_bg:SetHeight(204)
+ ArenaFrame.zones_bg:SetPoint("TOPLEFT", ArenaFrame.backdrop, "TOPLEFT", 9, -62)
+
+ ArenaFrame.tex1 = ArenaFrame.backdrop:CreateTexture("ArenaFrameWorldMap1", "ARTWORK")
+ ArenaFrame.tex1:SetTexture("Interface\\BattlefieldFrame\\UI-Battlefield-WorldMap1")
+ ArenaFrame.tex1:SetPoint("TOPLEFT", 11, -64)
+ ArenaFrame.tex1:SetHeight(240)
+ ArenaFrame.tex2 = ArenaFrame.backdrop:CreateTexture("ArenaFrameWorldMap2", "ARTWORK")
+ ArenaFrame.tex2:SetTexture("Interface\\BattlefieldFrame\\UI-Battlefield-WorldMap2")
+ ArenaFrame.tex2:SetPoint("LEFT", ArenaFrame.tex1, "RIGHT", 0, 0)
+ ArenaFrame.tex2:SetHeight(240)
+
+ ArenaFrameNameHeader:ClearAllPoints()
+ ArenaFrameNameHeader:SetPoint("BOTTOMLEFT", ArenaFrameDivider, "TOPLEFT", 14, 70)
+ local shift = 28
+ ArenaZone1:ClearAllPoints()
+ ArenaZone1:SetPoint("TOPLEFT", ArenaFrame, "TOPLEFT", 23, -79 - shift)
+ ArenaZone4:ClearAllPoints()
+ ArenaZone4:SetPoint("TOPLEFT", ArenaZone3, "TOPLEFT", 0, -85 + shift)
+
+ ArenaFrame.textbox = CreateFrame("Frame", "ArenaFrameTextBox", ArenaFrame)
+ ArenaFrame.textbox:SetWidth(324)
+ ArenaFrame.textbox:SetHeight(110)
+ CreateBackdrop(ArenaFrame.textbox)
+ ArenaFrame.textbox:SetPoint("BOTTOM", ArenaFrame.backdrop, "BOTTOM", 0, 36)
+
+ ArenaFrameZoneDescription:SetFontObject(GameFontWhite)
+ ArenaFrameZoneDescription:ClearAllPoints()
+ ArenaFrameZoneDescription:SetPoint("TOPLEFT", ArenaFrame.textbox, "TOPLEFT", 4, -4)
+ ArenaFrameZoneDescription:SetPoint("BOTTOMRIGHT", ArenaFrame.textbox, "BOTTOMRIGHT", -4, 4)
+
+ SkinButton(ArenaFrameCancelButton)
+ SkinButton(ArenaFrameJoinButton)
+ SkinButton(ArenaFrameGroupJoinButton)
+end)
diff --git a/skins/blizzard/arena_registrar.lua b/skins/blizzard/arena_registrar.lua
new file mode 100644
index 00000000..39e9e57e
--- /dev/null
+++ b/skins/blizzard/arena_registrar.lua
@@ -0,0 +1,119 @@
+pfUI:RegisterSkin("Arena Registrar", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ do -- ArenaRegistrarFrame
+ StripTextures(ArenaRegistrarFrame)
+ StripTextures(ArenaRegistrarGreetingFrame)
+ CreateBackdrop(ArenaRegistrarFrame, nil, nil, .75)
+ CreateBackdropShadow(ArenaRegistrarFrame)
+
+ ArenaRegistrarFrame.backdrop:SetPoint("TOPLEFT", 14, -18)
+ ArenaRegistrarFrame.backdrop:SetPoint("BOTTOMRIGHT", -28, 66)
+ ArenaRegistrarFrame:SetHitRectInsets(14,28,18,66)
+ EnableMovable(ArenaRegistrarFrame)
+
+ SkinCloseButton(ArenaRegistrarFrameCloseButton, ArenaRegistrarFrame.backdrop, -6, -6)
+
+ ArenaRegistrarFrame:DisableDrawLayer("BACKGROUND")
+
+ ArenaRegistrarFrameNpcNameText:ClearAllPoints()
+ ArenaRegistrarFrameNpcNameText:SetPoint("TOP", ArenaRegistrarFrame.backdrop, "TOP", 0, -10)
+
+ SkinButton(ArenaRegistrarFrameGoodbyeButton)
+ SkinButton(ArenaRegistrarFrameCancelButton)
+ SkinButton(ArenaRegistrarFramePurchaseButton)
+
+ ArenaRegistrarCostLabel:SetFontObject("GameFontWhite")
+ ArenaRegistrarFrameEditBox:DisableDrawLayer("BACKGROUND")
+ CreateBackdrop(ArenaRegistrarFrameEditBox, nil, nil, 1)
+ ArenaRegistrarFrameEditBox:SetHeight(16)
+
+ local bg = ArenaRegistrarFrame:CreateTexture(nil, "LOW")
+ bg:SetTexCoord(.1,1,0,1)
+ bg:SetTexture("Interface\\Stationery\\StationeryTest1")
+ bg:SetPoint("TOPLEFT", 23, -81)
+ bg:SetPoint("BOTTOMRIGHT", -40, 100)
+ end
+
+ do -- PVPBannerFrame
+ StripTextures(PVPBannerFrame)
+ CreateBackdrop(PVPBannerFrame, nil, nil, .75)
+ CreateBackdropShadow(PVPBannerFrame)
+
+ PVPBannerFrame.backdrop:SetPoint("TOPLEFT", 10, -12)
+ PVPBannerFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 72)
+ PVPBannerFrame:SetHitRectInsets(10,32,12,72)
+ EnableMovable(PVPBannerFrame)
+
+ SkinCloseButton(PVPBannerFrameCloseButton, PVPBannerFrame.backdrop, -6, -6)
+
+ PVPBannerFrame:DisableDrawLayer("BACKGROUND")
+
+ PVPBannerFrameNameText:ClearAllPoints()
+ PVPBannerFrameNameText:SetPoint("TOP", ArenaRegistrarFrame.backdrop, "TOP", 0, -10)
+ PVPBannerFrameGreetingText:ClearAllPoints()
+ PVPBannerFrameGreetingText:SetPoint("TOP", PVPBannerFrameNameText, "TOP", 0, -10)
+
+ PVPBannerFrameCustomizationBorder:Hide()
+ PVPBannerFrameCustomization1:ClearAllPoints()
+ PVPBannerFrameCustomization1:SetPoint("TOPLEFT", PVPBannerFrameCustomizationBorder, "TOPLEFT", 48, -45)
+ for i = 1, 2 do
+ local frame = _G["PVPBannerFrameCustomization"..i]
+ StripTextures(frame)
+ CreateBackdrop(frame, nil, true)
+ frame:SetHeight(25)
+
+ local left = _G["PVPBannerFrameCustomization"..i.."LeftButton"]
+ StripTextures(left)
+ SkinArrowButton(left, "left", 25)
+ left:ClearAllPoints()
+ left:SetPoint("LEFT", 0, 0)
+
+ local right = _G["PVPBannerFrameCustomization"..i.."RightButton"]
+ StripTextures(right)
+ SkinArrowButton(right, "right", 25)
+ right:ClearAllPoints()
+ right:SetPoint("RIGHT", 0, 0)
+
+ local text = _G["PVPBannerFrameCustomization"..i.."Text"]
+ text:ClearAllPoints()
+ text:SetPoint("CENTER", 0, 0)
+ end
+
+ local width = PVPBannerFrameCustomization2:GetWidth()
+ for i = 1, 3 do
+ local btn = _G["PVPColorPickerButton"..i]
+ local prev = _G["PVPColorPickerButton"..(i-1)]
+
+ SkinButton(btn)
+ btn:SetWidth(width)
+ btn:ClearAllPoints()
+ if prev then
+ btn:SetPoint("TOPLEFT", prev, "BOTTOMLEFT", 0, -5)
+ else
+ btn:SetPoint("TOPLEFT", PVPBannerFrameCustomization2, "BOTTOMLEFT", 0, -5)
+ end
+ end
+
+ local PVPBannerFrameCancelButton
+ do -- fix Blizzard bug. A button with the same name is created twice.
+ for k,v in ipairs({PVPBannerFrameCustomizationFrame:GetChildren()}) do
+ if v:GetName() == "PVPBannerFrameCancelButton" then v:Hide() end -- This is the wrong and broken button.
+ end
+
+ for k,v in ipairs({PVPBannerFrame:GetChildren()}) do
+ if v:GetName() == "PVPBannerFrameCancelButton" then PVPBannerFrameCancelButton = v end
+ end
+ end
+
+ SkinButton(PVPBannerFrameSaveButton)
+
+ SkinButton(PVPBannerFrameCancelButton)
+ PVPBannerFrameCancelButton:ClearAllPoints()
+ PVPBannerFrameCancelButton:SetPoint("TOPRIGHT", PVPColorPickerButton3, "BOTTOMRIGHT", 0, -10)
+ SkinButton(PVPBannerFrameAcceptButton)
+ PVPBannerFrameAcceptButton:ClearAllPoints()
+ PVPBannerFrameAcceptButton:SetPoint("RIGHT", PVPBannerFrameCancelButton, "LEFT", -2*bpad, 0)
+ end
+end)
diff --git a/skins/blizzard/auction.lua b/skins/blizzard/auction.lua
index 77a57559..b28c0aa8 100644
--- a/skins/blizzard/auction.lua
+++ b/skins/blizzard/auction.lua
@@ -1,8 +1,17 @@
-pfUI:RegisterSkin("Auctionhouse", "vanilla", function ()
+pfUI:RegisterSkin("Auctionhouse", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
-
HookAddonOrVariable("Blizzard_AuctionUI", function()
+ -- Compatibility
+ if BrowseResetButton then -- tbc
+ SkinButton(BrowseResetButton)
+ else -- vanilla
+ SkinArrowButton(BidPrevPageButton, "left", 18)
+ SkinArrowButton(BidNextPageButton, "right", 18)
+ SkinArrowButton(AuctionsPrevPageButton, "left", 18)
+ SkinArrowButton(AuctionsNextPageButton, "right", 18)
+ end
+
hooksecurefunc("AuctionFrame_OnShow", function()
AuctionFrame:ClearAllPoints()
AuctionFrame:SetPoint("TOPLEFT", 10, -104)
@@ -88,7 +97,6 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla", function ()
BrowseLevelHyphen:SetPoint("LEFT", BrowseMinLevel, "RIGHT", 4, 0)
SkinDropDown(BrowseDropDown)
- BrowseDropDown:SetWidth(160)
BrowseDropDown:ClearAllPoints()
BrowseDropDown:SetPoint("LEFT", BrowseMaxLevel, "RIGHT", 20, 0)
@@ -135,9 +143,6 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla", function ()
end
end, 1)
- SkinArrowButton(BidPrevPageButton, "left", 18)
- SkinArrowButton(BidNextPageButton, "right", 18)
-
SkinMoneyInputFrame(BidBidPrice)
BidBidPrice:ClearAllPoints()
BidBidPrice:SetPoint("BOTTOM", 25, 18)
@@ -184,9 +189,6 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla", function ()
end
end, 1)
- SkinArrowButton(AuctionsPrevPageButton, "left", 18)
- SkinArrowButton(AuctionsNextPageButton, "right", 18)
-
SkinButton(AuctionsItemButton)
hooksecurefunc("AuctionSellItemButton_OnEvent", function()
if event ~= "NEW_AUCTION_UPDATE" then return end
diff --git a/skins/blizzard/character.lua b/skins/blizzard/character.lua
index 12166343..0920c173 100644
--- a/skins/blizzard/character.lua
+++ b/skins/blizzard/character.lua
@@ -1,7 +1,27 @@
-pfUI:RegisterSkin("Character", "vanilla", function ()
+pfUI:RegisterSkin("Character", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
+ -- Compatibility
+ if PlayerTitleDropDown then -- tbc, wotlk
+ -- Character Tab
+ SkinDropDown(PlayerTitleDropDown)
+ PlayerTitleDropDown:SetPoint("TOP", CharacterLevelText, "BOTTOM", 0, -2)
+ PlayerTitleDropDownText:SetPoint("LEFT", PlayerTitleDropDown.backdrop, "LEFT", 6, 2)
+ SkinDropDown(PlayerStatFrameLeftDropDown)
+ SkinDropDown(PlayerStatFrameRightDropDown)
+
+ -- Honor Tab
+ StripTextures(PVPFrame)
+ else -- vanilla
+ -- Honor Tab
+ StripTextures(HonorFrame)
+
+ HonorFrameProgressBar:SetStatusBarTexture(pfUI.media["img:bar"])
+ CreateBackdrop(HonorFrameProgressBar)
+ HonorFrameProgressBar:SetHeight(24)
+ end
+
local magicResTextureCords = {
{0.21875, 0.78125, 0.25, 0.3203125},
{0.21875, 0.78125, 0.0234375, 0.09375},
@@ -273,12 +293,4 @@ pfUI:RegisterSkin("Character", "vanilla", function ()
SkillDetailStatusBarUnlearnButton:SetPushedTexture(nil)
SkillDetailStatusBarUnlearnButton:SetNormalTexture("Interface\\Buttons\\UI-GroupLoot-Pass-Up")
end
-
- do -- Honor Tab
- StripTextures(HonorFrame)
-
- HonorFrameProgressBar:SetStatusBarTexture(pfUI.media["img:bar"])
- CreateBackdrop(HonorFrameProgressBar)
- HonorFrameProgressBar:SetHeight(24)
- end
end)
diff --git a/skins/blizzard/game_menu.lua b/skins/blizzard/game_menu.lua
index 10528e4f..9fb7f511 100644
--- a/skins/blizzard/game_menu.lua
+++ b/skins/blizzard/game_menu.lua
@@ -3,8 +3,12 @@ pfUI:RegisterSkin("Game Menu", "vanilla:tbc", function ()
CreateBackdrop(GameMenuFrame, nil, true, .75)
CreateBackdropShadow(GameMenuFrame)
- GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + 2)
GameMenuFrame:SetWidth(GameMenuFrame:GetWidth() - 30)
+ if pfUI.expansion == 'tbc' then
+ GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + 10)
+ elseif pfUI.expansion == 'vanilla' then
+ GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + 6)
+ end
local title = GetNoNameObject(GameMenuFrame, "FontString", "ARTWORK", MAIN_MENU)
title:SetTextColor(1,1,1,1)
diff --git a/skins/blizzard/guild_registrar.lua b/skins/blizzard/guild_registrar.lua
index 86823e64..44c1459d 100644
--- a/skins/blizzard/guild_registrar.lua
+++ b/skins/blizzard/guild_registrar.lua
@@ -1,4 +1,4 @@
-pfUI:RegisterSkin("Guild Registrar", "vanilla", function ()
+pfUI:RegisterSkin("Guild Registrar", "vanilla:tbc", function ()
StripTextures(GuildRegistrarFrame)
StripTextures(GuildRegistrarGreetingFrame)
CreateBackdrop(GuildRegistrarFrame, nil, nil, .75)
@@ -25,16 +25,9 @@ pfUI:RegisterSkin("Guild Registrar", "vanilla", function ()
CreateBackdrop(GuildRegistrarFrameEditBox, nil, nil, 1)
GuildRegistrarFrameEditBox:SetHeight(16)
- local texture = "StationeryTest"
- if date("%m%d") == "0223" then texture = "Stationery_Val" end
- local tex_Left = GuildRegistrarFrame:CreateTexture("BACKGROUND")
- tex_Left:SetTexture("Interface\\Stationery\\"..texture.."1")
- tex_Left:SetPoint("TOPLEFT", 23, -81)
- tex_Left:SetWidth(tex_Left:GetWidth() + 10)
- tex_Left:SetHeight(330)
- local tex_Right = GuildRegistrarFrame:CreateTexture("BACKGROUND")
- tex_Right:SetTexture("Interface\\Stationery\\"..texture.."2")
- tex_Right:SetPoint("LEFT", tex_Left, "RIGHT", 0, 0)
- tex_Right:SetWidth(tex_Right:GetWidth() + 10)
- tex_Right:SetHeight(330)
+ local bg = GuildRegistrarFrame:CreateTexture(nil, "LOW")
+ bg:SetTexCoord(.1,1,0,1)
+ bg:SetTexture("Interface\\Stationery\\StationeryTest1")
+ bg:SetPoint("TOPLEFT", 23, -81)
+ bg:SetPoint("BOTTOMRIGHT", -40, 100)
end)
diff --git a/skins/blizzard/guildbank.lua b/skins/blizzard/guildbank.lua
new file mode 100644
index 00000000..d428fb3c
--- /dev/null
+++ b/skins/blizzard/guildbank.lua
@@ -0,0 +1,131 @@
+pfUI:RegisterSkin("Guild Bank", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ HookAddonOrVariable("Blizzard_GuildBankUI", function()
+ do -- GuildBankFrame
+ StripTextures(GuildBankFrame)
+ CreateBackdrop(GuildBankFrame, nil, nil, .75)
+ CreateBackdropShadow(GuildBankFrame)
+ GuildBankFrame.backdrop:SetPoint("TOPLEFT", 10, -30)
+ GuildBankFrame.backdrop:SetPoint("BOTTOMRIGHT", 0, 4)
+ GuildBankFrame:SetHitRectInsets(10,0,30,4)
+ EnableMovable(GuildBankFrame)
+
+ SkinCloseButton(GetNoNameObject(GuildBankFrame, "Button", nil, "UI-Panel-MinimizeButton-Up"), GuildBankFrame.backdrop, -6, -6)
+
+ GuildBankEmblemFrame:ClearAllPoints()
+ GuildBankEmblemFrame:SetPoint("BOTTOM", GuildBankFrame.backdrop, "TOP", -70, 0)
+
+ for i = 1, 4 do
+ local tab = _G["GuildBankFrameTab"..i]
+ local lastTab = _G["GuildBankFrameTab"..(i-1)]
+ tab:ClearAllPoints()
+ if lastTab then
+ tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0)
+ else
+ tab:SetPoint("TOPLEFT", GuildBankFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2)))
+ end
+ SkinTab(tab)
+ end
+ for i = 1, 6 do
+ local frame = _G["GuildBankTab"..i]
+ local button = _G["GuildBankTab"..i.."Button"]
+ local lastbutton = _G["GuildBankTab"..(i-1).."Button"]
+ local texture = _G["GuildBankTab"..i.."ButtonIconTexture"]
+
+ StripTextures(frame)
+ SkinButton(button, nil, nil, nil, texture)
+
+ button:ClearAllPoints()
+ if lastbutton then
+ button:SetPoint("TOP", lastbutton, "BOTTOM", 0, - (border + (border == 1 and 1 or 2) + bpad))
+ else
+ button:SetPoint("TOPLEFT", 6, -60)
+ end
+
+ function button.SetChecked(self, checked)
+ if checked then
+ self.locked = true
+ self:SetBackdropBorderColor(1,1,1)
+ else
+ self.locked = false
+ self:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end
+ end
+
+ for i = 1, NUM_GUILDBANK_COLUMNS do
+ local column = _G["GuildBankColumn"..i]
+ StripTextures(column)
+ for j = 1, NUM_SLOTS_PER_GUILDBANK_GROUP do
+ local slot = _G["GuildBankColumn"..i.."Button"..j]
+ SkinButton(slot, nil, nil, nil, _G[slot:GetName().."IconTexture"], true)
+ end
+ end
+
+ hooksecurefunc("GuildBankFrame_Update", function()
+ if GuildBankFrame.mode ~= "bank" then return end
+
+ for i = 1, MAX_GUILDBANK_SLOTS_PER_TAB do
+ local index = math.fmod(i, NUM_SLOTS_PER_GUILDBANK_GROUP)
+ if index == 0 then index = NUM_SLOTS_PER_GUILDBANK_GROUP end
+ local column = ceil((i-.5)/NUM_SLOTS_PER_GUILDBANK_GROUP)
+ local slot = _G["GuildBankColumn"..column.."Button"..index]
+ local tab = GetCurrentGuildBankTab()
+ local link = GetGuildBankItemLink(tab, i)
+ if link then
+ local r,g,b = GetItemQualityColor(select(3, GetItemInfo(link)))
+ slot:SetBackdropBorderColor(r,g,b,1)
+ else
+ slot:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end
+ end)
+
+ SkinButton(GuildBankFrameDepositButton)
+ SkinButton(GuildBankFrameWithdrawButton)
+ GuildBankFrameWithdrawButton:ClearAllPoints()
+ GuildBankFrameWithdrawButton:SetPoint("RIGHT", GuildBankFrameDepositButton, "LEFT", -2*bpad, 0)
+
+ SkinButton(GuildBankInfoSaveButton)
+ GuildBankInfoScrollFrameScrollBar:Hide()
+ end
+
+ do -- GuildBankPopupFrame
+ StripTextures(GuildBankPopupFrame)
+ CreateBackdrop(GuildBankPopupFrame, nil, nil, .75)
+ CreateBackdropShadow(GuildBankPopupFrame)
+ GuildBankPopupFrame.backdrop:SetPoint("TOPLEFT", 0, -6)
+ GuildBankPopupFrame.backdrop:SetPoint("BOTTOMRIGHT", -26, 26)
+ GuildBankPopupFrame:SetHitRectInsets(0,26,6,26)
+
+ GuildBankPopupFrame.backdrop:SetPoint("TOPLEFT", GuildBankFrame.backdrop, "TOPRIGHT", 2*border, 0)
+
+ GuildBankPopupEditBox:DisableDrawLayer("BACKGROUND")
+ CreateBackdrop(GuildBankPopupEditBox)
+
+ StripTextures(GuildBankPopupScrollFrame)
+ CreateBackdrop(GuildBankPopupScrollFrame)
+ SkinScrollbar(GuildBankPopupScrollFrameScrollBar)
+ GuildBankPopupScrollFrame:ClearAllPoints()
+ GuildBankPopupScrollFrame:SetPoint("TOPLEFT", GuildBankPopupEditBox, "BOTTOMLEFT", -11, -14)
+ GuildBankPopupScrollFrame:SetWidth(182)
+ GuildBankPopupScrollFrame:SetHeight(178)
+
+ for i = 1, 16 do
+ local slot = _G["GuildBankPopupButton"..i]
+ StripTextures(slot)
+ SkinButton(slot, nil, nil, nil, _G["GuildBankPopupButton"..i.."Icon"], true)
+ end
+
+ GuildBankPopupButton1:ClearAllPoints()
+ GuildBankPopupButton1:SetPoint("TOPLEFT", GuildBankPopupScrollFrame, "TOPLEFT", 4, -4)
+
+ SkinButton(GuildBankPopupCancelButton)
+ SkinButton(GuildBankPopupOkayButton)
+ GuildBankPopupOkayButton:ClearAllPoints()
+ GuildBankPopupOkayButton:SetPoint("RIGHT", GuildBankPopupCancelButton, "LEFT", -2*bpad, 0)
+ end
+ end)
+end)
diff --git a/skins/blizzard/inspect.lua b/skins/blizzard/inspect.lua
index 03a25d08..b93fe2b0 100644
--- a/skins/blizzard/inspect.lua
+++ b/skins/blizzard/inspect.lua
@@ -1,3 +1,130 @@
+local slots = {
+ "HeadSlot",
+ "NeckSlot",
+ "ShoulderSlot",
+ "BackSlot",
+ "ChestSlot",
+ "ShirtSlot",
+ "TabardSlot",
+ "WristSlot",
+ "HandsSlot",
+ "WaistSlot",
+ "LegsSlot",
+ "FeetSlot",
+ "Finger0Slot",
+ "Finger1Slot",
+ "Trinket0Slot",
+ "Trinket1Slot",
+ "MainHandSlot",
+ "SecondaryHandSlot",
+ "RangedSlot",
+}
+
+pfUI:RegisterSkin("Inspect", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ HookAddonOrVariable("Blizzard_InspectUI", function()
+ CreateBackdrop(InspectFrame, nil, nil, .75)
+ CreateBackdropShadow(InspectFrame)
+
+ InspectFrame.backdrop:SetPoint("TOPLEFT", 10, -10)
+ InspectFrame.backdrop:SetPoint("BOTTOMRIGHT", -30, 72)
+ InspectFrame:SetHitRectInsets(10,30,10,72)
+ EnableMovable("InspectFrame", "Blizzard_InspectUI", INSPECTFRAME_SUBFRAMES)
+
+ SkinCloseButton(InspectFrameCloseButton, InspectFrame.backdrop, -6, -6)
+
+ InspectFrame:DisableDrawLayer("ARTWORK")
+
+ InspectNameText:ClearAllPoints()
+ InspectNameText:SetPoint("TOP", InspectFrame.backdrop, "TOP", 0, -10)
+ InspectGuildText:Show()
+ InspectGuildText:ClearAllPoints()
+ InspectGuildText:SetPoint("TOP", InspectLevelText, "BOTTOM", 0, -1)
+
+ for i = 1, 3 do
+ local tab = _G["InspectFrameTab"..i]
+ local lastTab = _G["InspectFrameTab"..(i-1)]
+ tab:ClearAllPoints()
+ if lastTab then
+ tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0)
+ else
+ tab:SetPoint("TOPLEFT", InspectFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2)))
+ end
+ SkinTab(tab)
+ end
+
+ do -- Character Tab
+ StripTextures(InspectPaperDollFrame)
+
+ EnableClickRotate(InspectModelFrame)
+ InspectModelRotateLeftButton:Hide()
+ InspectModelRotateRightButton:Hide()
+
+ for _, slot in pairs(slots) do
+ local frame = _G["Inspect"..slot]
+ SkinButton(frame, nil, nil, nil, _G["Inspect"..slot.."IconTexture"], true)
+ end
+
+ hooksecurefunc("InspectPaperDollFrame_OnShow", function()
+ local guild, title = GetGuildInfo(InspectFrame.unit)
+ local text = guild and format(TEXT(GUILD_TITLE_TEMPLATE), title, guild) or ""
+ InspectGuildText:SetText(text)
+ end)
+
+ hooksecurefunc("InspectPaperDollItemSlotButton_Update", function(button)
+ local unit = InspectFrame.unit
+ local link = GetInventoryItemLink(unit, button:GetID())
+ if link then
+ local quality = select(3, GetItemInfo(link))
+ button:SetBackdropBorderColor(GetItemQualityColor(quality))
+ else
+ button:SetBackdropBorderColor(pfUI.cache.er, pfUI.cache.eg, pfUI.cache.eb, pfUI.cache.ea)
+ end
+ end)
+ end
+
+ do -- PVP Tab
+ StripTextures(InspectPVPFrame)
+ end
+
+ do -- Talent Tab
+ StripTextures(InspectTalentFrame)
+ InspectTalentFrameCancelButton:Hide()
+ InspectTalentFrameCloseButton:Hide()
+
+ InspectTalentFrameSpentPoints:ClearAllPoints()
+ InspectTalentFrameSpentPoints:SetPoint("BOTTOMRIGHT", InspectTalentFrame, "BOTTOMRIGHT", 0, 83)
+
+ StripTextures(InspectTalentFrameScrollFrame)
+ SkinScrollbar(InspectTalentFrameScrollFrameScrollBar)
+
+ for i = 1, MAX_NUM_TALENTS do
+ local talent = _G["InspectTalentFrameTalent"..i]
+ if talent then
+ StripTextures(talent)
+ SkinButton(talent, nil, nil, nil, _G["InspectTalentFrameTalent"..i.."IconTexture"])
+
+ _G["InspectTalentFrameTalent"..i.."Rank"]:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
+ end
+ end
+
+ for i = 1, 3 do
+ local tab = _G["InspectTalentFrameTab"..i]
+ local lastTab = _G["InspectTalentFrameTab"..(i-1)]
+ tab:ClearAllPoints()
+ if lastTab then
+ tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0)
+ else
+ tab:SetPoint("TOPLEFT", 70, -50)
+ end
+ SkinTab(tab)
+ end
+ end
+ end)
+end)
+
pfUI:RegisterSkin("Inspect", "vanilla", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
@@ -34,28 +161,6 @@ pfUI:RegisterSkin("Inspect", "vanilla", function ()
InspectModelRotateLeftButton:Hide()
InspectModelRotateRightButton:Hide()
- local slots = {
- "HeadSlot",
- "NeckSlot",
- "ShoulderSlot",
- "BackSlot",
- "ChestSlot",
- "ShirtSlot",
- "TabardSlot",
- "WristSlot",
- "HandsSlot",
- "WaistSlot",
- "LegsSlot",
- "FeetSlot",
- "Finger0Slot",
- "Finger1Slot",
- "Trinket0Slot",
- "Trinket1Slot",
- "MainHandSlot",
- "SecondaryHandSlot",
- "RangedSlot",
- }
-
for _, slot in pairs(slots) do
local frame = _G["Inspect"..slot]
StripTextures(frame)
diff --git a/skins/blizzard/lfg.lua b/skins/blizzard/lfg.lua
new file mode 100644
index 00000000..7ced0a66
--- /dev/null
+++ b/skins/blizzard/lfg.lua
@@ -0,0 +1,70 @@
+pfUI:RegisterSkin("Looking for group", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ CreateBackdrop(LFGParentFrame, nil, nil, .75)
+ CreateBackdropShadow(LFGParentFrame)
+
+ LFGParentFrame.backdrop:SetPoint("TOPLEFT", 14, -10)
+ LFGParentFrame.backdrop:SetPoint("BOTTOMRIGHT", -26, 72)
+ LFGParentFrame:SetHitRectInsets(14,26,10,72)
+ EnableMovable(LFGParentFrame)
+
+ SkinCloseButton(GetNoNameObject(LFGParentFrame, 'Button', nil, "UI-Panel-MinimizeButton-Up"), LFGParentFrame.backdrop, -6, -6)
+
+ LFGParentFrame:DisableDrawLayer("BACKGROUND")
+
+ LFGParentFrameTitle:ClearAllPoints()
+ LFGParentFrameTitle:SetPoint("TOP", LFGParentFrame.backdrop, "TOP", 0, -10)
+
+ SkinTab(LFGParentFrameTab1)
+ LFGParentFrameTab1:ClearAllPoints()
+ LFGParentFrameTab1:SetPoint("TOPLEFT", LFGParentFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2)))
+ SkinTab(LFGParentFrameTab2)
+ LFGParentFrameTab2:ClearAllPoints()
+ LFGParentFrameTab2:SetPoint("LEFT", LFGParentFrameTab1, "RIGHT", border*2 + 1, 0)
+
+ LFGParentFrameBackground:Hide()
+
+ do -- LFGWizardFrame
+ SkinButton(LFGWizardFrameLFGButton)
+ SkinButton(LFGWizardFrameLFMButton)
+ end
+
+ do -- LFGFrame
+ StripTextures(AutoJoinBackground)
+
+ SkinCheckbox(AutoJoinCheckButton)
+
+ SkinDropDown(LFGFrameTypeDropDown1)
+ SkinDropDown(LFGFrameNameDropDown1)
+ SkinDropDown(LFGFrameTypeDropDown2)
+ SkinDropDown(LFGFrameNameDropDown2)
+ SkinDropDown(LFGFrameTypeDropDown3)
+ SkinDropDown(LFGFrameNameDropDown3)
+
+ SkinButton(LFGFrameDoneButton)
+ SkinButton(LFGFrameClearAllButton)
+ LFGFrameClearAllButton:ClearAllPoints()
+ LFGFrameClearAllButton:SetPoint("RIGHT", LFGFrameDoneButton, "LEFT", -2*bpad, 0)
+
+ CreateBackdrop(LFGComment)
+ end
+
+ do -- LFMFrame
+ StripTextures(AddMemberBackground)
+
+ SkinCheckbox(AutoAddMembersCheckButton)
+
+ SkinDropDown(LFMFrameTypeDropDown, nil, nil, nil, true)
+ SkinDropDown(LFMFrameNameDropDown, nil, nil, nil, true)
+
+ for i=1, 4 do
+ SkinButton(_G["LFMFrameColumnHeader"..i])
+ end
+
+ SkinButton(LFMFrameGroupInviteButton)
+ SkinButton(LFMFrameSendMessageButton)
+ SkinButton(LFMFrameSearchButton)
+ end
+end)
diff --git a/skins/blizzard/macro.lua b/skins/blizzard/macro.lua
index 7a1e32ec..a2d91fc9 100644
--- a/skins/blizzard/macro.lua
+++ b/skins/blizzard/macro.lua
@@ -1,4 +1,4 @@
-pfUI:RegisterSkin("Macro", "vanilla", function ()
+pfUI:RegisterSkin("Macro", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
@@ -28,7 +28,6 @@ pfUI:RegisterSkin("Macro", "vanilla", function ()
local icon = _G["MacroButton"..i..'Icon']
StripTextures(button)
SkinButton(button, nil, nil, nil, icon)
- button:SetCheckedTexture([[Interface\Buttons\CheckButtonHilight]])
end
StripTextures(MacroFrameSelectedMacroButton)
SkinButton(MacroFrameSelectedMacroButton, nil, nil, nil, MacroFrameSelectedMacroButtonIcon, true)
@@ -81,7 +80,6 @@ pfUI:RegisterSkin("Macro", "vanilla", function ()
local icon = _G["MacroPopupButton"..i..'Icon']
StripTextures(button)
SkinButton(button, nil, nil, nil, icon)
- button:SetCheckedTexture([[Interface\Buttons\CheckButtonHilight]])
end
SkinButton(MacroPopupCancelButton)
SkinButton(MacroPopupOkayButton)
diff --git a/skins/blizzard/mail.lua b/skins/blizzard/mail.lua
index 996be3db..e3a51e84 100644
--- a/skins/blizzard/mail.lua
+++ b/skins/blizzard/mail.lua
@@ -1,18 +1,128 @@
-pfUI:RegisterSkin("Mailbox", "vanilla", function ()
+pfUI:RegisterSkin("Mailbox", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
- local skin = CreateFrame("Frame")
- skin:SetScript("OnEvent", function()
- this:UnregisterEvent("MAIL_SHOW")
- if not this._Mail then
- StripTextures(SendMailPackageButton)
- SkinButton(SendMailPackageButton)
+
+ -- Compatibility
+ local StationeryBackgroundLeft, StationeryBackgroundRight
+ if ATTACHMENTS_MAX_SEND then -- tbc
+ do -- SendMailFrame
+ for i = 1, ATTACHMENTS_MAX_SEND do
+ local btn = _G["SendMailAttachment"..i]
+ StripTextures(btn)
+ SkinButton(btn, nil, nil, nil, nil, true)
+ end
+
hooksecurefunc("SendMailFrame_Update", function()
- HandleIcon(SendMailPackageButton, SendMailPackageButton:GetNormalTexture())
- end, 1)
+ for i = 1, ATTACHMENTS_MAX_SEND do
+ local btn = _G["SendMailAttachment"..i]
+ HandleIcon(btn, btn:GetNormalTexture())
+
+ local link = GetSendMailItemLink(i)
+ if link then
+ local r,g,b = GetItemQualityColor(select(3, GetItemInfo(link)))
+ btn:SetBackdropBorderColor(r,g,b,1)
+ else
+ btn:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end
+ end)
+
+ StationeryBackgroundLeft, StationeryBackgroundRight = SendStationeryBackgroundLeft, SendStationeryBackgroundRight
end
- end)
- skin:RegisterEvent("MAIL_SHOW")
+
+ do -- OpenMailFrame
+ for i = 1, ATTACHMENTS_MAX_RECEIVE do
+ SkinButton(_G["OpenMailAttachmentButton"..i], nil, nil, nil, _G["OpenMailAttachmentButton"..i.."IconTexture"], true)
+ end
+
+ hooksecurefunc("InboxFrame_OnClick", function(index)
+ for i=1, ATTACHMENTS_MAX_RECEIVE do
+ local link = GetInboxItemLink(index, i)
+ if not link then return end
+ local r,g,b = GetItemQualityColor(select(3, GetItemInfo(link)))
+ _G["OpenMailAttachmentButton"..i]:SetBackdropBorderColor(r,g,b,1)
+ end
+ end)
+
+ SkinButton(OpenMailReportSpamButton)
+ end
+ else -- vanilla
+ do -- SendMailFrame
+ local skin = CreateFrame("Frame")
+ skin:SetScript("OnEvent", function()
+ this:UnregisterEvent("MAIL_SHOW")
+ if not this._Mail then
+ StripTextures(SendMailPackageButton)
+ SkinButton(SendMailPackageButton, nil, nil, nil, nil, true)
+
+ hooksecurefunc("SendMailFrame_Update", function()
+ HandleIcon(SendMailPackageButton, SendMailPackageButton:GetNormalTexture())
+
+ local link = GetItemLinkByName(GetSendMailItem())
+ if link then
+ local _,_,linkstr = string.find(link, "(item:%d+:%d+:%d+:%d+)")
+ local _,_,quality = GetItemInfo(linkstr)
+ local r,g,b = GetItemQualityColor(quality)
+ SendMailPackageButton:SetBackdropBorderColor(r,g,b,1)
+ else
+ SendMailPackageButton:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end, 1)
+ end
+ end)
+ skin:RegisterEvent("MAIL_SHOW")
+
+ HookAddonOrVariable("Mail", function()
+ skin._Mail = true
+ for i = 1, 21 do
+ local button = _G["MailAttachment"..i]
+ StripTextures(button)
+
+ SkinButton(button, nil, nil, nil, nil, true)
+ local orig = button.SetNormalTexture
+ button.SetNormalTexture = function(self, tex)
+ orig(self, tex)
+
+ if button.item then
+ HandleIcon(self, self:GetNormalTexture())
+
+ local link = GetContainerItemLink(button.item[1], button.item[2])
+ local _,_,linkstr = string.find(link, "(item:%d+:%d+:%d+:%d+)")
+ local _,_,quality = GetItemInfo(linkstr)
+ local r,g,b = GetItemQualityColor(quality)
+ self:SetBackdropBorderColor(r,g,b,1)
+ else
+ self:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end
+ end
+ SkinButton(GetNoNameObject(InboxFrame, "Button", nil, "UI-Panel-Button-Up", OPENMAIL))
+ local button = GetNoNameObject(SendMailFrame, "Button", nil, "UI-Panel-Button-Up", SEND_LABEL) -- this is SendMailMailButton
+ SkinButton(button) -- hack! only it happened to do it
+ button:ClearAllPoints()
+ button:SetPoint("RIGHT", SendMailCancelButton, "LEFT", -2*bpad, 0)
+ end)
+
+ StationeryBackgroundLeft, StationeryBackgroundRight = _G.StationeryBackgroundLeft, _G.StationeryBackgroundRight
+ end
+
+ do -- OpenMailFrame
+ SkinButton(OpenMailPackageButton, nil, nil, nil, OpenMailPackageButtonIconTexture)
+
+ hooksecurefunc("InboxFrame_OnClick", function(index)
+ local name = GetInboxItem(index)
+ if name then
+ local link = GetItemLinkByName(name)
+ local _,_,linkstr = string.find(link, "(item:%d+:%d+:%d+:%d+)")
+ local _,_,quality = GetItemInfo(linkstr)
+ local r,g,b = GetItemQualityColor(quality)
+ OpenMailPackageButton:SetBackdropBorderColor(r,g,b,1)
+ else
+ OpenMailPackageButton:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
+ end
+ end)
+ end
+ end
StripTextures(MailFrame, true)
CreateBackdrop(MailFrame, nil, nil, .75)
@@ -106,7 +216,6 @@ pfUI:RegisterSkin("Mailbox", "vanilla", function ()
OpenMailReplyButton:SetPoint("RIGHT", OpenMailDeleteButton, "LEFT", -2*bpad, 0)
SkinButton(OpenMailMoneyButton, nil, nil, nil, OpenMailMoneyButtonIconTexture)
- SkinButton(OpenMailPackageButton, nil, nil, nil, OpenMailPackageButtonIconTexture)
SkinButton(OpenMailLetterButton, nil, nil, nil, OpenMailLetterButtonIconTexture)
StripTextures(OpenMailScrollFrame)
@@ -118,25 +227,4 @@ pfUI:RegisterSkin("Mailbox", "vanilla", function ()
OpenStationeryBackgroundLeft:SetAllPoints()
OpenStationeryBackgroundRight:Hide()
end
-
- HookAddonOrVariable("Mail", function()
- skin._Mail = true
- for i = 1, 21 do
- local button = _G["MailAttachment"..i]
- StripTextures(button)
- SkinButton(button)
-
- button.icon = button:CreateTexture(button:GetName().."Icon", "ARTWORK")
- HandleIcon(button, button.icon)
- button.SetNormalTexture = function(self, tex)
- button.icon:SetTexture(tex)
- end
- end
- SkinButton(GetNoNameObject(InboxFrame, "Button", nil, "UI-Panel-Button-Up", OPENMAIL))
- local button = GetNoNameObject(SendMailFrame, "Button", nil, "UI-Panel-Button-Up", SEND_LABEL) -- this is SendMailMailButton
- SkinButton(button) -- hack! only it happened to do it
- button:ClearAllPoints()
- button:SetPoint("RIGHT", SendMailCancelButton, "LEFT", -2*bpad, 0)
- end)
-
end)
diff --git a/skins/blizzard/merchant.lua b/skins/blizzard/merchant.lua
index f6e75c36..ed2f224d 100644
--- a/skins/blizzard/merchant.lua
+++ b/skins/blizzard/merchant.lua
@@ -1,7 +1,22 @@
-pfUI:RegisterSkin("Merchant", "vanilla", function ()
+pfUI:RegisterSkin("Merchant", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
+ -- Compatibility
+ if MerchantGuildBankRepairButton then -- tbc
+ SkinButton(MerchantGuildBankRepairButton, nil, nil, nil, MerchantGuildBankRepairButtonIcon)
+ MerchantGuildBankRepairButtonIcon:SetTexCoord(.59, .82, .06, .54)
+ hooksecurefunc("MerchantFrame_UpdateRepairButtons", function()
+ MerchantGuildBankRepairButton:ClearAllPoints()
+ MerchantGuildBankRepairButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -14, 0)
+ MerchantRepairAllButton:ClearAllPoints()
+ MerchantRepairAllButton:SetPoint("RIGHT", MerchantGuildBankRepairButton, "LEFT", -6, 0)
+ end)
+ else -- vanilla
+ MerchantRepairAllButton:ClearAllPoints()
+ MerchantRepairAllButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -6, 0)
+ end
+
StripTextures(MerchantFrame)
CreateBackdrop(MerchantFrame, nil, nil, .75)
CreateBackdropShadow(MerchantFrame)
@@ -64,8 +79,6 @@ pfUI:RegisterSkin("Merchant", "vanilla", function ()
SkinButton(MerchantBuyBackItemItemButton, nil, nil, nil, _G[MerchantBuyBackItemItemButton:GetName()..'IconTexture'])
SkinButton(MerchantRepairAllButton, nil, nil, nil, MerchantRepairAllIcon)
- MerchantRepairAllButton:ClearAllPoints()
- MerchantRepairAllButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -20, 0)
MerchantRepairAllIcon:SetTexCoord(.31, .53, .06, .52)
StripTextures(MerchantRepairItemButton)
diff --git a/skins/blizzard/options-interface.lua b/skins/blizzard/options-interface.lua
index a70fab6a..59de0e64 100644
--- a/skins/blizzard/options-interface.lua
+++ b/skins/blizzard/options-interface.lua
@@ -1,3 +1,78 @@
+pfUI:RegisterSkin("Options - Interface", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ StripTextures(InterfaceOptionsFrame)
+ CreateBackdrop(InterfaceOptionsFrame, nil, nil, .75)
+ CreateBackdropShadow(InterfaceOptionsFrame)
+
+ EnableMovable(InterfaceOptionsFrame)
+
+ InterfaceOptionsFrameHeaderText:ClearAllPoints()
+ InterfaceOptionsFrameHeaderText:SetPoint("TOP", InterfaceOptionsFrame.backdrop, "TOP", 0, -10)
+
+ StripTextures(InterfaceOptionsFrameCategories)
+ CreateBackdrop(InterfaceOptionsFrameCategories, nil, true, .75)
+ StripTextures(InterfaceOptionsFrameAddOns)
+ CreateBackdrop(InterfaceOptionsFrameAddOns, nil, true, .75)
+ CreateBackdrop(InterfaceOptionsFramePanelContainer, nil, true, .75)
+
+ SkinTab(InterfaceOptionsFrameTab1)
+ InterfaceOptionsFrameTab1:ClearAllPoints()
+ InterfaceOptionsFrameTab1:SetPoint("BOTTOMLEFT", InterfaceOptionsFrameCategories, "TOPLEFT", bpad, border + (border == 1 and 1 or 2))
+ SkinTab(InterfaceOptionsFrameTab2)
+ InterfaceOptionsFrameTab2:ClearAllPoints()
+ InterfaceOptionsFrameTab2:SetPoint("LEFT", InterfaceOptionsFrameTab1, "RIGHT", border*2 + 1, 0)
+
+ SkinButton(InterfaceOptionsFrameDefaults)
+ InterfaceOptionsFrameDefaults:ClearAllPoints()
+ InterfaceOptionsFrameDefaults:SetPoint("TOPLEFT", InterfaceOptionsFrameCategories, "BOTTOMLEFT", 0, -10)
+ SkinButton(InterfaceOptionsFrameCancel)
+ InterfaceOptionsFrameCancel:ClearAllPoints()
+ InterfaceOptionsFrameCancel:SetPoint("TOPRIGHT", InterfaceOptionsFramePanelContainer, "BOTTOMRIGHT", 0, -10)
+ SkinButton(InterfaceOptionsFrameOkay)
+ InterfaceOptionsFrameOkay:ClearAllPoints()
+ InterfaceOptionsFrameOkay:SetPoint("RIGHT", InterfaceOptionsFrameCancel, "LEFT", -2*bpad, 0)
+
+ -- universal code for handling any frames!
+ local function SkinAllObjects(frame)
+ for _,obj in ipairs({frame:GetChildren()}) do
+ local obj_type = obj:GetObjectType()
+ if obj_type == "CheckButton" then
+ local size = obj:GetHeight()
+ if size > 26 then size = 26 end
+ SkinCheckbox(obj, size)
+ elseif obj_type == "Button" then
+ SkinButton(obj)
+ elseif obj_type == "Slider" then
+ SkinSlider(obj)
+ elseif obj_type == "Frame" then
+ if _G[obj:GetName().."Button"] then
+ SkinDropDown(obj)
+ else
+ SkinAllObjects(obj)
+ end
+ end
+ end
+ end
+
+ local blizzardCategories = {
+ InterfaceOptionsControlsPanel, InterfaceOptionsCombatPanel, InterfaceOptionsDisplayPanel,
+ InterfaceOptionsQuestsPanel, InterfaceOptionsSocialPanel, InterfaceOptionsActionBarsPanel,
+ InterfaceOptionsNamesPanel, InterfaceOptionsCombatTextPanel, InterfaceOptionsStatusTextPanel,
+ InterfaceOptionsPartyRaidPanel, InterfaceOptionsCameraPanel, InterfaceOptionsMousePanel,
+ InterfaceOptionsHelpPanel, InterfaceOptionsLanguagesPanel
+ }
+ for _,frame in ipairs(blizzardCategories) do
+ SkinAllObjects(frame)
+ end
+
+ -- skin the option panel of any addon
+ for _,frame in pairs(INTERFACEOPTIONS_ADDONCATEGORIES) do
+ SkinAllObjects(frame)
+ end
+end)
+
pfUI:RegisterSkin("Options - Interface", "vanilla", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
diff --git a/skins/blizzard/options-sound.lua b/skins/blizzard/options-sound.lua
index f0c934ed..5594665e 100644
--- a/skins/blizzard/options-sound.lua
+++ b/skins/blizzard/options-sound.lua
@@ -1,7 +1,42 @@
-pfUI:RegisterSkin("Options - Sound", "vanilla", function ()
+pfUI:RegisterSkin("Options - Sound", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
+ -- Compatibility
+ local SoundOptionsFrameHeaderText, NUM_CHECKBOXES, NUM_SLIDERS
+ if SOUND_OPTIONS then -- tbc
+ SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "BACKGROUND", SOUND_OPTIONS)
+ NUM_CHECKBOXES = 11
+ NUM_SLIDERS = 6
+
+ StripTextures(AudioOptionsFrame)
+ CreateBackdrop(SoundOptionsFramePlayback, nil, true, .75)
+ CreateBackdrop(SoundOptionsFrameHardware, nil, true, .75)
+ CreateBackdrop(SoundOptionsFrameVolume, nil, true, .75)
+
+ SkinDropDown(SoundOptionsOutputDropDown)
+
+ SoundOptionsFrameDefaults:ClearAllPoints()
+ SoundOptionsFrameDefaults:SetPoint("TOPLEFT", SoundOptionsFramePlayback, "BOTTOMLEFT", 0, -10)
+ SoundOptionsFrameCancel:ClearAllPoints()
+ SoundOptionsFrameCancel:SetPoint("TOPRIGHT", SoundOptionsFrameVolume, "BOTTOMRIGHT", 0, -10)
+ SoundOptionsFrameOkay:ClearAllPoints()
+ SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
+ else -- vanilla
+ SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "ARTWORK", SOUNDOPTIONS_MENU)
+ NUM_CHECKBOXES = 8
+ NUM_SLIDERS = 4
+
+ SoundOptionsFrameOkay:ClearAllPoints()
+ SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
+ SoundOptionsFrameSlider1:ClearAllPoints()
+ SoundOptionsFrameSlider1:SetPoint("TOPRIGHT", SoundOptionsFrame, "TOPRIGHT", -18, -43)
+ for i=2, NUM_SLIDERS do
+ _G["SoundOptionsFrameSlider"..i]:ClearAllPoints()
+ _G["SoundOptionsFrameSlider"..i]:SetPoint("TOP", _G["SoundOptionsFrameSlider"..i-1], "BOTTOM", 0, -30)
+ end
+ end
+
StripTextures(SoundOptionsFrame)
CreateBackdrop(SoundOptionsFrame, nil, true, .75)
CreateBackdropShadow(SoundOptionsFrame)
@@ -13,27 +48,21 @@ pfUI:RegisterSkin("Options - Sound", "vanilla", function ()
this:SetPoint("CENTER", 0, 0)
end)
- local SoundOptionsFrameHeaderText = GetNoNameObject(SoundOptionsFrame, "FontString", "ARTWORK", SOUNDOPTIONS_MENU)
SoundOptionsFrameHeaderText:ClearAllPoints()
SoundOptionsFrameHeaderText:SetPoint("TOP", 0, -10)
SkinButton(SoundOptionsFrameDefaults)
SkinButton(SoundOptionsFrameCancel)
SkinButton(SoundOptionsFrameOkay)
- SoundOptionsFrameOkay:ClearAllPoints()
- SoundOptionsFrameOkay:SetPoint("RIGHT", SoundOptionsFrameCancel, "LEFT", -2*bpad, 0)
- for i=1, 8 do
- if i == 3 then i = 4 end -- Blizzard missed this number...
- SkinCheckbox(_G["SoundOptionsFrameCheckButton"..i], 28)
+ for i=1, NUM_CHECKBOXES do
+ local btn = _G["SoundOptionsFrameCheckButton"..i]
+ if btn then
+ SkinCheckbox(btn, 28)
+ end
end
- SkinSlider(SoundOptionsFrameSlider1)
- SoundOptionsFrameSlider1:ClearAllPoints()
- SoundOptionsFrameSlider1:SetPoint("TOPRIGHT", SoundOptionsFrame, "TOPRIGHT", -18, -43)
- for i=2, 4 do
+ for i=1, NUM_SLIDERS do
SkinSlider(_G["SoundOptionsFrameSlider"..i])
- _G["SoundOptionsFrameSlider"..i]:ClearAllPoints()
- _G["SoundOptionsFrameSlider"..i]:SetPoint("TOP", _G["SoundOptionsFrameSlider"..i-1], "BOTTOM", 0, -30)
end
end)
diff --git a/skins/blizzard/options-video.lua b/skins/blizzard/options-video.lua
index d4816fe3..85ed3424 100644
--- a/skins/blizzard/options-video.lua
+++ b/skins/blizzard/options-video.lua
@@ -1,7 +1,47 @@
-pfUI:RegisterSkin("Options - Video", "vanilla", function ()
+pfUI:RegisterSkin("Options - Video", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
+ -- Compatibility
+ local MAX_SLIDERS, MAX_CHECKBOXES
+ if OptionsFrameSlider10 then -- tbc
+ MAX_SLIDERS = 11
+ MAX_CHECKBOXES = 19
+
+ for i=1, MAX_SLIDERS do
+ local slider = _G["OptionsFrameSlider"..i]
+ local shift = 0
+ if i == 4 or i == 5 or i == 7 or i == 8 or i == 10 or i == 11 then shift = 10 end
+ local point, anchor, anchorPoint, x, y = slider:GetPoint()
+ slider:ClearAllPoints()
+ slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
+ end
+
+ hooksecurefunc("OptionsFrame_Load", function()
+ OptionsFramePixelShaders:SetWidth(230)
+ OptionsFrameMiscellaneous:ClearAllPoints()
+ OptionsFrameMiscellaneous:SetPoint("LEFT", OptionsFramePixelShaders, "RIGHT", 6, 0)
+ end)
+ OptionsFrameDefaults:ClearAllPoints()
+ OptionsFrameDefaults:SetPoint("TOPLEFT", OptionsFramePixelShaders, "BOTTOMLEFT", 0, -10)
+ OptionsFrameCancel:ClearAllPoints()
+ OptionsFrameCancel:SetPoint("TOPRIGHT", OptionsFrameMiscellaneous, "BOTTOMRIGHT", 0, -10)
+ else -- vanilla
+ MAX_SLIDERS = 9
+ MAX_CHECKBOXES = 18
+
+ for i=1, MAX_SLIDERS do
+ local slider = _G["OptionsFrameSlider"..i]
+ local shift = 0
+ if i == 1 or i == 6 then shift = 4
+ elseif i == 4 or i == 8 then shift = 10
+ end
+ local point, anchor, anchorPoint, x, y = slider:GetPoint()
+ slider:ClearAllPoints()
+ slider:SetPoint(point, anchor, anchorPoint, x, y - shift)
+ end
+ end
+
CreateBackdrop(OptionsFrame, nil, nil, .75)
CreateBackdropShadow(OptionsFrame)
@@ -17,6 +57,12 @@ pfUI:RegisterSkin("Options - Video", "vanilla", function ()
OptionsFrameHeaderText:ClearAllPoints()
OptionsFrameHeaderText:SetPoint("TOP", OptionsFrame.backdrop, "TOP", 0, -10)
+ CreateBackdrop(OptionsFrameDisplay, nil, true, .75)
+ CreateBackdrop(OptionsFrameWorldAppearance, nil, true, .75)
+ CreateBackdrop(OptionsFrameBrightness, nil, true, .75)
+ CreateBackdrop(OptionsFramePixelShaders, nil, true, .75)
+ CreateBackdrop(OptionsFrameMiscellaneous, nil, true, .75)
+
SkinButton(OptionsFrameDefaults)
SkinButton(OptionsFrameCancel)
SkinButton(OptionsFrameOkay)
@@ -27,24 +73,14 @@ pfUI:RegisterSkin("Options - Video", "vanilla", function ()
SkinDropDown(OptionsFrameRefreshDropDown)
SkinDropDown(OptionsFrameMultiSampleDropDown)
- CreateBackdrop(OptionsFrameDisplay, nil, true, .75)
- CreateBackdrop(OptionsFrameWorldAppearance, nil, true, .75)
- CreateBackdrop(OptionsFrameBrightness, nil, true, .75)
- CreateBackdrop(OptionsFramePixelShaders, nil, true, .75)
- CreateBackdrop(OptionsFrameMiscellaneous, nil, true, .75)
-
- for i=1, 9 do
- local shift = 0
- if i == 1 or i == 6 then shift = 4
- elseif i == 4 or i == 8 then shift = 10
- end
+ for i=1, MAX_SLIDERS do
SkinSlider(_G["OptionsFrameSlider"..i])
- local point, anchor, anchorPoint, x, y = _G["OptionsFrameSlider"..i]:GetPoint()
- _G["OptionsFrameSlider"..i]:ClearAllPoints()
- _G["OptionsFrameSlider"..i]:SetPoint(point, anchor, anchorPoint, x, y - shift)
end
- for i=1, 18 do
- SkinCheckbox(_G["OptionsFrameCheckButton"..i], 28)
+ for i=1, MAX_CHECKBOXES do
+ local btn = _G["OptionsFrameCheckButton"..i]
+ if btn then
+ SkinCheckbox(btn, 28)
+ end
end
end)
diff --git a/skins/blizzard/popup_dialogs.lua b/skins/blizzard/popup_dialogs.lua
index 85bae89b..d795a7bf 100644
--- a/skins/blizzard/popup_dialogs.lua
+++ b/skins/blizzard/popup_dialogs.lua
@@ -1,7 +1,13 @@
-pfUI:RegisterSkin("Popup Dialogs", "vanilla", function ()
+pfUI:RegisterSkin("Popup Dialogs", "vanilla:tbc", function ()
for i = 1, STATICPOPUP_NUMDIALOGS do
- local dialog = _G["StaticPopup"..i]
+ -- Compatibility
+ local money = _G["StaticPopup"..i.."MoneyInputFrame"]
+ if money then -- tbc
+ SkinMoneyInputFrame(money)
+ end
+
+ local dialog = _G["StaticPopup"..i]
CreateBackdrop(dialog, nil, true, .75)
CreateBackdropShadow(dialog)
diff --git a/skins/blizzard/professions.lua b/skins/blizzard/professions.lua
index 558e1326..bd741471 100644
--- a/skins/blizzard/professions.lua
+++ b/skins/blizzard/professions.lua
@@ -1,4 +1,4 @@
-pfUI:RegisterSkin("Profession", "vanilla", function ()
+pfUI:RegisterSkin("Profession", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
@@ -17,8 +17,6 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
local frame = name .. "Frame"
HookAddonOrVariable(addon, function()
- _G[displayed] = 23
-
local SetSelection = frame.."_SetSelection"
local icon = _G[template.."Icon"]
local seltitle = _G[template.."Name"]
@@ -45,12 +43,6 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
local frame = _G[frame]
- -- build remaining tradeskills
- for i = 9, _G[displayed] do
- local button = CreateFrame("Button", template..i, frame, template.."ButtonTemplate")
- button:SetPoint("TOPLEFT", _G[template..i - 1], "BOTTOMLEFT")
- end
-
StripTextures(frame)
CreateBackdrop(frame, nil, nil, .75)
CreateBackdropShadow(frame)
@@ -74,10 +66,11 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
scrollframe:SetWidth(300)
scrollframe:SetHeight(365)
- local backdrop = CreateFrame("Frame", nil, frame)
+ local backdrop = CreateFrame("Frame", scrollframe:GetName().."Backdrop", frame)
CreateBackdrop(backdrop, nil, nil, .75)
- backdrop.backdrop:SetPoint("TOPLEFT", scrollframe, "TOPLEFT", -5, 5)
- backdrop.backdrop:SetPoint("BOTTOMRIGHT", scrollframe, "BOTTOMRIGHT", 26, -5)
+ scrollframe.backdrop = backdrop.backdrop
+ scrollframe.backdrop:SetPoint("TOPLEFT", scrollframe, "TOPLEFT", -5, 5)
+ scrollframe.backdrop:SetPoint("BOTTOMRIGHT", scrollframe, "BOTTOMRIGHT", 26, -5)
_G[template..1]:ClearAllPoints()
_G[template..1]:SetPoint("TOPLEFT", scrollframe, "TOPLEFT", 0, 0)
@@ -86,16 +79,12 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
SkinCollapseButton(collapseall, true)
collapseall:ClearAllPoints()
collapseall:SetPoint("BOTTOMLEFT", scrollframe, "TOPLEFT", -5, 5)
- for i = 1, _G[displayed] do SkinCollapseButton(_G[template..i]) end
if invslotdropdown then
- StripTextures(invslotdropdown)
SkinDropDown(invslotdropdown)
- invslotdropdown:SetHeight(10)
invslotdropdown:ClearAllPoints()
- invslotdropdown:SetPoint("BOTTOMRIGHT", backdrop.backdrop, "TOPRIGHT", 15, 0)
+ invslotdropdown:SetPoint("BOTTOMRIGHT", scrollframe.backdrop, "TOPRIGHT", 15, 0)
- StripTextures(subclassdropdown)
SkinDropDown(subclassdropdown)
subclassdropdown:ClearAllPoints()
subclassdropdown:SetPoint("RIGHT", invslotdropdown, "LEFT", 27, 0)
@@ -109,15 +98,17 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
local backdrop = CreateFrame("Frame", nil, frame)
CreateBackdrop(backdrop, nil, nil, .75)
- backdrop.backdrop:SetPoint("TOPLEFT", detailscroll, "TOPLEFT", -5, 5)
- backdrop.backdrop:SetPoint("BOTTOMRIGHT", detailscroll, "BOTTOMRIGHT", 26, -5)
+ detailscroll.backdrop = backdrop.backdrop
+
+ detailscroll.backdrop:SetPoint("TOPLEFT", detailscroll, "TOPLEFT", -5, 5)
+ detailscroll.backdrop:SetPoint("BOTTOMRIGHT", detailscroll, "BOTTOMRIGHT", 26, -5)
StripTextures(_G[name.."RankFrameBorder"])
CreateBackdrop(rankbar, nil, true)
rankbar:SetStatusBarTexture(pfUI.media["img:bar"])
rankbar:ClearAllPoints()
- rankbar:SetPoint("TOPLEFT", backdrop.backdrop, "TOPLEFT", 0, 25)
- rankbar:SetPoint("BOTTOMRIGHT", backdrop.backdrop, "TOPRIGHT", 0, 6)
+ rankbar:SetPoint("TOPLEFT", detailscroll.backdrop, "TOPLEFT", 0, 25)
+ rankbar:SetPoint("BOTTOMRIGHT", detailscroll.backdrop, "TOPRIGHT", 0, 6)
if decrease and increase then
SkinArrowButton(decrease, "left", 18)
@@ -126,13 +117,14 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
if inputbox then
inputbox:DisableDrawLayer("BACKGROUND")
- CreateBackdrop(inputbox, nil, true)
+ CreateBackdrop(inputbox)
+ SetAllPointsOffset(inputbox.backdrop, inputbox, .2)
inputbox:SetWidth(36)
end
SkinButton(cancel)
cancel:ClearAllPoints()
- cancel:SetPoint("TOPRIGHT", backdrop.backdrop, "BOTTOMRIGHT", 0, -5)
+ cancel:SetPoint("TOPRIGHT", detailscroll.backdrop, "BOTTOMRIGHT", 0, -5)
SkinButton(create)
create:ClearAllPoints()
@@ -223,6 +215,46 @@ pfUI:RegisterSkin("Profession", "vanilla", function ()
end
end, true)
end
+
+ -- Compatibility
+ if TradeSkillFrameEditBox or CraftFrameEditBox then -- tbc
+ _G[displayed] = 21
+ scrollframe:SetHeight(338)
+
+ local rank = _G[name.."RankFrameSkillRank"]
+ rank:ClearAllPoints()
+ rank:SetPoint("CENTER", rankbar, "CENTER", 0, 0)
+
+ local available = _G[frame:GetName().."AvailableFilterCheckButton"]
+ SkinCheckbox(available)
+ available:ClearAllPoints()
+ available:SetPoint("TOPLEFT", scrollframe.backdrop, "BOTTOMLEFT", -4, -5)
+
+ local search = TradeSkillFrameEditBox or CraftRankFrameEditBox
+ if search then
+ search:DisableDrawLayer("BACKGROUND")
+ CreateBackdrop(search, nil, nil, 1)
+ search.backdrop:SetAllPoints(search)
+ search:SetHeight(createall:GetHeight())
+ search:ClearAllPoints()
+ search:SetPoint("TOPRIGHT", scrollframe.backdrop, "BOTTOMRIGHT", 0, -5)
+ end
+
+ local craft_filter = CraftFrameFilterDropDown
+ if craft_filter then
+ SkinDropDown(craft_filter)
+ craft_filter:ClearAllPoints()
+ craft_filter:SetPoint("BOTTOMRIGHT", scrollframe.backdrop, "TOPRIGHT", 15, 0)
+ end
+ else -- vanilla
+ _G[displayed] = 23
+ end
+ -- build remaining tradeskills
+ for i = 9, _G[displayed] do
+ local button = CreateFrame("Button", template..i, frame, template.."ButtonTemplate")
+ button:SetPoint("TOPLEFT", _G[template..i - 1], "BOTTOMLEFT")
+ end
+ for i = 1, _G[displayed] do SkinCollapseButton(_G[template..i]) end
end)
end
end)
diff --git a/skins/blizzard/questlog.lua b/skins/blizzard/questlog.lua
index cdafec69..4c0a3c7b 100644
--- a/skins/blizzard/questlog.lua
+++ b/skins/blizzard/questlog.lua
@@ -1,4 +1,4 @@
-pfUI:RegisterSkin("Quest Log", "vanilla", function ()
+pfUI:RegisterSkin("Quest Log", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
@@ -6,6 +6,23 @@ pfUI:RegisterSkin("Quest Log", "vanilla", function ()
_G.MAX_WATCHABLE_QUESTS = 20 -- TODO
do -- quest log frame
+ -- Compatibility
+ local QUEST_COUNT
+ if QuestLogCount then -- tbc
+ QUEST_COUNT = QuestLogCount
+
+ StripTextures(QUEST_COUNT)
+ QUEST_COUNT:ClearAllPoints()
+ hooksecurefunc("QuestLogUpdateQuestCount", function(numQuests)
+ QUEST_COUNT:SetPoint("TOPRIGHT", -10, -30)
+ end)
+ else -- vanilla
+ QUEST_COUNT = QuestLogQuestCount
+
+ QUEST_COUNT:ClearAllPoints()
+ QUEST_COUNT:SetPoint("TOPRIGHT", -10, -30)
+ end
+
hooksecurefunc("QuestLog_OnShow", function()
QuestLogFrame:ClearAllPoints()
QuestLogFrame:SetPoint("TOPLEFT", 10, -104)
@@ -38,14 +55,11 @@ pfUI:RegisterSkin("Quest Log", "vanilla", function ()
SkinCheckbox(QuestLogFrameLevelsCheckButton, 23)
QuestLogFrameLevelsCheckButtonText:SetText(T["Quest Levels"])
- QuestLogQuestCount:ClearAllPoints()
- QuestLogQuestCount:SetPoint("TOPRIGHT", -10, -30)
-
CreateBackdrop(QuestLogTrack)
QuestLogTrack:SetHeight(8)
QuestLogTrack:SetWidth(8)
QuestLogTrack:ClearAllPoints()
- QuestLogTrack:SetPoint("RIGHT", QuestLogQuestCount, "LEFT", -5, 0)
+ QuestLogTrack:SetPoint("RIGHT", QUEST_COUNT, "LEFT", -5, 0)
StripTextures(QuestLogTrack)
QuestLogTrackTracking:SetTexture(.8,.8,.8,1)
@@ -158,7 +172,11 @@ pfUI:RegisterSkin("Quest Log", "vanilla", function ()
if C.questlog.showQuestLevels == "1" then
questIndex = i + FauxScrollFrame_GetOffset(QuestLogListScrollFrame)
if questIndex <= numEntries then
- text, level, questTag, isHeader = GetQuestLogTitle(questIndex)
+ if pfUI.expansion == 'vanilla' then
+ text, level, questTag, isHeader = GetQuestLogTitle(questIndex)
+ else
+ text, level, questTag, _, isHeader = GetQuestLogTitle(questIndex)
+ end
if not isHeader then
_G["QuestLogTitle"..i]:SetText(" ".."["..(questTag and level.."+" or level).."] "..text)
end
diff --git a/skins/blizzard/readycheck.lua b/skins/blizzard/readycheck.lua
index 81b22fb7..26abd097 100644
--- a/skins/blizzard/readycheck.lua
+++ b/skins/blizzard/readycheck.lua
@@ -1,5 +1,13 @@
-pfUI:RegisterSkin("Readycheck", "vanilla", function ()
+pfUI:RegisterSkin("Readycheck", "vanilla:tbc", function ()
HookAddonOrVariable("Blizzard_RaidUI", function()
+ -- Compatibility
+ local update_func
+ if ReadyCheckFrame_OnUpdate then -- tbc
+ update_func = "ReadyCheckFrame_OnUpdate"
+ else -- vanilla
+ update_func = "ReadyCheck_OnUpdate"
+ end
+
StripTextures(ReadyCheckFrame, true)
CreateBackdrop(ReadyCheckFrame, nil, nil, .75)
CreateBackdropShadow(ReadyCheckFrame)
@@ -35,7 +43,7 @@ pfUI:RegisterSkin("Readycheck", "vanilla", function ()
frame.bar:SetMinMaxValues(0, max)
end, 1)
- hooksecurefunc("ReadyCheck_OnUpdate", function()
+ hooksecurefunc(update_func, function()
if not ReadyCheckFrame.timer then return end
local perc = ReadyCheckFrame.timer/max
diff --git a/skins/blizzard/socket.lua b/skins/blizzard/socket.lua
new file mode 100644
index 00000000..0ae80823
--- /dev/null
+++ b/skins/blizzard/socket.lua
@@ -0,0 +1,39 @@
+pfUI:RegisterSkin("Item Socketing", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ HookAddonOrVariable("Blizzard_ItemSocketingUI", function()
+ StripTextures(ItemSocketingFrame)
+ CreateBackdrop(ItemSocketingFrame, nil, nil, .75)
+ CreateBackdropShadow(ItemSocketingFrame)
+ ItemSocketingFrame.backdrop:SetPoint("TOPLEFT", 8, -14)
+ ItemSocketingFrame.backdrop:SetPoint("BOTTOMRIGHT", -4, 28)
+ ItemSocketingFrame:SetHitRectInsets(8,4,14,28)
+ EnableMovable(ItemSocketingFrame)
+
+ SkinCloseButton(ItemSocketingCloseButton, ItemSocketingFrame.backdrop, -6, -6)
+
+ ItemSocketingFrame:DisableDrawLayer("BACKGROUND")
+
+ StripTextures(ItemSocketingScrollFrame)
+ CreateBackdrop(ItemSocketingScrollFrame)
+ ItemSocketingScrollFrame:ClearAllPoints()
+ ItemSocketingScrollFrame:SetPoint("TOPLEFT", 32, -70)
+ ItemSocketingScrollFrame.backdrop:SetPoint("TOPLEFT", 0, 10)
+ ItemSocketingScrollFrame.backdrop:SetPoint("BOTTOMRIGHT", 0, -10)
+ SkinScrollbar(ItemSocketingScrollFrameScrollBar)
+ ItemSocketingScrollFrameScrollBar:ClearAllPoints()
+ ItemSocketingScrollFrameScrollBar:SetPoint("TOPLEFT", ItemSocketingScrollFrame.backdrop, "TOPRIGHT", 6, -16)
+ ItemSocketingScrollFrameScrollBar:SetPoint("BOTTOMLEFT", ItemSocketingScrollFrame.backdrop, "BOTTOMRIGHT", 6, 16)
+ SkinButton(ItemSocketingSocketButton)
+ for i = 1, MAX_NUM_SOCKETS do
+ local btn = _G["ItemSocketingSocket"..i]
+ StripTextures(btn)
+ SkinButton(btn, nil, nil, nil, _G["ItemSocketingSocket"..i.."IconTexture"], true)
+ end
+ local orig = ItemSocketingSocket1.SetPoint
+ ItemSocketingSocket1.SetPoint = function(self,a,b,c,x,y)
+ orig(self,a,b,c,x-10,y+15)
+ end
+ end)
+end)
diff --git a/skins/blizzard/talents.lua b/skins/blizzard/talents.lua
index ebb3af61..cfcd9906 100644
--- a/skins/blizzard/talents.lua
+++ b/skins/blizzard/talents.lua
@@ -1,48 +1,58 @@
-pfUI:RegisterSkin("Talents", "vanilla", function ()
+pfUI:RegisterSkin("Talents", "vanilla:tbc", function ()
local border = tonumber(pfUI_config.appearance.border.default)
local bpad = border > 1 and border - 1 or 1
HookAddonOrVariable("Blizzard_TalentUI", function()
- StripTextures(TalentFrame)
- CreateBackdrop(TalentFrame, nil, nil, .75)
- CreateBackdropShadow(TalentFrame)
+ -- Compatibility
+ local TALENT_FRAME, TALENT_FRAME_NAME
+ if PlayerTalentFrame then -- tbc
+ TALENT_FRAME = _G.PlayerTalentFrame
+ else -- vanilla
+ TALENT_FRAME = _G.TalentFrame
+ end
+ TALENT_FRAME_NAME = TALENT_FRAME:GetName()
- TalentFrame.backdrop:SetPoint("TOPLEFT", 10, -10)
- TalentFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 72)
- TalentFrame:SetHitRectInsets(10,32,10,72)
- EnableMovable(TalentFrame)
- TalentFrame:DisableDrawLayer("BACKGROUND")
- TalentFrameCancelButton:Hide()
+ StripTextures(TALENT_FRAME)
+ CreateBackdrop(TALENT_FRAME, nil, nil, .75)
+ CreateBackdropShadow(TALENT_FRAME)
- TalentFrameTitleText:ClearAllPoints()
- TalentFrameTitleText:SetPoint("TOP", TalentFrame.backdrop, "TOP", 0, -10)
- TalentFrameSpentPoints:ClearAllPoints()
- TalentFrameSpentPoints:SetPoint("TOP", TalentFrame.backdrop, "TOP", 0, -48)
+ TALENT_FRAME.backdrop:SetPoint("TOPLEFT", 10, -10)
+ TALENT_FRAME.backdrop:SetPoint("BOTTOMRIGHT", -32, 72)
+ TALENT_FRAME:SetHitRectInsets(10,32,10,72)
+ EnableMovable(TALENT_FRAME)
- SkinCloseButton(TalentFrameCloseButton, TalentFrame.backdrop, -6, -6)
+ TALENT_FRAME:DisableDrawLayer("BACKGROUND")
+ _G[TALENT_FRAME_NAME.."CancelButton"]:Hide()
- StripTextures(TalentFrameScrollFrame)
- SkinScrollbar(TalentFrameScrollFrameScrollBar)
+ _G[TALENT_FRAME_NAME.."TitleText"]:ClearAllPoints()
+ _G[TALENT_FRAME_NAME.."TitleText"]:SetPoint("TOP", TALENT_FRAME.backdrop, "TOP", 0, -10)
+ _G[TALENT_FRAME_NAME.."SpentPoints"]:ClearAllPoints()
+ _G[TALENT_FRAME_NAME.."SpentPoints"]:SetPoint("TOP", TALENT_FRAME.backdrop, "TOP", 0, -48)
- TalentFrameTalentPointsText:ClearAllPoints()
- TalentFrameTalentPointsText:SetPoint("BOTTOMRIGHT", TalentFrame, "BOTTOMRIGHT", -65, 83)
+ SkinCloseButton(_G[TALENT_FRAME_NAME.."CloseButton"], TALENT_FRAME.backdrop, -6, -6)
+
+ StripTextures(_G[TALENT_FRAME_NAME.."ScrollFrame"])
+ SkinScrollbar(_G[TALENT_FRAME_NAME.."ScrollFrameScrollBar"])
+
+ _G[TALENT_FRAME_NAME.."TalentPointsText"]:ClearAllPoints()
+ _G[TALENT_FRAME_NAME.."TalentPointsText"]:SetPoint("BOTTOMRIGHT", TALENT_FRAME, "BOTTOMRIGHT", -65, 83)
for i = 1, MAX_NUM_TALENTS do
- local talent = _G["TalentFrameTalent"..i]
+ local talent = _G[TALENT_FRAME_NAME.."Talent"..i]
if talent then
StripTextures(talent)
- SkinButton(talent, nil, nil, nil, _G["TalentFrameTalent"..i.."IconTexture"])
+ SkinButton(talent, nil, nil, nil, _G[TALENT_FRAME_NAME.."Talent"..i.."IconTexture"])
- _G["TalentFrameTalent"..i.."Rank"]:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
+ _G[TALENT_FRAME_NAME.."Talent"..i.."Rank"]:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
end
end
- TalentFrameTab1:ClearAllPoints()
- TalentFrameTab1:SetPoint("TOPLEFT", TalentFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2)))
+ _G[TALENT_FRAME_NAME.."Tab1"]:ClearAllPoints()
+ _G[TALENT_FRAME_NAME.."Tab1"]:SetPoint("TOPLEFT", TALENT_FRAME.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2)))
for i = 1, 5 do
- local tab = _G["TalentFrameTab"..i]
- local lastTab = _G["TalentFrameTab"..(i-1)]
+ local tab = _G[TALENT_FRAME_NAME.."Tab"..i]
+ local lastTab = _G[TALENT_FRAME_NAME.."Tab"..(i-1)]
if lastTab then
tab:ClearAllPoints()
tab:SetPoint("LEFT", lastTab, "RIGHT", border*2 + 1, 0)
diff --git a/skins/blizzard/time_manager.lua b/skins/blizzard/time_manager.lua
new file mode 100644
index 00000000..935eee84
--- /dev/null
+++ b/skins/blizzard/time_manager.lua
@@ -0,0 +1,136 @@
+pfUI:RegisterSkin("Time Manager", "tbc", function ()
+ local border = tonumber(pfUI_config.appearance.border.default)
+ local bpad = border > 1 and border - 1 or 1
+
+ HookAddonOrVariable("Blizzard_TimeManager", function()
+ do -- TimeManagerFrame
+ StripTextures(TimeManagerFrame)
+ CreateBackdrop(TimeManagerFrame, nil, nil, .75)
+ CreateBackdropShadow(TimeManagerFrame)
+
+ TimeManagerFrame.backdrop:SetPoint("TOPLEFT", 10, -10)
+ TimeManagerFrame.backdrop:SetPoint("BOTTOMRIGHT", -48, 1)
+ TimeManagerFrame:SetHitRectInsets(10,48,10,1)
+ EnableMovable(TimeManagerFrame)
+
+ SkinCloseButton(TimeManagerCloseButton, TimeManagerFrame.backdrop, -6, -6)
+
+ local header = GetNoNameObject(TimeManagerFrame, 'FontString', 'BORDER', TIMEMANAGER_TITLE)
+ header:ClearAllPoints()
+ header:SetPoint("TOP", TimeManagerFrame.backdrop, "TOP", 0, -10)
+
+ TimeManagerFrameTicker:ClearAllPoints()
+ TimeManagerFrameTicker:SetPoint("TOPLEFT", TimeManagerFrame.backdrop, "TOPLEFT", 30, -37)
+
+ StripTextures(TimeManagerStopwatchFrame)
+ local texture = TimeManagerStopwatchCheck:GetNormalTexture():GetTexture()
+ SkinButton(TimeManagerStopwatchCheck)
+ TimeManagerStopwatchCheck:SetNormalTexture(texture)
+ HandleIcon(TimeManagerStopwatchCheck, TimeManagerStopwatchCheck:GetNormalTexture())
+
+ local frames = {
+ [TimeManagerAlarmHourDropDown] = '0',
+ [TimeManagerAlarmMinuteDropDown] = '1',
+ [TimeManagerAlarmAMPMDropDown] = '-4'
+ }
+ for frame,Xoffset in pairs(frames) do
+ SkinDropDown(frame, nil, nil, nil, true)
+ local text = _G[frame:GetName().."Text"]
+ local left = _G[frame:GetName().."Left"]
+ text:ClearAllPoints()
+ text:SetPoint("LEFT", left, "LEFT", Xoffset, 1)
+ end
+ TimeManagerAlarmHourDropDown:ClearAllPoints()
+ TimeManagerAlarmHourDropDown:SetPoint("TOPLEFT", TimeManagerAlarmTimeLabel, "BOTTOMLEFT", -4, -4)
+
+ TimeManagerAlarmMessageFrame:ClearAllPoints()
+ TimeManagerAlarmMessageFrame:SetPoint("TOPLEFT", TimeManagerAlarmTimeFrame, "BOTTOMLEFT", 0, 0)
+
+ TimeManagerAlarmMessageEditBox:DisableDrawLayer("BACKGROUND")
+ CreateBackdrop(TimeManagerAlarmMessageEditBox)
+ TimeManagerAlarmMessageEditBox:ClearAllPoints()
+ TimeManagerAlarmMessageEditBox:SetWidth(142)
+ TimeManagerAlarmMessageEditBox:SetPoint("TOPLEFT", TimeManagerAlarmMessageLabel, "BOTTOMLEFT", 13, -5)
+
+ SkinButton(TimeManagerAlarmEnabledButton)
+ TimeManagerAlarmEnabledButton.SetNormalTexture = function() end
+ TimeManagerAlarmEnabledButton.SetPushedTexture = function() end
+ hooksecurefunc("TimeManagerAlarmEnabledButton_Update", function()
+ if TimeManagerAlarmEnabledButton:GetText() == TIMEMANAGER_ALARM_ENABLED then
+ TimeManagerAlarmEnabledButton:LockHighlight()
+ else
+ TimeManagerAlarmEnabledButton:UnlockHighlight()
+ end
+ end)
+ TimeManagerAlarmEnabledButton:ClearAllPoints()
+ TimeManagerAlarmEnabledButton:SetWidth(146)
+ TimeManagerAlarmEnabledButton:SetPoint("TOP", TimeManagerAlarmMessageEditBox, "BOTTOM", 0, -8)
+
+
+ SkinCheckbox(TimeManagerMilitaryTimeCheck)
+ SkinCheckbox(TimeManagerLocalTimeCheck)
+ end
+
+ do -- StopwatchFrame
+ StripTextures(StopwatchFrame)
+
+ StripTextures(StopwatchTabFrame)
+ CreateBackdrop(StopwatchTabFrame, nil, true)
+ StopwatchTabFrame:SetWidth(122)
+ StopwatchTabFrame:SetHeight(18)
+ StopwatchTitle:ClearAllPoints()
+ StopwatchTitle:SetPoint("CENTER", 0, 0)
+ SkinCloseButton(StopwatchCloseButton, StopwatchTabFrame, 0, 0)
+
+ local orig = StopwatchResetButton.SetNormalTexture
+ StopwatchResetButton.SetNormalTexture = function(self, tex)
+ orig(self, tex)
+ local texture = self:GetNormalTexture()
+ texture:SetDesaturated(1)
+ texture:SetTexCoord(.25, .75, .28, .78)
+ end
+ SkinButton(StopwatchResetButton, nil, nil, nil, StopwatchResetButton:GetNormalTexture())
+ StopwatchResetButton:SetNormalTexture("Interface\\TimeManager\\ResetButton") -- initiate update texture
+ StopwatchResetButton:ClearAllPoints()
+ StopwatchResetButton:SetWidth(20)
+ StopwatchResetButton:SetHeight(20)
+ StopwatchResetButton:SetPoint("TOPRIGHT", StopwatchTabFrame, "BOTTOMRIGHT", 0, -2*border + 1)
+
+ local orig = StopwatchPlayPauseButton.SetNormalTexture
+ StopwatchPlayPauseButton.SetNormalTexture = function(self, tex)
+ orig(self, tex)
+ local texture = self:GetNormalTexture()
+ texture:SetDesaturated(1)
+ texture:SetTexCoord(.25, .75, .28, .78)
+ end
+ SkinButton(StopwatchPlayPauseButton, nil, nil, nil, StopwatchPlayPauseButton:GetNormalTexture())
+ StopwatchPlayPauseButton:SetNormalTexture("Interface\\Buttons\\UI-SpellbookIcon-NextPage-Up") -- initiate update texture
+ StopwatchPlayPauseButton:ClearAllPoints()
+ StopwatchPlayPauseButton:SetWidth(20)
+ StopwatchPlayPauseButton:SetHeight(20)
+ StopwatchPlayPauseButton:SetPoint("RIGHT", StopwatchResetButton, "LEFT", -2*bpad, 0)
+
+ CreateBackdrop(StopwatchTicker)
+ StopwatchTicker:ClearAllPoints()
+ StopwatchTicker:SetWidth(70)
+ StopwatchTicker:SetHeight(16)
+ StopwatchTicker:SetPoint("RIGHT", StopwatchPlayPauseButton, "LEFT", -2*border + 1, 0)
+ end
+
+ hooksecurefunc("TimeManagerClockButton_UpdateTooltip", function()
+ GameTooltip:AddLine(" ")
+ GameTooltip:AddLine(TIMEMANAGER_TOOLTIP_TOGGLE_CLOCK_SETTINGS)
+ GameTooltip:Show()
+ end)
+
+ -- needed insecure hook
+ function _G.TimeManagerClockButton_OnClick(self)
+ if self.alarmFiring then
+ PlaySound("igMainMenuQuit")
+ TimeManager_TurnOffAlarm()
+ else
+ ToggleTimeManager()
+ end
+ end
+ end)
+end)
diff --git a/skins/blizzard/tracking.lua b/skins/blizzard/tracking.lua
new file mode 100644
index 00000000..e0a5f095
--- /dev/null
+++ b/skins/blizzard/tracking.lua
@@ -0,0 +1,8 @@
+pfUI:RegisterSkin("tracking", "tbc", function ()
+ MINIMAP_TRACKING_FRAME:DisableDrawLayer("ARTWORK") -- hide border
+ SkinButton(MINIMAP_TRACKING_FRAME, nil, nil, nil, MiniMapTrackingIcon, true)
+ MINIMAP_TRACKING_FRAME:SetHeight(tonumber(C.appearance.minimap.tracking_size) + 10)
+ MINIMAP_TRACKING_FRAME:SetWidth(tonumber(C.appearance.minimap.tracking_size) + 10)
+ MINIMAP_TRACKING_FRAME:SetPoint("TOPLEFT", pfUI.minimap, -10, -10)
+ UpdateMovable(MINIMAP_TRACKING_FRAME)
+end)