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.
510 lines
20 KiB
510 lines
20 KiB
--[[
|
|
Elvui Plugin to reskin new/changed UI
|
|
]]
|
|
|
|
if not IsAddOnLoaded("ElvUI") then return end
|
|
local addonName, addon = ...
|
|
|
|
local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
|
local S = E:GetModule('Skins')
|
|
|
|
local _G = _G
|
|
local select = select
|
|
local ipairs, pairs, unpack = ipairs, pairs, unpack
|
|
|
|
local CreateFrame = CreateFrame
|
|
local GetItemInfo = GetItemInfo
|
|
local hooksecurefunc = hooksecurefunc
|
|
local BAG_ITEM_QUALITY_COLORS = BAG_ITEM_QUALITY_COLORS
|
|
local GetItemQualityColor = GetItemQualityColor
|
|
local C_TransmogCollection_GetSourceInfo = C_TransmogCollection.GetSourceInfo
|
|
|
|
local MyPlugin = E:NewModule('addonName', 'AceHook-3.0', 'AceEvent-3.0', 'AceTimer-3.0') --Create a plugin within ElvUI and adopt AceHook-3.0, AceEvent-3.0 and AceTimer-3.0. We can make use of these later.
|
|
local EP = LibStub("LibElvUIPlugin-1.0") --We can use this to automatically insert our GUI tables when ElvUI_Config is loaded.
|
|
|
|
|
|
local function LoadSkin_ElvUI()
|
|
--DropDownMenu
|
|
hooksecurefunc('BW_UIDropDownMenu_CreateFrames', function(level, index)
|
|
local listFrame = _G['BW_DropDownList'..level];
|
|
|
|
local listFrameName = listFrame:GetName();
|
|
local expandArrow = _G[listFrameName..'Button'..index..'ExpandArrow'];
|
|
if expandArrow then
|
|
local normTex = expandArrow:GetNormalTexture()
|
|
expandArrow:SetNormalTexture(E.Media.Textures.ArrowUp)
|
|
normTex:SetVertexColor(unpack(E.media.rgbvaluecolor))
|
|
normTex:SetRotation(S.ArrowRotation.right)
|
|
expandArrow:Size(12, 12)
|
|
end
|
|
|
|
local Backdrop = _G[listFrameName..'Backdrop']
|
|
if not Backdrop.template then Backdrop:StripTextures() end
|
|
Backdrop:CreateBackdrop('Transparent')
|
|
|
|
local menuBackdrop = _G[listFrameName..'MenuBackdrop']
|
|
if not menuBackdrop.template then menuBackdrop:StripTextures() end
|
|
menuBackdrop:CreateBackdrop('Transparent')
|
|
end)
|
|
|
|
hooksecurefunc('BW_UIDropDownMenu_SetIconImage', function(icon, texture)
|
|
if texture:find('Divider') then
|
|
local r, g, b = unpack(E.media.rgbvaluecolor)
|
|
icon:SetColorTexture(r, g, b, 0.45)
|
|
icon:Height(1)
|
|
end
|
|
end)
|
|
|
|
hooksecurefunc('BW_ToggleDropDownMenu', function(level)
|
|
if not level then
|
|
level = 1;
|
|
end
|
|
|
|
local r, g, b = unpack(E.media.rgbvaluecolor)
|
|
|
|
for i = 1, _G.BW_UIDROPDOWNMENU_MAXBUTTONS do
|
|
local button = _G['BW_DropDownList'..level..'Button'..i]
|
|
local check = _G['BW_DropDownList'..level..'Button'..i..'Check']
|
|
local uncheck = _G['BW_DropDownList'..level..'Button'..i..'UnCheck']
|
|
local highlight = _G['BW_DropDownList'..level..'Button'..i..'Highlight']
|
|
|
|
highlight:SetTexture(E.Media.Textures.Highlight)
|
|
highlight:SetBlendMode('BLEND')
|
|
highlight:SetDrawLayer('BACKGROUND')
|
|
highlight:SetVertexColor(r, g, b)
|
|
|
|
if not button.backdrop then
|
|
button:CreateBackdrop()
|
|
end
|
|
|
|
button.backdrop:Hide()
|
|
|
|
if not button.notCheckable then
|
|
uncheck:SetTexture()
|
|
local _, co = check:GetTexCoord()
|
|
if co == 0 then
|
|
check:SetTexture([[Interface\Buttons\UI-CheckBox-Check]])
|
|
check:SetVertexColor(r, g, b, 1)
|
|
check:Size(20, 20)
|
|
check:SetDesaturated(true)
|
|
button.backdrop:SetInside(check, 4, 4)
|
|
else
|
|
check:SetTexture(E.media.normTex)
|
|
check:SetVertexColor(r, g, b, 1)
|
|
check:Size(10, 10)
|
|
check:SetDesaturated(false)
|
|
button.backdrop:SetOutside(check)
|
|
end
|
|
|
|
button.backdrop:Show()
|
|
check:SetTexCoord(0, 1, 0, 1)
|
|
else
|
|
check:Size(16, 16)
|
|
end
|
|
end
|
|
end)
|
|
|
|
end
|
|
|
|
|
|
function MyPlugin:Initialize()
|
|
--Register plugin so options are properly inserted when config is loaded
|
|
EP:RegisterPlugin(addonName, MyPlugin.InsertOptions)
|
|
LoadSkin_ElvUI()
|
|
end
|
|
|
|
|
|
|
|
local function SkinTransmogFrames()
|
|
|
|
-- Appearances Tab
|
|
local WardrobeCollectionFrame = _G.BetterWardrobeCollectionFrame
|
|
S:HandleTab(WardrobeCollectionFrame.ItemsTab)
|
|
S:HandleTab(WardrobeCollectionFrame.SetsTab)
|
|
S:HandleTab(WardrobeCollectionFrame.ExtraSetsTab)
|
|
S:HandleTab(WardrobeCollectionFrame.SavedSetsTab)
|
|
|
|
WardrobeCollectionFrame.progressBar:StripTextures()
|
|
WardrobeCollectionFrame.progressBar:CreateBackdrop()
|
|
WardrobeCollectionFrame.progressBar:SetStatusBarTexture(E.media.normTex)
|
|
E:RegisterStatusBar(WardrobeCollectionFrame.progressBar)
|
|
|
|
S:HandleEditBox(_G.BetterWardrobeCollectionFrameSearchBox)
|
|
_G.BetterWardrobeCollectionFrameSearchBox:SetFrameLevel(500)
|
|
|
|
S:HandleButton(WardrobeCollectionFrame.FilterButton)
|
|
WardrobeCollectionFrame.FilterButton:Point('LEFT', WardrobeCollectionFrame.searchBox, 'RIGHT', 2, 0)
|
|
S:HandleCloseButton(WardrobeCollectionFrame.FilterButton.ResetButton)
|
|
S:HandleDropDownBox(_G.BetterWardrobeCollectionFrameWeaponDropDown)
|
|
WardrobeCollectionFrame.ItemsCollectionFrame:StripTextures()
|
|
|
|
for _, Frame in ipairs(BetterWardrobeCollectionFrame.ContentFrames) do
|
|
if Frame.Models then
|
|
for _, Model in pairs(Frame.Models) do
|
|
Model:SetFrameLevel(Model:GetFrameLevel() + 1)
|
|
Model.Border:SetAlpha(0)
|
|
Model.TransmogStateTexture:SetAlpha(0)
|
|
|
|
local border = CreateFrame('Frame', nil, Model)
|
|
border:SetTemplate()
|
|
border:ClearAllPoints()
|
|
border:SetPoint('TOPLEFT', Model, 'TOPLEFT', 0, 1) -- dont use set inside, left side needs to be 0
|
|
border:SetPoint('BOTTOMRIGHT', Model, 'BOTTOMRIGHT', 1, -1)
|
|
border:SetBackdropColor(0, 0, 0, 0)
|
|
border.callbackBackdropColor = clearBackdrop
|
|
|
|
if Model.NewGlow then Model.NewGlow:SetParent(border) end
|
|
if Model.NewString then Model.NewString:SetParent(border) end
|
|
|
|
for _, region in next, { Model:GetRegions() } do
|
|
if region:IsObjectType('Texture') then -- check for hover glow
|
|
local texture = region:GetTexture()
|
|
if texture == 1116940 or texture == 1569530 then -- transmogrify.blp (items:1116940 or sets:1569530)
|
|
region:SetColorTexture(1, 1, 1, 0.3)
|
|
region:SetBlendMode('ADD')
|
|
region:SetAllPoints(Model)
|
|
end
|
|
end
|
|
end
|
|
|
|
hooksecurefunc(Model.Border, 'SetAtlas', function(_, texture)
|
|
if texture == 'transmog-wardrobe-border-uncollected' then
|
|
border:SetBackdropBorderColor(0.9, 0.9, 0.3)
|
|
elseif texture == 'transmog-wardrobe-border-unusable' then
|
|
border:SetBackdropBorderColor(0.9, 0.3, 0.3)
|
|
elseif Model.TransmogStateTexture:IsShown() then
|
|
border:SetBackdropBorderColor(1, 0.7, 1)
|
|
else
|
|
border:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
|
|
local pending = Frame.PendingTransmogFrame
|
|
if pending then
|
|
local Glowframe = pending.Glowframe
|
|
Glowframe:SetAtlas(nil)
|
|
Glowframe:CreateBackdrop(nil, nil, nil, nil, nil, nil, nil, nil, pending:GetFrameLevel())
|
|
|
|
if Glowframe.backdrop then
|
|
Glowframe.backdrop:SetPoint('TOPLEFT', pending, 'TOPLEFT', 0, 1) -- dont use set inside, left side needs to be 0
|
|
Glowframe.backdrop:SetPoint('BOTTOMRIGHT', pending, 'BOTTOMRIGHT', 1, -1)
|
|
Glowframe.backdrop:SetBackdropBorderColor(1, 0.7, 1)
|
|
Glowframe.backdrop:SetBackdropColor(0, 0, 0, 0)
|
|
end
|
|
|
|
for i = 1, 12 do
|
|
if i < 5 then
|
|
Frame.PendingTransmogFrame['Smoke'..i]:Hide()
|
|
end
|
|
|
|
Frame.PendingTransmogFrame['Wisp'..i]:Hide()
|
|
end
|
|
end
|
|
|
|
if Frame.PagingFrame then
|
|
S:HandleNextPrevButton(Frame.PagingFrame.PrevPageButton, nil, nil, true)
|
|
S:HandleNextPrevButton(Frame.PagingFrame.NextPageButton, nil, nil, true)
|
|
end
|
|
end
|
|
|
|
local SetsCollectionFrame = BetterWardrobeCollectionFrame.SetsCollectionFrame
|
|
SetsCollectionFrame:SetTemplate('Transparent')
|
|
SetsCollectionFrame.RightInset:StripTextures()
|
|
SetsCollectionFrame.LeftInset:StripTextures()
|
|
S:HandleTrimScrollBar(SetsCollectionFrame.ListContainer.ScrollBar)
|
|
|
|
hooksecurefunc(SetsCollectionFrame.ListContainer.ScrollBox, 'Update', function(button)
|
|
for _, child in next, { button.ScrollTarget:GetChildren() } do
|
|
if not child.IsSkinned then
|
|
child.Background:Hide()
|
|
child.HighlightTexture:SetTexture('')
|
|
child.Icon:SetSize(42, 42)
|
|
S:HandleIcon(child.Icon)
|
|
child.IconCover:SetOutside(child.Icon)
|
|
|
|
child.SelectedTexture:SetDrawLayer('BACKGROUND')
|
|
child.SelectedTexture:SetColorTexture(1, 1, 1, .25)
|
|
child.SelectedTexture:ClearAllPoints()
|
|
child.SelectedTexture:SetPoint('TOPLEFT', 4, -2)
|
|
child.SelectedTexture:SetPoint('BOTTOMRIGHT', -1, 2)
|
|
child.SelectedTexture:CreateBackdrop('Transparent')
|
|
|
|
child.IsSkinned = true
|
|
end
|
|
end
|
|
end)
|
|
|
|
|
|
local DetailsFrame = SetsCollectionFrame.DetailsFrame
|
|
DetailsFrame.ModelFadeTexture:Hide()
|
|
DetailsFrame.IconRowBackground:Hide()
|
|
DetailsFrame.Name:FontTemplate(nil, 16)
|
|
DetailsFrame.LongName:FontTemplate(nil, 16)
|
|
S:HandleButton(DetailsFrame.VariantSetsButton)
|
|
|
|
S:HandleButton(DetailsFrame.BW_LinkSetButton)
|
|
S:HandleButton(DetailsFrame.BW_OpenDressingRoomButton)
|
|
DetailsFrame.BW_LinkSetButton:SetSize(20,20)
|
|
|
|
DetailsFrame.BW_OpenDressingRoomButton:SetSize(20,20)
|
|
|
|
--S:HandleButton(SetsCollectionFrame.BW_SetsHideSlotButton)
|
|
|
|
hooksecurefunc(SetsCollectionFrame, 'SetItemFrameQuality', function(_, itemFrame)
|
|
local icon = itemFrame.Icon
|
|
if not icon.backdrop then
|
|
icon:CreateBackdrop()
|
|
icon:SetTexCoord(unpack(E.TexCoords))
|
|
itemFrame.IconBorder:Hide()
|
|
end
|
|
|
|
if itemFrame.collected then
|
|
local quality = C_TransmogCollection_GetSourceInfo(itemFrame.sourceID).quality or 1
|
|
|
|
local color = BAG_ITEM_QUALITY_COLORS[quality]
|
|
if color then
|
|
icon.backdrop:SetBackdropBorderColor(color.r, color.g, color.b)
|
|
end
|
|
|
|
else
|
|
icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end
|
|
end)
|
|
|
|
_G.BetterWardrobeSetsCollectionVariantSetsButton.Icon:SetTexture(E.Media.Textures.ArrowUp)
|
|
_G.BetterWardrobeSetsCollectionVariantSetsButton.Icon:SetRotation(S.ArrowRotation.down)
|
|
|
|
|
|
--local WardrobeFrame = _G.WardrobeFrame
|
|
--S:HandlePortraitFrame(WardrobeFrame)
|
|
|
|
|
|
local WardrobeOutfitFrame = _G.BetterWardrobeOutfitFrame
|
|
WardrobeOutfitFrame:StripTextures()
|
|
WardrobeOutfitFrame:SetTemplate('Transparent')
|
|
S:HandleButton(_G.BetterWardrobeOutfitDropDown.SaveButton)
|
|
S:HandleDropDownBox(_G.BetterWardrobeOutfitDropDown, 221)
|
|
_G.BetterWardrobeOutfitDropDown:Height(34)
|
|
_G.BetterWardrobeOutfitDropDown.SaveButton:ClearAllPoints()
|
|
_G.BetterWardrobeOutfitDropDown.SaveButton:Point('TOPLEFT', _G.BetterWardrobeOutfitDropDown, 'TOPRIGHT', -2, -2)
|
|
|
|
local WardrobeTransmogFrame = _G.WardrobeTransmogFrame
|
|
WardrobeTransmogFrame:StripTextures()
|
|
|
|
for i = 1, #WardrobeTransmogFrame.SlotButtons do
|
|
local slotButton = WardrobeTransmogFrame.SlotButtons[i]
|
|
slotButton:SetFrameLevel(slotButton:GetFrameLevel() + 2)
|
|
slotButton:StripTextures()
|
|
slotButton:CreateBackdrop(nil, nil, nil, nil, nil, nil, nil, true)
|
|
slotButton.Border:Kill()
|
|
slotButton.Icon:SetTexCoord(unpack(E.TexCoords))
|
|
slotButton.Icon:SetInside(slotButton.backdrop)
|
|
|
|
local undo = slotButton.UndoButton
|
|
if undo then undo:SetHighlightTexture(E.ClearTexture) end
|
|
|
|
local pending = slotButton.PendingFrame
|
|
if pending then
|
|
if slotButton.transmogType == 1 then
|
|
pending.Glow:Size(48)
|
|
pending.Ants:Size(30)
|
|
else
|
|
pending.Glow:Size(74)
|
|
pending.Ants:Size(48)
|
|
end
|
|
end
|
|
end
|
|
|
|
WardrobeTransmogFrame.SpecButton:ClearAllPoints()
|
|
WardrobeTransmogFrame.SpecButton:Point('RIGHT', WardrobeTransmogFrame.ApplyButton, 'LEFT', -2, 0)
|
|
S:HandleButton(WardrobeTransmogFrame.SpecButton)
|
|
S:HandleButton(WardrobeTransmogFrame.ApplyButton)
|
|
S:HandleButton(WardrobeTransmogFrame.ModelScene.ClearAllPendingButton)
|
|
S:HandleCheckBox(WardrobeTransmogFrame.ToggleSecondaryAppearanceCheckbox)
|
|
|
|
WardrobeCollectionFrame.ItemsCollectionFrame:StripTextures()
|
|
WardrobeCollectionFrame.ItemsCollectionFrame:SetTemplate('Transparent')
|
|
|
|
S:HandleButton(BetterWardrobeCollectionFrame.AlteredFormSwapButton)
|
|
BetterWardrobeCollectionFrame.AlteredFormSwapButton:SetSize(20,20)
|
|
BetterWardrobeCollectionFrame.AlteredFormSwapButton.Portrait:SetSize(20,20)
|
|
|
|
WardrobeCollectionFrame.SetsTransmogFrame:StripTextures()
|
|
WardrobeCollectionFrame.SetsTransmogFrame:SetTemplate('Transparent')
|
|
S:HandleNextPrevButton(WardrobeCollectionFrame.SetsTransmogFrame.PagingFrame.NextPageButton)
|
|
S:HandleNextPrevButton(WardrobeCollectionFrame.SetsTransmogFrame.PagingFrame.PrevPageButton)
|
|
|
|
local WardrobeOutfitEditFrame = _G.WardrobeOutfitEditFrame
|
|
WardrobeOutfitEditFrame:StripTextures()
|
|
WardrobeOutfitEditFrame:SetTemplate('Transparent')
|
|
WardrobeOutfitEditFrame.EditBox:StripTextures()
|
|
S:HandleEditBox(WardrobeOutfitEditFrame.EditBox)
|
|
S:HandleButton(WardrobeOutfitEditFrame.AcceptButton)
|
|
S:HandleButton(WardrobeOutfitEditFrame.CancelButton)
|
|
S:HandleButton(WardrobeOutfitEditFrame.DeleteButton)
|
|
|
|
--Items
|
|
S:HandleDropDownBox(BW_SortDropDown)
|
|
S:HandleDropDownBox(SavedOutfitDropDownMenu)
|
|
S:HandleDropDownBox(BW_ColectionListFrame.dropdownFrame)
|
|
BW_ColectionListFrame.dropdownFrame:ClearAllPoints()
|
|
BW_ColectionListFrame.dropdownFrame:SetPoint("BOTTOM", -25, 15)
|
|
|
|
S:HandleButton(BW_CollectionListOptionsButton)
|
|
BW_CollectionListOptionsButton:SetSize(25,25)
|
|
|
|
S:HandleButton(BW_LoadQueueButton)
|
|
BW_LoadQueueButton:ClearAllPoints()
|
|
BW_LoadQueueButton:Point("TOPLEFT",BetterWardrobeOutfitDropDown, "TOPRIGHT", 90, -2)
|
|
|
|
S:HandleButton(BW_RandomizeButton)
|
|
BW_RandomizeButton:ClearAllPoints()
|
|
BW_RandomizeButton:Point("TOPLEFT",BW_LoadQueueButton, "TOPRIGHT", 5, 0)
|
|
|
|
S:HandleButton(BW_SlotHideButton)
|
|
BW_SlotHideButton:ClearAllPoints()
|
|
BW_SlotHideButton:Point("TOPLEFT",BW_RandomizeButton, "TOPRIGHT", 5, 0)
|
|
|
|
S:HandleButton(BW_TransmogOptionsButton)
|
|
S:HandleCheckBox(WardrobeCollectionFrame.ItemsCollectionFrame.ApplyOnClickCheckbox)
|
|
|
|
end
|
|
|
|
local function UpdateDressingRoom()
|
|
--Dropdown Menu
|
|
BetterWardrobeOutfitFrame:StripTextures()
|
|
BetterWardrobeOutfitFrame:CreateBackdrop('Transparent')
|
|
|
|
--DressingRoom
|
|
BW_DressingRoomFrame:StripTextures()
|
|
BW_DressingRoomFrame:CreateBackdrop('Transparent')
|
|
S:HandleScrollBar(BetterWardrobeOutfitFrameScrollFrameScrollBar)
|
|
|
|
|
|
BetterWardrobeDressUpFrameDropDown:StripTextures()
|
|
BetterWardrobeDressUpFrameDropDown:CreateBackdrop()
|
|
--BetterWardrobeOutfitDropDown:Set
|
|
S:HandleNextPrevButton(BetterWardrobeDressUpFrameDropDownButton)
|
|
BetterWardrobeDressUpFrameDropDownButton:ClearAllPoints()
|
|
BetterWardrobeDressUpFrameDropDownButton:SetPoint("RIGHT")
|
|
--BetterWardrobeOutfitDropDown.SaveButton:ClearAllPoints()
|
|
--BetterWardrobeOutfitDropDown.SaveButton:SetPoint("LEFT",BetterWardrobeOutfitDropDown, "RIGHT", 3, 0)
|
|
|
|
|
|
--S:HandleDropDownBox(BetterWardrobeDressUpFrameDropDown, 221)
|
|
--BetterWardrobeDressUpFrameDropDown:SetHeight(34)
|
|
|
|
S:HandleButton(BetterWardrobeDressUpFrameDropDown.SaveButton)
|
|
BetterWardrobeDressUpFrameDropDown.SaveButton:ClearAllPoints()
|
|
BetterWardrobeDressUpFrameDropDown.SaveButton:SetPoint("LEFT", BetterWardrobeDressUpFrameDropDown, "RIGHT", 3, 0)
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomSettingsButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomSettingsButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomSettingsButton:SetPoint("BOTTOMLEFT", 8, 31)
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomExportButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomExportButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomExportButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomSettingsButton, "RIGHT" )
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomTargetButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomTargetButton:SetSize(25,25)
|
|
|
|
BW_DressingRoomFrame.BW_DressingRoomTargetButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomExportButton, "RIGHT" )
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomPlayerButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomPlayerButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomPlayerButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomTargetButton, "RIGHT" )
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomGearButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomGearButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomGearButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomPlayerButton, "RIGHT" )
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomUndressButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomUndressButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomUndressButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomGearButton, "RIGHT" )
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomUndoButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomUndoButton:SetSize(25,25)
|
|
BW_DressingRoomFrame.BW_DressingRoomUndoButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomUndressButton, "RIGHT" )
|
|
|
|
--DressUpFrame.LinkButton:ClearAllPoints()
|
|
--DressUpFrame.LinkButton:SetSize(25,25)
|
|
--DressUpFrame.LinkButton:SetPoint("LEFT", BW_DressingRoomFrame.BW_DressingRoomUndressButton, "RIGHT" , 00)
|
|
|
|
DressUpFrameOutfitDropDown:ClearAllPoints()
|
|
DressUpFrameOutfitDropDown:SetSize(1,1)
|
|
DressUpFrameOutfitDropDown:SetPoint("LEFT", UIParent, "LEFT", -1000,-1000)
|
|
DressUpFrameOutfitDropDown:Hide()
|
|
DressUpFrameOutfitDropDownButton:Hide()
|
|
DressUpFrameOutfitDropDown.SaveButton:Hide()
|
|
for index, button in pairs(BW_DressingRoomFrame.PreviewButtonFrame.Slots) do
|
|
S:HandleItemButton(button)
|
|
--button.IconBorder:SetColorTexture(1, 1, 1, 0.1)
|
|
end
|
|
|
|
S:HandleButton(BW_DressingRoomFrame.BW_DressingRoomSwapFormButton)
|
|
BW_DressingRoomFrame.BW_DressingRoomSwapFormButton:SetSize(20,20)
|
|
BW_DressingRoomFrame.BW_DressingRoomSwapFormButton.Portrait:SetSize(20,20)
|
|
|
|
--Need to redo
|
|
--[[hooksecurefunc(addon, 'DressingRoom_SetItemFrameQuality', function(_, itemFrame)
|
|
local icon = itemFrame.Icon
|
|
if not icon.backdrop then
|
|
icon:CreateBackdrop()
|
|
icon:SetTexCoord(unpack(E.TexCoords))
|
|
itemFrame.IconBorder:Hide()
|
|
local level = itemFrame:GetFrameLevel()
|
|
if icon then
|
|
itemFrame:SetFrameLevel(level +1)
|
|
end
|
|
icon.backdrop:SetFrameLevel(level + .5)
|
|
end
|
|
|
|
if itemFrame.itemLink then
|
|
--local quality = C_TransmogCollection.GetSourceInfo(itemFrame.sourceID).quality
|
|
local _, _, quality, _, _, _, _, _, _, texture = GetItemInfo(itemFrame.itemLink)
|
|
local color = BAG_ITEM_QUALITY_COLORS[quality or 1]
|
|
icon.backdrop:SetBackdropBorderColor(color.r, color.g, color.b)
|
|
else
|
|
icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
|
|
end
|
|
end)]]--
|
|
|
|
-- Outfit Edit Frame
|
|
local WardrobeOutfitEditFrame = _G.BetterWardrobeOutfitEditFrame
|
|
WardrobeOutfitEditFrame:StripTextures()
|
|
WardrobeOutfitEditFrame:CreateBackdrop('Transparent')
|
|
WardrobeOutfitEditFrame.EditBox:StripTextures()
|
|
S:HandleEditBox(WardrobeOutfitEditFrame.EditBox)
|
|
S:HandleButton(WardrobeOutfitEditFrame.AcceptButton)
|
|
S:HandleButton(WardrobeOutfitEditFrame.CancelButton)
|
|
S:HandleButton(WardrobeOutfitEditFrame.DeleteButton)
|
|
end
|
|
|
|
addon.ElvUI_init = false
|
|
local eventFrame
|
|
local function applySkins()
|
|
if not (E.private.skins.blizzard.enable) then return end
|
|
if not E.private.skins.blizzard.enable then return end
|
|
if E.private.skins.blizzard.transmogrify then SkinTransmogFrames() end
|
|
if E.private.skins.blizzard.dressingroom then UpdateDressingRoom() end
|
|
end
|
|
|
|
addon.ApplyElvUISkin = applySkins
|
|
|
|
|
|
function S:BetterWardrobe()
|
|
if not (E.private.skins.blizzard.enable) then return end
|
|
addon.ElvUI_init = true
|
|
|
|
|
|
--We can only skin the addon after the Blizzard Collection addon is loaded. Forcing loading
|
|
--causes elvui to not skin it properly. We wait until it gets loaded and then set the skin
|
|
|
|
end
|
|
|
|
S:AddCallbackForAddon('BetterWardrobe')
|
|
E:RegisterModule(MyPlugin:GetName()) --Register the module with ElvUI. ElvUI will now call MyPlugin:Initialize() when ElvUI is ready to load our plugin.
|
|
--saddon:RegisterMessage("BW_ADDON_LOADED", function() C_Timer.After(5, applySkins) end)
|