mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
remove temp folder structure
This commit is contained in:
+152
@@ -0,0 +1,152 @@
|
||||
local _G = _G
|
||||
|
||||
BINDING_HEADER_ELVUI = GetAddOnMetadata("ElvUI", "Title")
|
||||
|
||||
local AddOnName, Engine = "ElvUI", {}
|
||||
local AddOn = LibStub("AceAddon-3.0"):NewAddon(AddOnName, "AceConsole-3.0", "AceEvent-3.0", "AceTimer-3.0", "AceHook-3.0")
|
||||
AddOn.callbacks = AddOn.callbacks or
|
||||
LibStub("CallbackHandler-1.0"):New(AddOn)
|
||||
AddOn.DF = {} AddOn.DF["profile"] = {} AddOn.DF["global"] = {} AddOn.privateVars = {} AddOn.privateVars["profile"] = {} -- Defaults
|
||||
AddOn.Options = {
|
||||
type = "group",
|
||||
name = AddOnName,
|
||||
args = {},
|
||||
}
|
||||
|
||||
local Locale = LibStub("AceLocale-3.0"):GetLocale(AddOnName, false)
|
||||
Engine[1] = AddOn
|
||||
Engine[2] = Locale
|
||||
Engine[3] = AddOn.privateVars["profile"]
|
||||
Engine[4] = AddOn.DF["profile"]
|
||||
Engine[5] = AddOn.DF["global"]
|
||||
|
||||
_G[AddOnName] = Engine
|
||||
local tcopy = table.copy
|
||||
function AddOn:OnInitialize()
|
||||
if not ElvCharacterDB then
|
||||
ElvCharacterDB = {}
|
||||
end
|
||||
|
||||
self.db = tcopy(self.DF.profile, true)
|
||||
self.global = tcopy(self.DF.global, true)
|
||||
if ElvDB then
|
||||
if ElvDB.global then
|
||||
self:CopyTable(self.global, ElvDB.global)
|
||||
end
|
||||
|
||||
local profileKey
|
||||
if ElvDB.profileKeys then
|
||||
profileKey = ElvDB.profileKeys[self.myname.." - "..self.myrealm]
|
||||
end
|
||||
|
||||
if profileKey and ElvDB.profiles and ElvDB.profiles[profileKey] then
|
||||
self:CopyTable(self.db, ElvDB.profiles[profileKey])
|
||||
end
|
||||
end
|
||||
|
||||
self.private = tcopy(self.privateVars.profile, true)
|
||||
if ElvPrivateDB then
|
||||
local profileKey
|
||||
if ElvPrivateDB.profileKeys then
|
||||
profileKey = ElvPrivateDB.profileKeys[self.myname.." - "..self.myrealm]
|
||||
end
|
||||
|
||||
if profileKey and ElvPrivateDB.profiles and ElvPrivateDB.profiles[profileKey] then
|
||||
self:CopyTable(self.private, ElvPrivateDB.profiles[profileKey])
|
||||
end
|
||||
end
|
||||
|
||||
if self.private.general.pixelPerfect then
|
||||
self.Border = self.mult
|
||||
self.Spacing = 0
|
||||
self.PixelMode = true
|
||||
end
|
||||
|
||||
self:UIScale()
|
||||
self:UpdateMedia()
|
||||
|
||||
self:RegisterEvent("PLAYER_LOGIN", "Initialize")
|
||||
self:Contruct_StaticPopups()
|
||||
self:InitializeInitialModules()
|
||||
|
||||
if IsAddOnLoaded("Tukui") then
|
||||
self:StaticPopup_Show("TUKUI_ELVUI_INCOMPATIBLE")
|
||||
end
|
||||
|
||||
local GameMenuButton = CreateFrame("Button", nil, GameMenuFrame, "GameMenuButtonTemplate")
|
||||
GameMenuButton:SetWidth(GameMenuButtonLogout:GetWidth())
|
||||
GameMenuButton:SetHeight(GameMenuButtonLogout:GetHeight())
|
||||
|
||||
GameMenuButton:SetText(self:ColorizedName(AddOnName))
|
||||
GameMenuButton:SetScript("OnClick", function()
|
||||
AddOn:ToggleConfig()
|
||||
HideUIPanel(GameMenuFrame)
|
||||
end)
|
||||
GameMenuFrame[AddOnName] = GameMenuButton
|
||||
|
||||
HookScript(GameMenuFrame, "OnShow", function()
|
||||
if not GameMenuFrame.isElvUI then
|
||||
GameMenuFrame:SetHeight(GameMenuFrame:GetHeight() + GameMenuButtonLogout:GetHeight() + 1)
|
||||
GameMenuFrame.isElvUI = true
|
||||
end
|
||||
local _, relTo = GameMenuButtonLogout:GetPoint()
|
||||
if relTo ~= GameMenuFrame[AddOnName] then
|
||||
GameMenuFrame[AddOnName]:ClearAllPoints()
|
||||
GameMenuFrame[AddOnName]:SetPoint("TOPLEFT", relTo, "BOTTOMLEFT", 0, -1)
|
||||
GameMenuButtonLogout:ClearAllPoints()
|
||||
GameMenuButtonLogout:SetPoint("TOPLEFT", GameMenuFrame[AddOnName], "BOTTOMLEFT", 0, -16)
|
||||
end
|
||||
end)
|
||||
local S = AddOn:GetModule("Skins")
|
||||
S:HandleButton(GameMenuButton)
|
||||
end
|
||||
|
||||
function AddOn:ResetProfile()
|
||||
local profileKey
|
||||
if ElvPrivateDB.profileKeys then
|
||||
profileKey = ElvPrivateDB.profileKeys[self.myname.." - "..self.myrealm]
|
||||
end
|
||||
|
||||
if profileKey and ElvPrivateDB.profiles and ElvPrivateDB.profiles[profileKey] then
|
||||
ElvPrivateDB.profiles[profileKey] = nil
|
||||
end
|
||||
|
||||
ElvCharacterDB = nil
|
||||
ReloadUI()
|
||||
end
|
||||
|
||||
function AddOn:OnProfileReset()
|
||||
self:StaticPopup_Show("RESET_PROFILE_PROMPT")
|
||||
end
|
||||
|
||||
function AddOn:ToggleConfig()
|
||||
if not IsAddOnLoaded("ElvUI_Config") then
|
||||
local _, _, _, _, _, reason = GetAddOnInfo("ElvUI_Config")
|
||||
if reason ~= "MISSING" and reason ~= "DISABLED" then
|
||||
LoadAddOn("ElvUI_Config")
|
||||
if GetAddOnMetadata("ElvUI_Config", "Version") ~= "1.01" then
|
||||
self:StaticPopup_Show("CLIENT_UPDATE_REQUEST")
|
||||
end
|
||||
else
|
||||
self:Print("|cffff0000Error -- Addon 'ElvUI_Config' not found or is disabled.|r")
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local ACD = LibStub("AceConfigDialog-3.0")
|
||||
|
||||
local mode = "Close"
|
||||
if not ACD.OpenFrames[AddOnName] then
|
||||
mode = "Open"
|
||||
end
|
||||
|
||||
if mode == "Open" then
|
||||
PlaySound("igMainMenuOpen")
|
||||
else
|
||||
PlaySound("igMainMenuClose")
|
||||
end
|
||||
|
||||
ACD[mode](ACD, AddOnName)
|
||||
|
||||
GameTooltip:Hide() --Just in case you're mouseovered something and it closes.
|
||||
end
|
||||
Reference in New Issue
Block a user