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.
108 lines
3.0 KiB
108 lines
3.0 KiB
local AS = unpack(AddOnSkins)
|
|
if AS:CheckAddOn('ProjectAzilroka') or AS:CheckAddOn('ElvUI') then return end
|
|
|
|
local AC = AS:NewModule("AddOnSkinsConfig", 'AceConsole-3.0', 'AceEvent-3.0')
|
|
_G.AddOnSkins_Config = AC
|
|
|
|
AC.Title = "|cff1784d1AddOnSkins Config|r"
|
|
AC.Authors = "Azilroka"
|
|
|
|
local DEVELOPERS = {
|
|
'Elv',
|
|
'Tukz',
|
|
'Hydrazine',
|
|
'Whiro',
|
|
}
|
|
|
|
local DEVELOPER_STRING = ''
|
|
|
|
sort(DEVELOPERS, function(a,b) return a < b end)
|
|
for _, devName in pairs(DEVELOPERS) do
|
|
DEVELOPER_STRING = DEVELOPER_STRING..'\n'..devName
|
|
end
|
|
|
|
AC.Options = {
|
|
type = 'group',
|
|
name = AS.Title,
|
|
order = 205,
|
|
args = {
|
|
credits = {
|
|
type = 'group',
|
|
name = 'Credits',
|
|
order = -1,
|
|
args = {
|
|
text = {
|
|
order = 1,
|
|
type = 'description',
|
|
fontSize = 'medium',
|
|
name = 'Coding:\n'..DEVELOPER_STRING,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
function AC:PositionGameMenuButton()
|
|
GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + GameMenuButtonLogout:GetHeight() - 4)
|
|
|
|
if AS:CheckAddOn('Tukui') and Tukui[1].Miscellaneous.GameMenu.Tukui then
|
|
GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + GameMenuButtonLogout:GetHeight() - 4)
|
|
end
|
|
|
|
local _, relTo, _, _, offY = GameMenuButtonLogout:GetPoint()
|
|
if relTo ~= GameMenuFrame['AC'] then
|
|
GameMenuFrame['AC']:ClearAllPoints()
|
|
GameMenuFrame['AC']:SetPoint("TOPLEFT", AS:CheckAddOn('Tukui') and Tukui[1].Miscellaneous.GameMenu.Tukui or relTo, "BOTTOMLEFT", 0, -1)
|
|
GameMenuButtonLogout:ClearAllPoints()
|
|
GameMenuButtonLogout:SetPoint("TOPLEFT", GameMenuFrame['AC'], "BOTTOMLEFT", 0, offY)
|
|
end
|
|
end
|
|
|
|
function AC.OnConfigClosed(widget, event)
|
|
AS.Libs.ACD.OpenFrames['AddOnSkins_Config'] = nil
|
|
AS.Libs.GUI:Release(widget)
|
|
end
|
|
|
|
function AC:ToggleConfig()
|
|
if not AS.Libs.ACD.OpenFrames['AddOnSkins_Config'] then
|
|
local Container = AS.Libs.GUI:Create('Frame')
|
|
AS:CreateShadow(Container.frame)
|
|
AS.Libs.ACD.OpenFrames['AddOnSkins_Config'] = Container
|
|
Container:SetCallback('OnClose', AC.OnConfigClosed)
|
|
AS.Libs.ACD:Open('AddOnSkins_Config', Container)
|
|
end
|
|
|
|
GameTooltip:Hide()
|
|
end
|
|
|
|
function AC:ADDON_LOADED(event, addon)
|
|
if addon == 'Tukui' then
|
|
Tukui[1].Miscellaneous.GameMenu.EnableTukuiConfig = function() end
|
|
Tukui[1].Miscellaneous.GameMenu.AddHooks = function() end
|
|
AC:UnregisterEvent(event)
|
|
end
|
|
end
|
|
|
|
function AC:Initialize()
|
|
local GameMenuButton = CreateFrame("Button", nil, GameMenuFrame, "GameMenuButtonTemplate")
|
|
GameMenuButton:SetText(AS.Title)
|
|
GameMenuButton:SetScript("OnClick", function()
|
|
AC:ToggleConfig()
|
|
HideUIPanel(GameMenuFrame)
|
|
end)
|
|
GameMenuFrame['AC'] = GameMenuButton
|
|
|
|
if not IsAddOnLoaded("ConsolePortUI_Menu") then
|
|
GameMenuButton:SetSize(GameMenuButtonLogout:GetWidth(), GameMenuButtonLogout:GetHeight())
|
|
GameMenuButton:SetPoint("TOPLEFT", GameMenuButtonAddons, "BOTTOMLEFT", 0, -1)
|
|
hooksecurefunc('GameMenuFrame_UpdateVisibleButtons', self.PositionGameMenuButton)
|
|
end
|
|
|
|
AS.Libs.AC:RegisterOptionsTable('AddOnSkins_Config', AC.Options)
|
|
AS.Libs.ACD:SetDefaultSize('AddOnSkins_Config', 1200, 800)
|
|
AC:RegisterChatCommand('addonskins', 'ToggleConfig')
|
|
|
|
AC:RegisterEvent('ADDON_LOADED')
|
|
end
|
|
|
|
AC:Initialize()
|
|
|