Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local _, nMainbar = ...
- local cfg = nMainbar.Config
- if (not cfg.showPicomenu) then
- return
- end
- local x, x2, n = nil, false
- local v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
- v11
- local menuFrame = CreateFrame('Frame', 'picomenuDropDownMenu', MainMenuBar, 'UIDropDownMenuTemplate')
- local menuList = {
- {
- text = MAINMENU_BUTTON,
- isTitle = true,
- notCheckable = true,
- },
- {
- text = CHARACTER_BUTTON,
- icon = 'Interface\\PaperDollInfoFrame\\UI-EquipmentManager-Toggle',
- func = function()
- securecall(ToggleCharacter, 'PaperDollFrame')
- end,
- notCheckable = true,
- },
- {
- text = SPELLBOOK_ABILITIES_BUTTON,
- icon = 'Interface\\MINIMAP\\TRACKING\\Class',
- func = function()
- securecall(ToggleSpellBook, BOOKTYPE_SPELL)
- end,
- tooltipTitle =
- securecall(MicroButtonTooltipText, SPELLBOOK_ABILITIES_BUTTON, 'TOGGLESPELLBOOK'),
- tooltipText = NEWBIE_TOOLTIP_SPELLBOOK,
- notCheckable = true,
- },
- {
- text = TALENTS_BUTTON,
- icon = 'Interface\\MINIMAP\\TRACKING\\Ammunition',
- -- icon = 'Interface\\AddOns\\nMainbar\\media\\picomenu\
- \picomenuTalents',
- func = function()
- if (not PlayerTalentFrame) then
- LoadAddOn('Blizzard_TalentUI')
- end
- if (not
- GlyphFrame) then
- LoadAddOn('Blizzard_GlyphUI')
- end
- --PlayerTalentFrame_Toggle()
- securecall(ToggleTalentFrame)
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, TALENTS_BUTTON, 'TOGGLETALENTS'),
- tooltipText = NEWBIE_TOOLTIP_TALENTS,
- notCheckable = true,
- },
- {
- text = ACHIEVEMENT_BUTTON,
- icon = 'Interface\\AddOns\\nMainbar\\media\\picomenu\\picomenuAchievement',
- func = function()
- securecall
- (ToggleAchievementFrame)
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, ACHIEVEMENT_BUTTON, 'TOGGLEACHIEVEMENT'),
- tooltipText =
- NEWBIE_TOOLTIP_ACHIEVEMENT,
- notCheckable = true,
- },
- {
- text = QUESTLOG_BUTTON,
- icon = 'Interface\\GossipFrame\\ActiveQuestIcon',
- func = function()
- securecall(ToggleFrame, QuestLogFrame)
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, QUESTLOG_BUTTON, 'TOGGLEQUESTLOG'),
- tooltipText = NEWBIE_TOOLTIP_QUESTLOG,
- notCheckable = true,
- },
- {
- text = GUILD,
- icon = 'Interface\\GossipFrame\\TabardGossipIcon',
- arg1 = IsInGuild('player'),
- func =
- function()
- if (IsTrialAccount()) then
- UIErrorsFrame:AddMessage(ERR_RESTRICTED_ACCOUNT, 1, 0, 0)
- else
- securecall
- (ToggleGuildFrame)
- end
- end,
- notCheckable = true,
- },
- {
- text = SOCIAL_BUTTON,
- icon = 'Interface\\FriendsFrame\\PlusManz-
- BattleNet',
- func = function()
- securecall(ToggleFriendsFrame, 1)
- end,
- notCheckable = true,
- },
- {
- text = PLAYER_V_PLAYER,
- icon = 'Interface\\MINIMAP\\TRACKING\\BattleMaster',
- func = function()
- if (not PVPUIFrame) then
- securecall(PVP_LoadUI)
- end
- securecall(PVPUIFrame_ToggleFrame, 'PVPQueueFrame')
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, PLAYER_V_PLAYER,
- 'TOGGLECHARACTER4'),
- tooltipText = NEWBIE_TOOLTIP_PVP,
- notCheckable = true,
- },
- {
- text = DUNGEONS_BUTTON,
- icon = 'Interface\\LFGFRAME\
- \BattleNetWorking0',
- func = function()
- securecall(PVEFrame_ToggleFrame, 'GroupFinderFrame', LFDParentFrame)
- end,
- tooltipTitle =
- securecall(MicroButtonTooltipText, DUNGEONS_BUTTON, 'TOGGLELFGPARENT'),
- tooltipText = NEWBIE_TOOLTIP_LFGPARENT,
- notCheckable = true,
- },
- {
- text = CHALLENGES,
- icon = 'Interface\\BUTTONS\\UI-GroupLoot-DE-Up',
- func = function()
- securecall(PVEFrame_ToggleFrame, 'ChallengesFrame')
- end,
- notCheckable = true,
- },
- {
- text = RAID_FINDER,
- icon = 'Interface\\TARGETINGFRAME\\UI-TargetingFrame-Skull',
- func = function()
- securecall(PVEFrame_ToggleFrame, 'GroupFinderFrame', RaidFinderFrame)
- end,
- notCheckable = true,
- },
- {
- text = RAID,
- icon =
- 'Interface\\TARGETINGFRAME\\UI-TargetingFrame-Skull',
- func = function()
- securecall(ToggleFriendsFrame, 4)
- end,
- notCheckable = true,
- },
- {
- text = MOUNTS_AND_PETS,
- icon = 'Interface\\MINIMAP\\TRACKING\\StableMaster',
- func = function()
- securecall(TogglePetJournal)
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, MOUNTS_AND_PETS, 'TOGGLEPETJOURNAL'),
- tooltipText = NEWBIE_TOOLTIP_MOUNTS_AND_PETS,
- notCheckable = true,
- },
- {
- text = ENCOUNTER_JOURNAL,
- icon = 'Interface\\MINIMAP\\TRACKING\\Profession',
- func = function()
- securecall(ToggleEncounterJournal)
- end,
- tooltipTitle = securecall(MicroButtonTooltipText, ENCOUNTER_JOURNAL, 'TOGGLEENCOUNTERJOURNAL'),
- tooltipText
- = NEWBIE_TOOLTIP_ENCOUNTER_JOURNAL,
- notCheckable = true,
- },
- {
- text = GM_EMAIL_NAME,
- icon = 'Interface\\CHATFRAME\\UI-ChatIcon-Blizz',
- func = function()
- securecall(ToggleHelpFrame)
- end,
- tooltipTitle = HELP_BUTTON,
- tooltipText = NEWBIE_TOOLTIP_HELP,
- notCheckable =
- true,
- },
- { text = "Store", icon = 'Interface\\CHATFRAME\\UI-ChatIcon-Blizz', func = function() if (not StoreFrame) then LoadAddOn("Blizzard_StoreUI") end
- securecall(ToggleStoreUI) end, notCheckable = true, }, {
- text = BATTLEFIELD_MINIMAP,
- colorCode = '|cff999999',
- func = function()
- securecall(ToggleBattlefieldMinimap)
- end,
- notCheckable = true,
- },
- }
- local addonMenuTable = {
- {
- text = '',
- isTitle = true,
- notCheckable = true,
- },
- { text = ADDONS,
- hasArrow = true,
- notCheckable = true,
- menuList = {
- {
- text = ADDONS,
- isTitle = true,
- notCheckable = true,
- },
- }
- }
- }
- local function UpdateAddOnTable()
- if (IsAddOnLoaded('oUF_NeavRaid') and not
- v1) then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v1 = true
- addonMenuTable[2].menuList[n] = {
- text = 'NeavRaid',
- func = function()
- SlashCmdList['oUF_Neav_Raid_AnchorToggle']()
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('VuhDo') and not v2) then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v2 = true
- addonMenuTable[2].menuList[n]
- = {
- text = 'VuhDo',
- func = function()
- SlashCmdList['VUHDO']('show')
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if ((IsAddOnLoaded('Grid') or IsAddOnLoaded('Grid2')) and not v3) then
- x = true
- n = (#addonMenuTable
- [2].menuList)+1
- v3 = true
- addonMenuTable[2].menuList[n] = {
- text = 'Grid',
- func = function()
- if (IsAddOnLoaded
- ('Grid2')) then
- ToggleFrame(Grid2LayoutFrame)
- elseif (IsAddOnLoaded('Grid')) then
- ToggleFrame(GridLayoutFrame)
- end
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('Omen') and not v4) then
- x
- = true
- n = (#addonMenuTable[2].menuList)+1
- v4 = true
- addonMenuTable[2].menuList[n] = {
- text = 'Omen',
- func = function()
- if (IsShiftKeyDown()) then
- Omen:Toggle()
- else
- Omen:ShowConfig()
- end
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('PhoenixStyle') and not v5) then
- x = true
- n =
- (#addonMenuTable[2].menuList)+1
- v5 = true
- addonMenuTable[2].menuList[n] = {
- text = 'PhoenixStyle',
- func = function()
- ToggleFrame(PSFmain1)
- ToggleFrame(PSFmain2)
- ToggleFrame(PSFmain3)
- end,
- notCheckable =
- true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('DBM-Core') and not v6) then
- x = true
- n = (#addonMenuTable
- [2].menuList)+1
- v6 = true
- addonMenuTable[2].menuList[n] = {
- text = 'DBM',
- func = function()
- DBM:LoadGUI()
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('Skada') and not v7) then
- x = true
- n =
- (#addonMenuTable[2].menuList)+1
- v7 = true
- addonMenuTable[2].menuList[n] = {
- text = 'Skada',
- func = function()
- Skada:ToggleWindow()
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('Recount') and not v8)
- then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v8 = true
- addonMenuTable[2].menuList[n] = {
- text = 'Recount',
- func =
- function()
- ToggleFrame(Recount.MainWindow)
- if (Recount.MainWindow:IsShown()) then
- Recount:RefreshMainWindow()
- end
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('TinyDPS') and not v9) then
- x =
- true
- n = (#addonMenuTable[2].menuList)+1
- v9 = true
- addonMenuTable[2].menuList[n] = {
- text = 'TinyDPS',
- func = function()
- ToggleFrame(tdpsFrame)
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('Numeration')
- and not v10) then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v10 = true
- addonMenuTable[2].menuList[n] = {
- text = 'Numeration',
- func = function()
- if (not IsShiftKeyDown()) then
- ToggleFrame(NumerationFrame)
- else
- NumerationFrame:ShowResetWindow()
- end
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if
- (IsAddOnLoaded('AtlasLoot') and not v11) then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v11 = true
- addonMenuTable[2].menuList[n] = {
- text = 'AtlasLoot',
- func = function()
- ToggleFrame(AtlasLootDefaultFrame)
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (IsAddOnLoaded('Altoholic') and not v12) then
- x = true
- n = (#addonMenuTable[2].menuList)+1
- v12 =
- true
- addonMenuTable[2].menuList[n] = {
- text = 'Altoholic',
- func = function()
- ToggleFrame(AltoholicFrame)
- end,
- notCheckable = true,
- keepShownOnClick = true,
- }
- end
- if (x and not x2) then
- table.insert(menuList, addonMenuTable[1])
- table.insert(menuList, addonMenuTable[2])
- x2 = true
- end
- end
- local f = CreateFrame('Button', nil, MainMenuBar)
- f:SetFrameStrata('HIGH')
- f:SetToplevel(true)
- f:SetSize(30, 30)
- f:SetPoint('BOTTOM', MainMenuBarRightEndCap, -13, 8)
- f:RegisterForClicks('Anyup')
- f:RegisterEvent('ADDON_LOADED')
- f:SetNormalTexture('Interface\\AddOns\
- \nMainbar\\media\\picomenu\\picomenuNormal')
- f:GetNormalTexture():SetSize(30, 30)
- f:SetHighlightTexture('Interface\\AddOns\\nMainbar\\media\\picomenu\
- \picomenuHighlight')
- f:GetHighlightTexture():SetAllPoints(f:GetNormalTexture())
- f:SetScript('OnEvent', function()
- UpdateAddOnTable(arg1)
- end)
- f:SetScript('OnMouseDown',
- function(self)
- self:GetNormalTexture():ClearAllPoints()
- self:GetNormalTexture():SetPoint('CENTER', 1, -1)
- end)
- f:SetScript('OnMouseUp', function(self, button)
- self:GetNormalTexture():ClearAllPoints()
- self:GetNormalTexture():SetPoint('CENTER')
- if (button == 'LeftButton') then
- if (self:IsMouseOver()) then
- if (DropDownList1:IsShown()) then
- DropDownList1:Hide()
- else
- securecall(EasyMenu, menuList, menuFrame, self, 27, 190, 'MENU',
- 8)
- -- DropDownList1:ClearAllPoints()
- -- DropDownList1:SetPoint('BOTTOMLEFT', self, 'TOPRIGHT')
- end
- end
- else
- if
- (self:IsMouseOver()) then
- ToggleFrame(GameMenuFrame)
- end
- end
- GameTooltip:Hide()
- end)
- f:SetScript('OnEnter', function(self)
- GameTooltip:SetOwner(self, 'ANCHOR_TOPLEFT', 25, -5)
- GameTooltip:AddLine(MAINMENU_BUTTON)
- GameTooltip:Show()
- end)
- f:SetScript('OnLeave', function()
- GameTooltip:Hide()
- end)
- HelpOpenTicketButton:ClearAllPoints()
- HelpOpenTicketButton:SetPoint('TOPLEFT', f, 'BOTTOMRIGHT', -26, 26)
- HelpOpenTicketButton:SetScale(0.6)
- HelpOpenTicketButton:SetParent(f)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement