diff --git a/ElvUI_SLE/modules/datatexts/load_datatexts.xml b/ElvUI_SLE/modules/datatexts/load_datatexts.xml index 097457e..8aa3bfa 100755 --- a/ElvUI_SLE/modules/datatexts/load_datatexts.xml +++ b/ElvUI_SLE/modules/datatexts/load_datatexts.xml @@ -15,6 +15,7 @@ <Script file='itemlevel.lua'/> <Script file='played.lua'/> <Script file='mail.lua'/> + <Script file='micromenu.lua'/> <Script file='currency.lua'/> <Script file='range.lua'/> <Include file='dashboard\load_dashboard.xml'/> diff --git a/ElvUI_SLE/modules/datatexts/micromenu.lua b/ElvUI_SLE/modules/datatexts/micromenu.lua new file mode 100644 index 0000000..befbcd4 --- /dev/null +++ b/ElvUI_SLE/modules/datatexts/micromenu.lua @@ -0,0 +1,73 @@ +local E, L, V, P, G = unpack(ElvUI) +local DT = E:GetModule('DataTexts') + +local gsub, upper = string.gsub, string.upper +local menuFrame = CreateFrame("Frame", "ElvUI_SLE_MainMenuFrame", E.UIParent) +menuFrame:SetTemplate("Transparent", true) + +local calendar_string = gsub(SLASH_CALENDAR1, "/", "") +calendar_string = gsub(calendar_string, "^%l", upper) + +local menu = { + { text = L['Main Menu'], func = function() + if not GameMenuFrame:IsShown() then + ShowUIPanel(GameMenuFrame); + else + HideUIPanel(GameMenuFrame); + end + end }, + { text = CHARACTER_BUTTON, func = function() ToggleCharacter("PaperDollFrame") end }, + { text = SPELLBOOK_ABILITIES_BUTTON, func = function() if not SpellBookFrame:IsShown() then ShowUIPanel(SpellBookFrame) else HideUIPanel(SpellBookFrame) end end }, + { text = MOUNTS_AND_PETS, func = function() TogglePetJournal() end }, + { text = TALENTS_BUTTON, func = function() + if not PlayerTalentFrame then + TalentFrame_LoadUI() + end + + if not GlyphFrame then + GlyphFrame_LoadUI() + end + + if not PlayerTalentFrame:IsShown() then + ShowUIPanel(PlayerTalentFrame) + else + HideUIPanel(PlayerTalentFrame) + end + end }, + { text = TIMEMANAGER_TITLE, func = function() ToggleFrame(TimeManagerFrame) end }, + { text = ACHIEVEMENT_BUTTON, func = function() ToggleAchievementFrame() end }, + { text = QUESTLOG_BUTTON, func = function() ToggleFrame(QuestLogFrame) end }, + { text = SOCIAL_BUTTON, func = function() ToggleFriendsFrame() end }, + { text = calendar_string, func = function() GameTimeFrame:Click() end }, + { text = PLAYER_V_PLAYER, func = function() + if not PVPUIFrame then + PVP_LoadUI() + end + ToggleFrame(PVPUIFrame) + end }, + { text = ACHIEVEMENTS_GUILD_TAB, func = function() + if IsInGuild() then + if not GuildFrame then GuildFrame_LoadUI() end + GuildFrame_Toggle() + else + if not LookingForGuildFrame then LookingForGuildFrame_LoadUI() end + if not LookingForGuildFrame then return end + LookingForGuildFrame_Toggle() + end + end }, + { text = LFG_TITLE, func = function() PVEFrame_ToggleFrame(); end }, + { text = L["Raid Browser"], func = function() ToggleFrame(RaidBrowserFrame) end }, + { text = ENCOUNTER_JOURNAL, func = function() if not IsAddOnLoaded('Blizzard_EncounterJournal') then EncounterJournal_LoadUI(); end ToggleFrame(EncounterJournal) end }, + { text = BLIZZARD_STORE, func = function() StoreMicroButton:Click() end }, + { text = HELP_BUTTON, func = function() ToggleHelpFrame() end }, +} + +local function OnClick(self) + E:DropDown(menu, menuFrame) +end + +local function OnEvent(self, event, ...) + self.text:SetText(L['Main Menu']) +end + +DT:RegisterDatatext('S&L MicroMenu', {'PLAYER_LOGIN'}, OnEvent, nil, OnClick, nil) \ No newline at end of file