|
|
|
|
local PA = _G.ProjectAzilroka
|
|
|
|
|
if PA.ElvUI then return end
|
|
|
|
|
|
|
|
|
|
local EC = PA:NewModule("EnhancedConfig", 'AceConsole-3.0', 'AceEvent-3.0')
|
|
|
|
|
PA.EC, _G.Enhanced_Config = EC, EC
|
|
|
|
|
|
|
|
|
|
EC.Title = PA.ACL["|cff1784d1Enhanced Config|r"]
|
|
|
|
|
EC.Authors = "Azilroka"
|
|
|
|
|
|
|
|
|
|
local DEVELOPERS = { 'Elv', 'Tukz', 'Hydrazine', 'Nihilistzsche' }
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
EC.Options = PA.ACH:Group(EC.Title, nil, 4)
|
|
|
|
|
EC.Options.args.credits = PA.ACH:Group('Credits', nil, -1)
|
|
|
|
|
EC.Options.args.credits.args.text = PA.ACH:Description('Coding:\n'..DEVELOPER_STRING, 1, 'medium')
|
|
|
|
|
|
|
|
|
|
function EC:PositionGameMenuButton()
|
|
|
|
|
_G.GameMenuFrame:SetHeight(_G.GameMenuFrame:GetHeight() + _G.GameMenuButtonLogout:GetHeight() - 4)
|
|
|
|
|
|
|
|
|
|
if PA.Tukui and _G.Tukui[1].Miscellaneous.GameMenu.Tukui then
|
|
|
|
|
_G.GameMenuFrame:SetHeight(_G.GameMenuFrame:GetHeight() + _G.GameMenuButtonLogout:GetHeight() - 4)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local _, relTo, _, _, offY = _G.GameMenuButtonLogout:GetPoint()
|
|
|
|
|
if relTo ~= _G.GameMenuFrame['EC'] then
|
|
|
|
|
_G.GameMenuFrame['EC']:ClearAllPoints()
|
|
|
|
|
_G.GameMenuFrame['EC']:SetPoint("TOPLEFT", PA.Tukui and _G.Tukui[1].Miscellaneous.GameMenu.Tukui or relTo, "BOTTOMLEFT", 0, -1)
|
|
|
|
|
_G.GameMenuButtonLogout:ClearAllPoints()
|
|
|
|
|
_G.GameMenuButtonLogout:SetPoint("TOPLEFT", _G.GameMenuFrame['EC'], "BOTTOMLEFT", 0, offY)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function EC.OnConfigClosed(widget)
|
|
|
|
|
PA.ACD.OpenFrames['Enhanced_Config'] = nil
|
|
|
|
|
PA.GUI:Release(widget)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function EC:ToggleConfig()
|
|
|
|
|
if not PA.ACD.OpenFrames['Enhanced_Config'] then
|
|
|
|
|
local Container = PA.GUI:Create('Frame')
|
|
|
|
|
if PA.AS then
|
|
|
|
|
PA.AS:CreateShadow(Container.frame)
|
|
|
|
|
end
|
|
|
|
|
PA.ACD.OpenFrames['Enhanced_Config'] = Container
|
|
|
|
|
Container:SetCallback('OnClose', EC.OnConfigClosed)
|
|
|
|
|
PA.ACD:Open('Enhanced_Config', Container)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
_G.GameTooltip:Hide()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function EC:Initialize()
|
|
|
|
|
local GameMenuButton = _G.CreateFrame("Button", nil, _G.GameMenuFrame, "GameMenuButtonTemplate")
|
|
|
|
|
GameMenuButton:SetText(EC.Title)
|
|
|
|
|
GameMenuButton:SetScript("OnClick", function()
|
|
|
|
|
EC:ToggleConfig()
|
|
|
|
|
_G.HideUIPanel(_G.GameMenuFrame)
|
|
|
|
|
end)
|
|
|
|
|
_G.GameMenuFrame['EC'] = GameMenuButton
|
|
|
|
|
|
|
|
|
|
if PA.Tukui then
|
|
|
|
|
_G.Tukui[1].Miscellaneous.GameMenu.EnableTukuiConfig = function() end
|
|
|
|
|
_G.Tukui[1].Miscellaneous.GameMenu.AddHooks = function() end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if not _G.IsAddOnLoaded("ConsolePortUI_Menu") then
|
|
|
|
|
GameMenuButton:SetSize(_G.GameMenuButtonLogout:GetWidth(), _G.GameMenuButtonLogout:GetHeight())
|
|
|
|
|
GameMenuButton:SetPoint("TOPLEFT", _G.GameMenuButtonAddons, "BOTTOMLEFT", 0, -1)
|
|
|
|
|
_G.hooksecurefunc('GameMenuFrame_UpdateVisibleButtons', EC.PositionGameMenuButton)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
PA.AC:RegisterOptionsTable('Enhanced_Config', EC.Options)
|
|
|
|
|
PA.ACD:SetDefaultSize('Enhanced_Config', 1200, 800)
|
|
|
|
|
EC:RegisterChatCommand('ec', 'ToggleConfig')
|
|
|
|
|
|
|
|
|
|
EC:RegisterChatCommand('rl', ReloadUI)
|
|
|
|
|
EC:RegisterChatCommand('reloadui', ReloadUI)
|
|
|
|
|
end
|