You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
308 lines
9.9 KiB
308 lines
9.9 KiB
|
3 years ago
|
local E, L, V, P, G = unpack(ElvUI)
|
||
|
|
local S = E:GetModule('Skins')
|
||
|
|
|
||
|
|
local _G = _G
|
||
|
|
local next = next
|
||
|
|
local pairs = pairs
|
||
|
|
local unpack = unpack
|
||
|
|
|
||
|
|
local hooksecurefunc = hooksecurefunc
|
||
|
|
local GetAuctionSellItemInfo = GetAuctionSellItemInfo
|
||
|
|
local GetItemQualityColor = GetItemQualityColor
|
||
|
|
local CreateFrame = CreateFrame
|
||
|
|
|
||
|
|
function S:Blizzard_AuctionUI()
|
||
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.auctionhouse) then return end
|
||
|
|
|
||
|
|
local AuctionFrame = _G.AuctionFrame
|
||
|
|
AuctionFrame:StripTextures(true)
|
||
|
|
S:HandleFrame(AuctionFrame, true, nil, 10)
|
||
|
|
|
||
|
|
local Buttons = {
|
||
|
|
_G.BrowseSearchButton,
|
||
|
|
_G.BrowseBidButton,
|
||
|
|
_G.BrowseBuyoutButton,
|
||
|
|
_G.BrowseCloseButton,
|
||
|
|
_G.BrowseResetButton,
|
||
|
|
_G.BidBidButton,
|
||
|
|
_G.BidBuyoutButton,
|
||
|
|
_G.BidCloseButton,
|
||
|
|
_G.AuctionsCreateAuctionButton,
|
||
|
|
_G.AuctionsCancelAuctionButton,
|
||
|
|
_G.AuctionsStackSizeMaxButton,
|
||
|
|
_G.AuctionsNumStacksMaxButton,
|
||
|
|
_G.AuctionsCloseButton
|
||
|
|
}
|
||
|
|
|
||
|
|
local CheckBoxes = {
|
||
|
|
_G.IsUsableCheckButton,
|
||
|
|
_G.ShowOnPlayerCheckButton,
|
||
|
|
_G.SortByBidPriceButton,
|
||
|
|
_G.SortByBuyoutPriceButton,
|
||
|
|
_G.SortByTotalPriceButton,
|
||
|
|
_G.SortByUnitPriceButton
|
||
|
|
}
|
||
|
|
|
||
|
|
local EditBoxes = {
|
||
|
|
_G.BrowseName,
|
||
|
|
_G.BrowseMinLevel,
|
||
|
|
_G.BrowseMaxLevel,
|
||
|
|
_G.BrowseBidPriceGold,
|
||
|
|
_G.BrowseBidPriceSilver,
|
||
|
|
_G.BrowseBidPriceCopper,
|
||
|
|
_G.BidBidPriceGold,
|
||
|
|
_G.BidBidPriceSilver,
|
||
|
|
_G.BidBidPriceCopper,
|
||
|
|
_G.AuctionsStackSizeEntry,
|
||
|
|
_G.AuctionsNumStacksEntry,
|
||
|
|
_G.StartPriceGold,
|
||
|
|
_G.StartPriceSilver,
|
||
|
|
_G.StartPriceCopper,
|
||
|
|
_G.BuyoutPriceGold,
|
||
|
|
_G.BuyoutPriceCopper,
|
||
|
|
_G.BuyoutPriceSilver
|
||
|
|
}
|
||
|
|
|
||
|
|
local SortTabs = {
|
||
|
|
_G.BrowseQualitySort,
|
||
|
|
_G.BrowseLevelSort,
|
||
|
|
_G.BrowseDurationSort,
|
||
|
|
_G.BrowseHighBidderSort,
|
||
|
|
_G.BrowseCurrentBidSort,
|
||
|
|
_G.BidQualitySort,
|
||
|
|
_G.BidLevelSort,
|
||
|
|
_G.BidDurationSort,
|
||
|
|
_G.BidBuyoutSort,
|
||
|
|
_G.BidStatusSort,
|
||
|
|
_G.BidBidSort,
|
||
|
|
_G.AuctionsQualitySort,
|
||
|
|
_G.AuctionsDurationSort,
|
||
|
|
_G.AuctionsHighBidderSort,
|
||
|
|
_G.AuctionsBidSort,
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, Button in pairs(Buttons) do
|
||
|
|
S:HandleButton(Button, true)
|
||
|
|
end
|
||
|
|
|
||
|
|
for _, CheckBox in pairs(CheckBoxes) do
|
||
|
|
S:HandleCheckBox(CheckBox)
|
||
|
|
end
|
||
|
|
|
||
|
|
for _, EditBox in pairs(EditBoxes) do
|
||
|
|
S:HandleEditBox(EditBox)
|
||
|
|
EditBox:SetTextInsets(1, 1, -1, 1)
|
||
|
|
end
|
||
|
|
|
||
|
|
for i = 1, AuctionFrame.numTabs do
|
||
|
|
local tab = _G['AuctionFrameTab'..i]
|
||
|
|
|
||
|
|
S:HandleTab(tab)
|
||
|
|
|
||
|
|
if i == 1 then
|
||
|
|
tab:ClearAllPoints()
|
||
|
|
tab:Point('BOTTOMLEFT', AuctionFrame, 'BOTTOMLEFT', 20, -30)
|
||
|
|
tab.SetPoint = E.noop
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
for _, Tab in pairs(SortTabs) do
|
||
|
|
Tab:StripTextures()
|
||
|
|
Tab:SetNormalTexture([[Interface\Buttons\UI-SortArrow]])
|
||
|
|
Tab:StyleButton()
|
||
|
|
end
|
||
|
|
|
||
|
|
for _, Filter in pairs(_G.AuctionFrameBrowse.FilterButtons) do
|
||
|
|
Filter:StripTextures()
|
||
|
|
Filter:StyleButton()
|
||
|
|
|
||
|
|
Filter = Filter:GetName()
|
||
|
|
_G[Filter..'Lines']:SetAlpha(0)
|
||
|
|
_G[Filter..'Lines'].SetAlpha = E.noop
|
||
|
|
_G[Filter..'NormalTexture']:SetAlpha(0)
|
||
|
|
_G[Filter..'NormalTexture'].SetAlpha = E.noop
|
||
|
|
end
|
||
|
|
|
||
|
|
_G.BrowsePriceOptionsFrame:SetTemplate('Transparent')
|
||
|
|
|
||
|
|
for _, child in next, { _G.BrowsePriceOptionsFrame:GetChildren() } do
|
||
|
|
if child:IsObjectType('Button') then
|
||
|
|
S:HandleButton(child)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
_G.BrowsePriceOptionsButtonFrame:ClearAllPoints()
|
||
|
|
_G.BrowsePriceOptionsButtonFrame:Point('TOPRIGHT', _G.BrowseCurrentBidSort, 'TOPRIGHT', 6, 10)
|
||
|
|
|
||
|
|
_G.BrowseLevelHyphen:Point('RIGHT', 13, 0)
|
||
|
|
|
||
|
|
S:HandleCloseButton(_G.AuctionFrameCloseButton, AuctionFrame.backdrop)
|
||
|
|
|
||
|
|
_G.AuctionFrameMoneyFrame:Point('BOTTOMRIGHT', AuctionFrame, 'BOTTOMLEFT', 181, 11)
|
||
|
|
|
||
|
|
-- Browse Frame
|
||
|
|
_G.BrowseTitle:ClearAllPoints()
|
||
|
|
_G.BrowseTitle:Point('TOP', AuctionFrame, 'TOP', 0, -5)
|
||
|
|
|
||
|
|
_G.BrowseScrollFrame:StripTextures()
|
||
|
|
|
||
|
|
_G.BrowseFilterScrollFrame:StripTextures()
|
||
|
|
|
||
|
|
_G.BrowseCloseButton:Point('BOTTOMRIGHT', 66, 6)
|
||
|
|
_G.BrowseBuyoutButton:Point('RIGHT', _G.BrowseCloseButton, 'LEFT', -4, 0)
|
||
|
|
_G.BrowseBidButton:Point('RIGHT', _G.BrowseBuyoutButton, 'LEFT', -4, 0)
|
||
|
|
|
||
|
|
_G.BrowseBidPrice:Point('BOTTOM', 25, 10)
|
||
|
|
|
||
|
|
S:HandleScrollBar(_G.BrowseFilterScrollFrameScrollBar)
|
||
|
|
S:HandleScrollBar(_G.BrowseScrollFrameScrollBar)
|
||
|
|
S:HandleNextPrevButton(_G.BrowsePrevPageButton, nil, nil, true)
|
||
|
|
S:HandleNextPrevButton(_G.BrowseNextPageButton, nil, nil, true)
|
||
|
|
|
||
|
|
-- Bid Frame
|
||
|
|
_G.BidTitle:ClearAllPoints()
|
||
|
|
_G.BidTitle:Point('TOP', _G.AuctionFrame, 'TOP', 0, -5)
|
||
|
|
|
||
|
|
_G.BidScrollFrame:StripTextures()
|
||
|
|
|
||
|
|
_G.BidBidText:ClearAllPoints()
|
||
|
|
_G.BidBidText:Point('RIGHT', _G.BidBidButton, 'LEFT', -270, 2)
|
||
|
|
|
||
|
|
_G.BidCloseButton:Point('BOTTOMRIGHT', 66, 6)
|
||
|
|
_G.BidBuyoutButton:Point('RIGHT', _G.BidCloseButton, 'LEFT', -4, 0)
|
||
|
|
_G.BidBidButton:Point('RIGHT', _G.BidBuyoutButton, 'LEFT', -4, 0)
|
||
|
|
|
||
|
|
_G.BidBidPrice:Point('BOTTOM', 25, 10)
|
||
|
|
|
||
|
|
S:HandleScrollBar(_G.BidScrollFrameScrollBar)
|
||
|
|
_G.BidScrollFrameScrollBar:ClearAllPoints()
|
||
|
|
_G.BidScrollFrameScrollBar:Point('TOPRIGHT', _G.BidScrollFrame, 'TOPRIGHT', 23, -18)
|
||
|
|
_G.BidScrollFrameScrollBar:Point('BOTTOMRIGHT', _G.BidScrollFrame, 'BOTTOMRIGHT', 0, 16)
|
||
|
|
|
||
|
|
-- Auctions Frame
|
||
|
|
_G.AuctionsTitle:ClearAllPoints()
|
||
|
|
_G.AuctionsTitle:Point('TOP', AuctionFrame, 'TOP', 0, -5)
|
||
|
|
|
||
|
|
_G.AuctionsScrollFrame:StripTextures()
|
||
|
|
|
||
|
|
S:HandleScrollBar(_G.AuctionsScrollFrameScrollBar)
|
||
|
|
_G.AuctionsScrollFrameScrollBar:ClearAllPoints()
|
||
|
|
_G.AuctionsScrollFrameScrollBar:Point('TOPRIGHT', _G.AuctionsScrollFrame, 'TOPRIGHT', 23, -20)
|
||
|
|
_G.AuctionsScrollFrameScrollBar:Point('BOTTOMRIGHT', _G.AuctionsScrollFrame, 'BOTTOMRIGHT', 0, 18)
|
||
|
|
|
||
|
|
_G.AuctionsCloseButton:Point('BOTTOMRIGHT', 66, 6)
|
||
|
|
_G.AuctionsCancelAuctionButton:Point('RIGHT', _G.AuctionsCloseButton, 'LEFT', -4, 0)
|
||
|
|
|
||
|
|
_G.AuctionsStackSizeEntry.backdrop:SetAllPoints()
|
||
|
|
_G.AuctionsNumStacksEntry.backdrop:SetAllPoints()
|
||
|
|
|
||
|
|
_G.AuctionsItemButton:StripTextures()
|
||
|
|
_G.AuctionsItemButton:SetTemplate(nil, true)
|
||
|
|
_G.AuctionsItemButton:StyleButton()
|
||
|
|
|
||
|
|
_G.AuctionsItemButton:HookScript('OnEvent', function(button, event)
|
||
|
|
local normal = event == 'NEW_AUCTION_UPDATE' and button:GetNormalTexture()
|
||
|
|
if normal then
|
||
|
|
normal:SetTexCoord(unpack(E.TexCoords))
|
||
|
|
normal:SetInside()
|
||
|
|
|
||
|
|
local _, _, _, quality = GetAuctionSellItemInfo()
|
||
|
|
if quality and quality > 1 then
|
||
|
|
local r, g, b = GetItemQualityColor(quality)
|
||
|
|
button:SetBackdropBorderColor(r, g, b)
|
||
|
|
else
|
||
|
|
button:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||
|
|
end
|
||
|
|
else
|
||
|
|
button:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
|
||
|
|
S:HandleRadioButton(_G.AuctionsShortAuctionButton)
|
||
|
|
S:HandleRadioButton(_G.AuctionsMediumAuctionButton)
|
||
|
|
S:HandleRadioButton(_G.AuctionsLongAuctionButton)
|
||
|
|
|
||
|
|
S:HandleDropDownBox(_G.BrowseDropDown, 155)
|
||
|
|
S:HandleDropDownBox(_G.PriceDropDown)
|
||
|
|
|
||
|
|
-- Progress Frame
|
||
|
|
_G.AuctionProgressFrame:StripTextures()
|
||
|
|
_G.AuctionProgressFrame:SetTemplate('Transparent')
|
||
|
|
|
||
|
|
local AuctionProgressFrameCancelButton = _G.AuctionProgressFrameCancelButton
|
||
|
|
S:HandleButton(AuctionProgressFrameCancelButton)
|
||
|
|
AuctionProgressFrameCancelButton:SetHitRectInsets(0, 0, 0, 0)
|
||
|
|
AuctionProgressFrameCancelButton:GetNormalTexture():SetTexture(E.Media.Textures.Close)
|
||
|
|
AuctionProgressFrameCancelButton:GetNormalTexture():SetInside()
|
||
|
|
AuctionProgressFrameCancelButton:Size(28)
|
||
|
|
AuctionProgressFrameCancelButton:Point('LEFT', _G.AuctionProgressBar, 'RIGHT', 8, 0)
|
||
|
|
|
||
|
|
for Frame, NumButtons in pairs({['Browse'] = _G.NUM_BROWSE_TO_DISPLAY, ['Auctions'] = _G.NUM_AUCTIONS_TO_DISPLAY, ['Bid'] = _G.NUM_BIDS_TO_DISPLAY}) do
|
||
|
|
for i = 1, NumButtons do
|
||
|
|
local Button = _G[Frame..'Button'..i]
|
||
|
|
local ItemButton = _G[Frame..'Button'..i..'Item']
|
||
|
|
local Texture = _G[Frame..'Button'..i..'ItemIconTexture']
|
||
|
|
local Name = _G[Frame..'Button'..i..'Name']
|
||
|
|
|
||
|
|
ItemButton:SetTemplate()
|
||
|
|
ItemButton:StyleButton()
|
||
|
|
ItemButton.IconBorder:SetAlpha(0)
|
||
|
|
|
||
|
|
Button:StripTextures()
|
||
|
|
Button:SetHighlightTexture(E.media.blankTex)
|
||
|
|
Button:GetHighlightTexture():SetVertexColor(1, 1, 1, .2)
|
||
|
|
|
||
|
|
ItemButton:GetNormalTexture():SetTexture()
|
||
|
|
Button:GetHighlightTexture():Point('TOPLEFT', ItemButton, 'TOPRIGHT', 2, 0)
|
||
|
|
Button:GetHighlightTexture():Point('BOTTOMRIGHT', Button, 'BOTTOMRIGHT', -2, 5)
|
||
|
|
|
||
|
|
S:HandleIcon(Texture)
|
||
|
|
Texture:SetInside()
|
||
|
|
|
||
|
|
if Name then
|
||
|
|
hooksecurefunc(Name, 'SetVertexColor', function(_, r, g, b)
|
||
|
|
if not (r == g) then
|
||
|
|
ItemButton:SetBackdropBorderColor(r, g, b)
|
||
|
|
else
|
||
|
|
ItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
|
||
|
|
hooksecurefunc(Name, 'Hide', function() ItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) end)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
-- Custom Backdrops
|
||
|
|
for _, Frame in pairs({_G.AuctionFrameBrowse, _G.AuctionFrameAuctions}) do
|
||
|
|
Frame.LeftBackground = CreateFrame('Frame', nil, Frame)
|
||
|
|
Frame.LeftBackground:SetTemplate('Transparent')
|
||
|
|
Frame.LeftBackground:SetFrameLevel(Frame:GetFrameLevel() - 1)
|
||
|
|
|
||
|
|
Frame.RightBackground = CreateFrame('Frame', nil, Frame)
|
||
|
|
Frame.RightBackground:SetTemplate('Transparent')
|
||
|
|
Frame.RightBackground:SetFrameLevel(Frame:GetFrameLevel() - 1)
|
||
|
|
end
|
||
|
|
|
||
|
|
local AuctionFrameAuctions = _G.AuctionFrameAuctions
|
||
|
|
AuctionFrameAuctions.LeftBackground:Point('TOPLEFT', 15, -72)
|
||
|
|
AuctionFrameAuctions.LeftBackground:Point('BOTTOMRIGHT', -545, 34)
|
||
|
|
|
||
|
|
AuctionFrameAuctions.RightBackground:Point('TOPLEFT', AuctionFrameAuctions.LeftBackground, 'TOPRIGHT', 3, 0)
|
||
|
|
AuctionFrameAuctions.RightBackground:Point('BOTTOMRIGHT', AuctionFrame, -8, 34)
|
||
|
|
|
||
|
|
local AuctionFrameBrowse = _G.AuctionFrameBrowse
|
||
|
|
AuctionFrameBrowse.LeftBackground:Point('TOPLEFT', 20, -103)
|
||
|
|
AuctionFrameBrowse.LeftBackground:Point('BOTTOMRIGHT', -575, 34)
|
||
|
|
|
||
|
|
AuctionFrameBrowse.RightBackground:Point('TOPLEFT', AuctionFrameBrowse.LeftBackground, 'TOPRIGHT', 4, 0)
|
||
|
|
AuctionFrameBrowse.RightBackground:Point('BOTTOMRIGHT', AuctionFrame, 'BOTTOMRIGHT', -8, 34)
|
||
|
|
|
||
|
|
local AuctionFrameBid = _G.AuctionFrameBid
|
||
|
|
AuctionFrameBid.Background = CreateFrame('Frame', nil, AuctionFrameBid)
|
||
|
|
S:HandleFrame(AuctionFrameBid.Background, true, nil, 22, -72, 66, 34)
|
||
|
|
AuctionFrameBid.Background:SetFrameLevel(AuctionFrameBid:GetFrameLevel() - 1)
|
||
|
|
end
|
||
|
|
|
||
|
|
S:AddCallbackForAddon('Blizzard_AuctionUI')
|