init
This commit is contained in:
@@ -0,0 +1,302 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local S = E:GetModule("Skins")
|
||||
|
||||
--Lua functions
|
||||
local _G = _G
|
||||
local type = type
|
||||
local unpack = unpack
|
||||
--WoW API / Variables
|
||||
|
||||
S:AddCallback("Skin_Misc", function()
|
||||
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.misc then return end
|
||||
|
||||
-- ESC/Menu Buttons
|
||||
GameMenuFrame:StripTextures()
|
||||
GameMenuFrame:CreateBackdrop("Transparent")
|
||||
|
||||
GameMenuFrameHeader:Point("TOP", 0, 7)
|
||||
|
||||
local menuButtons = {
|
||||
GameMenuButtonOptions,
|
||||
GameMenuButtonSoundOptions,
|
||||
GameMenuButtonUIOptions,
|
||||
-- GameMenuButtonMacOptions,
|
||||
GameMenuButtonKeybindings,
|
||||
GameMenuButtonMacros,
|
||||
-- GameMenuButtonRatings,
|
||||
GameMenuButtonLogout,
|
||||
GameMenuButtonQuit,
|
||||
GameMenuButtonContinue,
|
||||
|
||||
ElvUI_MenuButton
|
||||
}
|
||||
|
||||
for i = 1, #menuButtons do
|
||||
local button = menuButtons[i]
|
||||
if button then
|
||||
S:HandleButton(menuButtons[i])
|
||||
end
|
||||
end
|
||||
|
||||
-- Static Popups
|
||||
for i = 1, 4 do
|
||||
local staticPopup = _G["StaticPopup"..i]
|
||||
local itemFrame = _G["StaticPopup"..i.."ItemFrame"]
|
||||
local itemFrameBox = _G["StaticPopup"..i.."EditBox"]
|
||||
local itemFrameTexture = _G["StaticPopup"..i.."ItemFrameIconTexture"]
|
||||
local itemFrameNormal = _G["StaticPopup"..i.."ItemFrameNormalTexture"]
|
||||
local itemFrameName = _G["StaticPopup"..i.."ItemFrameNameFrame"]
|
||||
local closeButton = _G["StaticPopup"..i.."CloseButton"]
|
||||
local wideBox = _G["StaticPopup"..i.."WideEditBox"]
|
||||
|
||||
staticPopup:SetTemplate("Transparent")
|
||||
|
||||
S:HandleEditBox(itemFrameBox)
|
||||
itemFrameBox.backdrop:Point("TOPLEFT", -2, -4)
|
||||
itemFrameBox.backdrop:Point("BOTTOMRIGHT", 2, 4)
|
||||
|
||||
S:HandleEditBox(_G["StaticPopup"..i.."MoneyInputFrameGold"])
|
||||
S:HandleEditBox(_G["StaticPopup"..i.."MoneyInputFrameSilver"])
|
||||
S:HandleEditBox(_G["StaticPopup"..i.."MoneyInputFrameCopper"])
|
||||
|
||||
for j = 1, itemFrameBox:GetNumRegions() do
|
||||
local region = select(j, itemFrameBox:GetRegions())
|
||||
if region and region:GetObjectType() == "Texture" then
|
||||
if region:GetTexture() == "Interface\\ChatFrame\\UI-ChatInputBorder-Left" or region:GetTexture() == "Interface\\ChatFrame\\UI-ChatInputBorder-Right" then
|
||||
region:Kill()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
closeButton:StripTextures()
|
||||
S:HandleCloseButton(closeButton, staticPopup)
|
||||
|
||||
itemFrame:GetNormalTexture():Kill()
|
||||
itemFrame:SetTemplate()
|
||||
itemFrame:StyleButton()
|
||||
|
||||
hooksecurefunc("StaticPopup_Show", function(which, _, _, data)
|
||||
local info = StaticPopupDialogs[which]
|
||||
if not info then return nil end
|
||||
|
||||
if info.hasItemFrame then
|
||||
if data and type(data) == "table" then
|
||||
if data.color then
|
||||
itemFrame:SetBackdropBorderColor(unpack(data.color))
|
||||
else
|
||||
itemFrame:SetBackdropBorderColor(1, 1, 1, 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
itemFrameTexture:SetTexCoord(unpack(E.TexCoords))
|
||||
itemFrameTexture:SetInside()
|
||||
|
||||
itemFrameNormal:SetAlpha(0)
|
||||
itemFrameName:Kill()
|
||||
|
||||
select(8, wideBox:GetRegions()):Hide()
|
||||
S:HandleEditBox(wideBox)
|
||||
wideBox:Height(22)
|
||||
|
||||
for j = 1, 3 do
|
||||
S:HandleButton(_G["StaticPopup"..i.."Button"..j])
|
||||
end
|
||||
end
|
||||
|
||||
-- Other Frames
|
||||
TicketStatusFrameButton:SetTemplate("Transparent")
|
||||
AutoCompleteBox:SetTemplate("Transparent")
|
||||
ConsolidatedBuffsTooltip:SetTemplate("Transparent")
|
||||
--ResInSafeZoneButton
|
||||
|
||||
-- BNToast Frame
|
||||
BNToastFrame:SetTemplate("Transparent")
|
||||
|
||||
BNToastFrameCloseButton:Size(32)
|
||||
BNToastFrameCloseButton:Point("TOPRIGHT", "BNToastFrame", 4, 4)
|
||||
|
||||
S:HandleCloseButton(BNToastFrameCloseButton, BNToastFrame)
|
||||
|
||||
-- Ready Check Frame
|
||||
ReadyCheckFrame:EnableMouse(true)
|
||||
ReadyCheckFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(ReadyCheckFrameYesButton)
|
||||
ReadyCheckFrameYesButton:SetParent(ReadyCheckFrame)
|
||||
ReadyCheckFrameYesButton:ClearAllPoints()
|
||||
ReadyCheckFrameYesButton:Point("TOPRIGHT", ReadyCheckFrame, "CENTER", -3, -5)
|
||||
|
||||
S:HandleButton(ReadyCheckFrameNoButton)
|
||||
ReadyCheckFrameNoButton:SetParent(ReadyCheckFrame)
|
||||
ReadyCheckFrameNoButton:ClearAllPoints()
|
||||
ReadyCheckFrameNoButton:Point("TOPLEFT", ReadyCheckFrame, "CENTER", 4, -5)
|
||||
|
||||
ReadyCheckFrameText:SetParent(ReadyCheckFrame)
|
||||
ReadyCheckFrameText:Point("TOP", 0, -15)
|
||||
ReadyCheckFrameText:SetTextColor(1, 1, 1)
|
||||
|
||||
ReadyCheckListenerFrame:SetAlpha(0)
|
||||
|
||||
-- Coin PickUp Frame
|
||||
CoinPickupFrame:StripTextures()
|
||||
CoinPickupFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleButton(CoinPickupOkayButton)
|
||||
S:HandleButton(CoinPickupCancelButton)
|
||||
|
||||
-- Zone Text Frame
|
||||
ZoneTextFrame:ClearAllPoints()
|
||||
ZoneTextFrame:Point("TOP", UIParent, 0, -128)
|
||||
|
||||
-- Stack Split Frame
|
||||
StackSplitFrame:SetTemplate("Transparent")
|
||||
StackSplitFrame:GetRegions():Hide()
|
||||
StackSplitFrame:SetFrameStrata("DIALOG")
|
||||
|
||||
StackSplitFrame.bg1 = CreateFrame("Frame", nil, StackSplitFrame)
|
||||
StackSplitFrame.bg1:SetFrameLevel(StackSplitFrame.bg1:GetFrameLevel() - 1)
|
||||
StackSplitFrame.bg1:SetTemplate("Transparent")
|
||||
StackSplitFrame.bg1:Point("TOPLEFT", 10, -15)
|
||||
StackSplitFrame.bg1:Point("BOTTOMRIGHT", -10, 55)
|
||||
|
||||
S:HandleButton(StackSplitOkayButton)
|
||||
S:HandleButton(StackSplitCancelButton)
|
||||
|
||||
-- Opacity Frame
|
||||
OpacityFrame:StripTextures()
|
||||
OpacityFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleSliderFrame(OpacityFrameSlider)
|
||||
|
||||
-- Channel Pullout Frame
|
||||
ChannelPullout:SetTemplate("Transparent")
|
||||
|
||||
ChannelPulloutBackground:Kill()
|
||||
|
||||
S:HandleTab(ChannelPulloutTab)
|
||||
ChannelPulloutTab:Size(107, 26)
|
||||
ChannelPulloutTabText:Point("LEFT", ChannelPulloutTabLeft, "RIGHT", 0, 4)
|
||||
|
||||
S:HandleCloseButton(ChannelPulloutCloseButton, ChannelPullout)
|
||||
ChannelPulloutCloseButton:Size(32)
|
||||
|
||||
-- Dropdown Menu
|
||||
local checkBoxSkin = E.private.skins.dropdownCheckBoxSkin
|
||||
local menuLevel = 0
|
||||
local maxButtons = 0
|
||||
|
||||
local function dropDownButtonShow(self)
|
||||
if self.notCheckable then
|
||||
self.check.backdrop:Hide()
|
||||
else
|
||||
self.check.backdrop:Show()
|
||||
end
|
||||
end
|
||||
|
||||
local function skinDropdownMenu()
|
||||
local updateButtons = maxButtons < UIDROPDOWNMENU_MAXBUTTONS
|
||||
|
||||
if updateButtons or menuLevel < UIDROPDOWNMENU_MAXLEVELS then
|
||||
for i = 1, UIDROPDOWNMENU_MAXLEVELS do
|
||||
local frame = _G["DropDownList"..i]
|
||||
|
||||
if not frame.isSkinned then
|
||||
_G["DropDownList"..i.."Backdrop"]:SetTemplate("Transparent")
|
||||
_G["DropDownList"..i.."MenuBackdrop"]:SetTemplate("Transparent")
|
||||
|
||||
frame.isSkinned = true
|
||||
end
|
||||
|
||||
if updateButtons then
|
||||
for j = 1, UIDROPDOWNMENU_MAXBUTTONS do
|
||||
local button = _G["DropDownList"..i.."Button"..j]
|
||||
|
||||
if not button.isSkinned then
|
||||
S:HandleButtonHighlight(_G["DropDownList"..i.."Button"..j.."Highlight"])
|
||||
|
||||
if checkBoxSkin then
|
||||
local check = _G["DropDownList"..i.."Button"..j.."Check"]
|
||||
check:Size(12)
|
||||
check:Point("LEFT", 1, 0)
|
||||
check:CreateBackdrop()
|
||||
check:SetTexture(E.media.normTex)
|
||||
check:SetVertexColor(1, 0.82, 0, 0.8)
|
||||
|
||||
button.check = check
|
||||
hooksecurefunc(button, "Show", dropDownButtonShow)
|
||||
end
|
||||
|
||||
S:HandleColorSwatch(_G["DropDownList"..i.."Button"..j.."ColorSwatch"], 14)
|
||||
|
||||
button.isSkinned = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
menuLevel = UIDROPDOWNMENU_MAXLEVELS
|
||||
maxButtons = UIDROPDOWNMENU_MAXBUTTONS
|
||||
end
|
||||
end
|
||||
|
||||
skinDropdownMenu()
|
||||
hooksecurefunc("UIDropDownMenu_InitializeHelper", skinDropdownMenu)
|
||||
|
||||
-- Chat Menu
|
||||
local chatMenus = {
|
||||
"ChatMenu",
|
||||
"EmoteMenu",
|
||||
"LanguageMenu",
|
||||
"VoiceMacroMenu",
|
||||
}
|
||||
|
||||
for i = 1, #chatMenus do
|
||||
if chatMenus[i] == "ChatMenu" then
|
||||
_G[chatMenus[i]]:HookScript("OnShow", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
self:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
self:ClearAllPoints()
|
||||
self:Point("BOTTOMLEFT", ChatFrame1, "TOPLEFT", 0, 30)
|
||||
end)
|
||||
else
|
||||
_G[chatMenus[i]]:HookScript("OnShow", function(self)
|
||||
self:SetTemplate("Transparent")
|
||||
self:SetBackdropColor(unpack(E.media.backdropfadecolor))
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1, 32 do
|
||||
_G["ChatMenuButton"..i]:StyleButton()
|
||||
_G["EmoteMenuButton"..i]:StyleButton()
|
||||
_G["LanguageMenuButton"..i]:StyleButton()
|
||||
_G["VoiceMacroMenuButton"..i]:StyleButton()
|
||||
end
|
||||
|
||||
local locale = GetLocale()
|
||||
if locale == "koKR" then
|
||||
S:HandleButton(GameMenuButtonRatings)
|
||||
|
||||
RatingMenuFrame:SetTemplate("Transparent")
|
||||
RatingMenuFrameHeader:Kill()
|
||||
S:HandleButton(RatingMenuButtonOkay)
|
||||
elseif locale == "ruRU" then
|
||||
-- Declension Frame
|
||||
DeclensionFrame:SetTemplate("Transparent")
|
||||
|
||||
S:HandleNextPrevButton(DeclensionFrameSetPrev)
|
||||
S:HandleNextPrevButton(DeclensionFrameSetNext)
|
||||
S:HandleButton(DeclensionFrameOkayButton)
|
||||
S:HandleButton(DeclensionFrameCancelButton)
|
||||
|
||||
for i = 1, RUSSIAN_DECLENSION_PATTERNS do
|
||||
local editBox = _G["DeclensionFrameDeclension"..i.."Edit"]
|
||||
if editBox then
|
||||
editBox:StripTextures()
|
||||
S:HandleEditBox(editBox)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
Reference in New Issue
Block a user