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.
382 lines
19 KiB
382 lines
19 KiB
|
|
-- module independent variables --
|
|
----------------------------------
|
|
local addon, ns = ...
|
|
local C, L, I = ns.LC.color, ns.L, ns.I
|
|
|
|
|
|
-- module own local variables and local cached functions --
|
|
-----------------------------------------------------------
|
|
local name = "Game Menu"; -- MAINMENU_BUTTON L["ModDesc-Game Menu"]
|
|
local ttName,tt,module = name.."TT"
|
|
local iconCoords = "16:16:0:-1:64:64:4:56:4:56" --"16:16:0:-1:64:64:3:58:3:58"
|
|
local link = "|T%s:%s|t %s"
|
|
local link_disabled = "|T%s:%s:66:66:66|t "..C("gray", "%s")
|
|
local gmticket,ClassIconCoords = {},{};
|
|
local customTitle = MAINMENU_BUTTON
|
|
local IsBlizzCon = IsBlizzCon or function() return false; end -- Legion Fix
|
|
local menu = {};
|
|
|
|
|
|
-- register icon names and default files --
|
|
-------------------------------------------
|
|
I[name] = {iconfile=ns.media.."stuff"}; --IconName::Game Menu--
|
|
|
|
|
|
-- some local functions --
|
|
--------------------------
|
|
local function updateGMTicket()
|
|
local obj = ns.LDB:GetDataObjectByName(module.ldbName)
|
|
if ns.profile[name].showGMTicket and gmticket.hasTicket and gmticket.ticketStatus~=LE_TICKET_STATUS_OPEN then
|
|
local icon = I("gm_gmticket")
|
|
obj.text = C("cyan",(gmticket.waitTime) and SecondsToTime(gmticket.waitTime*60) or L["Open GM Ticket"]) .. link:format(icon.iconfile,(icon.coordsStr or iconCoords),"")
|
|
else
|
|
gmticket.hasTicket = false
|
|
module.onevent("BE_DUMMY_EVENT")
|
|
end
|
|
end
|
|
|
|
local function tooltipCellScript_OnAction(self,info)
|
|
if info.click~=nil then
|
|
ns.secureButton(self, { attributes={type="click", clickbutton=_G[info.click]} }, info.name);
|
|
tinsert(tt.secureButtons,info.name);
|
|
elseif info.macro~=nil then
|
|
ns.secureButton(self, { attributes={type="macro", macrotext=info.macro} }, info.name);
|
|
tinsert(tt.secureButtons,info.name);
|
|
elseif type(info.func)=="function" then
|
|
ns.hideTooltip(tt);
|
|
info.func();
|
|
end
|
|
end
|
|
|
|
local function showGMTicket()
|
|
HelpFrame_ShowFrame(HELPFRAME_SUBMIT_TICKET)
|
|
if gmticket.caseIndex then
|
|
HelpBrowser:OpenTicket(gmticket.caseIndex)
|
|
end
|
|
end
|
|
|
|
local function deleteGMTicket()
|
|
if not StaticPopup_Visible("HELP_TICKET_ABANDON_CONFIRM") then
|
|
StaticPopup_Show("HELP_TICKET_ABANDON_CONFIRM")
|
|
end
|
|
end
|
|
|
|
local function createTooltip(tt)
|
|
if not (tt and tt.key and tt.key==ttName) then return end -- don't override other LibQTip tooltips...
|
|
|
|
local line, column
|
|
local section, secHide = 1, false
|
|
local oneCell = ns.profile[name].hideSection2 and ns.profile[name].hideSection3
|
|
local cell = 1
|
|
|
|
tt.secureButtons = {}
|
|
|
|
if tt.lines~=nil then tt:Clear(); end
|
|
|
|
if ns.profile[name].customTooltipTitle then
|
|
tt:AddHeader(C("dkyellow", customTitle))
|
|
else
|
|
tt:AddHeader(C("dkyellow", MAINMENU_BUTTON))
|
|
end
|
|
tt:AddSeparator()
|
|
|
|
for i, v in ipairs(menu) do
|
|
local hide = false
|
|
if type(v.hide)=="function" then
|
|
hide = v.hide();
|
|
end
|
|
if (v.taint and not ns.profile[name].showTaintingEntries) or hide then
|
|
-- nothing // hide the entry
|
|
elseif v.sep==true then
|
|
section = section + 1
|
|
secHide = (section==2 and ns.profile[name].hideSection2) or (section==3 and ns.profile[name].hideSection3)
|
|
|
|
if not secHide then
|
|
tt:AddSeparator()
|
|
cell=1
|
|
end
|
|
elseif secHide then
|
|
-- nothing
|
|
else
|
|
if v.get~=nil then v.get(v) end
|
|
if v.disabled==nil then v.disabled=false end
|
|
if v.view==nil then v.view=true end
|
|
if v.name~=nil and v.view then
|
|
if cell==1 then line, column = tt:AddLine() end
|
|
local m=v.iconName:match("-%{(.*)%}")
|
|
if m then
|
|
v.iconName = string.gsub(v.iconName, "%{"..m.."%}", ns.player[m]:lower())
|
|
local V = I("gm_"..v.iconName)
|
|
if m=="class" and I["gm_"..v.iconName].iconfile==ns.icon_fallback then
|
|
v.iconName = "Character-neutral"
|
|
end
|
|
end
|
|
local icon = I("gm_"..v.iconName)
|
|
tt:SetCell(line, cell, (v.disabled and link_disabled or link):format((icon.iconfile or ns.icon_fallback), (icon.coordsStr or iconCoords), v.name), nil, nil, oneCell and 2 or 1)
|
|
if (not v.disabled) or not (InCombatLockdown() and (v.click or v.macro)) then
|
|
tt:SetCellScript(line,cell, (v.click or v.macro) and "OnEnter" or "OnMouseUp",tooltipCellScript_OnAction, v);
|
|
end
|
|
if not oneCell then
|
|
if cell==1 then cell=2 else cell=1 end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Open GM Ticket info Area
|
|
if ns.profile[name].showGMTicket and gmticket.hasTicket and (gmticket.ticketStatus~=LE_TICKET_STATUS_RESPONSE or gmticket.ticketStatus~=LE_TICKET_STATUS_SURVEY) then
|
|
local waitTime, waitMsg, ticketStatus = gmticket.waitTime,gmticket.waitMsg,gmticket.ticketStatus
|
|
tt:AddSeparator(5,0,0,0,0)
|
|
line, column = tt:AddLine()
|
|
local icon = I("gm_gmticket")
|
|
tt:SetCell(line,1,link:format(icon.iconfile,(icon.coordsStr or iconCoords),C("ltblue",TICKET_STATUS)),tt:GetHeaderFont(),nil,2)
|
|
tt:AddSeparator()
|
|
line,column = tt:AddLine()
|
|
local edit,cancel = I("gm_gmticket_edit"),I("gm_gmticket_cancel")
|
|
tt:SetCell(line,1,link:format(edit.iconfile,(edit.coordsStr or iconCoords),HELP_TICKET_EDIT))
|
|
tt:SetCell(line,2,link:format(cancel.iconfile,(cancel.coordsStr or iconCoords),HELP_TICKET_ABANDON))
|
|
tt:SetCellScript(line,1,"OnMouseUp", showGMTicket);
|
|
tt:SetCellScript(line,2,"OnMouseUp", deleteGMTicket);
|
|
if (ticketStatus == LE_TICKET_STATUS_NMI) then -- ticketStatus = 3
|
|
line,column = tt:AddLine()
|
|
tt:SetCell(line,1,TICKET_STATUS_NMI,nil,nil,2)
|
|
elseif (ticketStatus == LE_TICKET_STATUS_OPEN) then -- ticketStatus = 1
|
|
line,column = tt:AddLine()
|
|
if (waitMsg and waitTime > 0) then
|
|
tt:SetCell(line,1,waitMsg:format(SecondsToTime(waitTime*60)),nil,nil,2)
|
|
elseif (waitMsg) then
|
|
tt:SetCell(line,1,waitMsg,nil,nil,2)
|
|
elseif (waitTime > 120) then
|
|
tt:SetCell(line,1,GM_TICKET_HIGH_VOLUME,nil,nil,2)
|
|
elseif (waitTime > 0) then
|
|
tt:SetCell(line,1,format(GM_TICKET_WAIT_TIME, SecondsToTime(waitTime*60)),nil,nil,2)
|
|
else
|
|
tt:SetCell(line,1,GM_TICKET_UNAVAILABLE,nil,nil,2)
|
|
end
|
|
elseif (ticketStatus == LE_TICKET_STATUS_SURVEY) then -- ticketStatus = 2
|
|
elseif (ticketStatus == LE_TICKET_STATUS_RESPONSE) then -- ticketStatus = 4
|
|
|
|
end
|
|
end
|
|
--
|
|
|
|
if ns.profile.GeneralOptions.showHints and ns.profile[name].disableOnClick then
|
|
tt:AddSeparator(4, 0, 0, 0, 0)
|
|
line, column = tt:AddLine()
|
|
tt:SetCell(line, 1,
|
|
C("copper", L["MouseBtnL"]).." || "..C("green", LOGOUT)
|
|
.."|n"..
|
|
C("copper", L["MouseBtnR"]).." || "..C("green", EXIT_GAME)
|
|
.."|n"..
|
|
C("copper", L["ModKeyS"].."+"..L["MouseBtnL"]).." || "..C("green", RELOADUI)
|
|
, nil, nil, 2);
|
|
end
|
|
ns.roundupTooltip(tt);
|
|
end
|
|
|
|
|
|
-- module functions and variables --
|
|
------------------------------------
|
|
module = {
|
|
events = {
|
|
"PLAYER_LOGIN",
|
|
"UPDATE_WEB_TICKET"
|
|
},
|
|
config_defaults = {
|
|
enabled = false,
|
|
customTitle = "",
|
|
hideSection2 = false,
|
|
hideSection3 = false,
|
|
disableOnClick = false,
|
|
customTooltipTitle = false,
|
|
showGMTicket = true,
|
|
showTaintingEntries = false
|
|
},
|
|
}
|
|
|
|
function module.options()
|
|
return {
|
|
broker = {
|
|
disableOnClick={ type="toggle", order=1, name=L["Disable Click options"], desc=L["Disable the click options on broker button"] },
|
|
customTitle={ type="input", order=2, name=L["Custom title"], desc=L["Set your own Title instead of 'Game Menu'"] },
|
|
},
|
|
tooltip = {
|
|
hideSection2={ type="toggle", order=1, name=L["Hide section 2"], desc=L["Hide section 2 in tooltip"] },
|
|
hideSection3={ type="toggle", order=2, name=L["Hide section 3"], desc=L["Hide section 3 in tooltip"] },
|
|
customTooltipTitle={ type="toggle", order=3, name=L["Custom title in tooltip"], desc=L["Use custom title as tooltip title"] },
|
|
showGMTicket={ type="toggle", order=4, name=L["Show GMTicket"], desc=L["Show GMTickets in tooltip and average wait time in broker button"] },
|
|
showTaintingEntries={ type="toggle", order=5, name=L["Show tainting entries"], desc=L["Show all entries their tainting the environment. Be carefull. Can produce error in combat."] }
|
|
},
|
|
misc = nil,
|
|
}
|
|
end
|
|
|
|
function module.init()
|
|
ClassIconCoords={
|
|
["WARRIOR"] = "16:16:0:-1:256:256:5:59:5:59",
|
|
["MAGE"] = "16:16:0:-1:256:256:69:122:5:59",
|
|
["ROGUE"] = "16:16:0:-1:256:256:132:185:5:59",
|
|
["DRUID"] = "16:16:0:-1:256:256:195:248:5:59",
|
|
["HUNTER"] = "16:16:0:-1:256:256:5:59:69:123",
|
|
["SHAMAN"] = "16:16:0:-1:256:256:69:122:69:123",
|
|
["PRIEST"] = "16:16:0:-1:256:256:132:185:69:123",
|
|
["WARLOCK"] = "16:16:0:-1:256:256:195:248:69:123",
|
|
["PALADIN"] = "16:16:0:-1:256:256:5:59:133:187",
|
|
["DEATHKNIGHT"] = "16:16:0:-1:256:256:69:123:133:187",
|
|
["MONK"] = "16:16:0:-1:256:256:133:184:133:187",
|
|
};
|
|
|
|
I["gm_Character-neutral"] = {iconfile="Interface\\Glues\\CharacterCreate\\UI-CharacterCreate-Classes", coordsStr=ClassIconCoords[ns.player.class]}; --IconName::gm_Character-neutral--
|
|
I["gm_Spellbook"] = {iconfile="Interface\\ICONS\\inv_misc_book_09"} --IconName::gm_Spellbook--
|
|
I["gm_Talents"] = {iconfile="Interface\\ICONS\\ability_marksmanship"} --IconName::gm_Talents--
|
|
I["gm_Questlog"] = {iconfile="interface\\lfgframe\\lfgicon-quest"} --IconName::gm_Questlog--
|
|
I["gm_Guild"] = {iconfile="Interface\\buttons\\UI-MicroButton-Guild-Disabled-"..ns.player.faction, coordsStr="16:16:0:-1:64:64:8:54:32:59"} --IconName::gm_Guild--
|
|
I["gm_Friends"] = {iconfile="Interface\\ICONS\\achievement_guildperk_everybodysfriend"} --IconName::gm_Friends--
|
|
I["gm_Help"] = {iconfile=ns.icon_fallback} --IconName::gm_Help--
|
|
I["gm_SysOpts"] = {iconfile="Interface\\ICONS\\inv_gizmo_02"} --IconName::gm_SysOpts--
|
|
I["gm_KeyBinds"] = {iconfile="interface\\macroframe\\macroframe-icon"} --IconName::gm_KeyBinds--
|
|
I["gm_UiOpts"] = {iconfile="Interface\\ICONS\\inv_gizmo_02"} --IconName::gm_UiOpts--
|
|
I["gm_Macros"] = {iconfile="interface\\macroframe\\macroframe-icon"} --IconName::gm_Macros--
|
|
I["gm_MacOpts"] = {iconfile="Interface\\ICONS\\inv_gizmo_02"} --IconName::gm_MacOpts--
|
|
--I["gm_Addons"] = {iconfile="Interface\\ICONS\\INV_Misc_EngGizmos_20"} --IconName::gm_Addons--
|
|
I["gm_Addons"] = {iconfile=ns.media.."INV_Misc_EngGizmos_20"} --IconName::gm_Addons--
|
|
--I["gm_ReloadUi"] = {iconfile="Interface\\ICONS\\achievement_guildperk_quick and dead"} --IconName::gm_ReloadUi--
|
|
I["gm_ReloadUi"] = {iconfile=ns.media.."achievement_guildperk_quick and dead"} --IconName::gm_ReloadUi--
|
|
I["gm_gmticket"] = {iconfile="Interface\\CHATFRAME\\UI-CHATICON-BLIZZ", coordsStr="0:2"} --IconName::gm_gmticket--
|
|
I["gm_gmticket_edit"] = {iconfile="Interface\\ICONS\\inv_misc_note_05"} --IconName::gm_gmticket_edit--
|
|
I["gm_gmticket_cancel"] = {iconfile="Interface\\buttons\\ui-grouploot-pass-up",coordsStr="16:16:0:-1:32:32:2:32:2:32"} --IconName::gm_gmticket_cancel--
|
|
|
|
if ns.client_version<4 then
|
|
else
|
|
I["gm_Achievments"] = {iconfile="Interface\\buttons\\ui-microbutton-achievement-up", coordsStr="16:16:0:-1:64:64:5:54:32:59"} --IconName::gm_Achievments--
|
|
I["gm_LFGuild"] = {iconfile="Interface\\buttons\\UI-MicroButton-Guild-Disabled-"..ns.player.faction, coordsStr="16:16:0:-1:64:64:8:54:32:59"} --IconName::gm_FLGuild--
|
|
I["gm_PvP-neutral"] = {iconfile="Interface\\minimap\\tracking\\BattleMaster", coordsStr="16:16:0:-1:16:16:0:16:0:16"} --IconName::gm_PvP-neutral--
|
|
I["gm_PvP-alliance"] = {iconfile="interface\\pvpframe\\pvp-currency-Alliance", coordsStr="16:16:0:-1:16:16:0:16:0:16"} --IconName::gm_PvP-alliance--
|
|
I["gm_PvP-horde"] = {iconfile="interface\\pvpframe\\pvp-currency-Horde", coordsStr="16:16:0:-1:16:16:0:16:0:16"} --IconName::gm_PvP-horde--
|
|
I["gm_Raidfinder"] = {iconfile="Interface\\ICONS\\inv_helmet_06"} --IconName::gm_Raidfinder--
|
|
I["gm_LFDungeon"] = {iconfile="Interface\\ICONS\\levelupicon-lfd"} --IconName::gm_LFDungeon--
|
|
I["gm_Mounts"] = {iconfile="Interface\\ICONS\\mountjournalportrait"} --IconName::gm_Mounts--
|
|
I["gm_Pets"] = {iconfile="Interface\\ICONS\\inv_box_petcarrier_01"} --IconName::gm_Pets--
|
|
I["gm_ToyBox"] = {iconfile="Interface\\ICONS\\Trade_Archaeology_chestoftinyglassanimals"} --IconName::gm_ToyBox--
|
|
I["gm_EJ"] = {iconfile="Interface\\buttons\\UI-MicroButton-EJ-Up", coordsStr="16:16:0:-1:64:64:8:54:32:59"} --IconName::gm_EJ--
|
|
I["gm_Store"] = {iconfile="Interface\\ICONS\\WoW_Store"} --IconName::gm_Store--
|
|
I["gm_Heirlooms"] = {iconfile="Interface\\Icons\\inv_misc_enggizmos_19", coordsStr="16:16:0:-1:16:16:1:14:1:14"} --IconName::gm_heirlooms--
|
|
I["gm_Challenges"] = {iconfile="Interface\\Icons\\Achievement_ChallengeMode_ArakkoaSpires_Hourglass",coordsStr="16:16:0:-1:16:16:1:14:1:14"} --IconName::gm_Challenges--
|
|
end
|
|
|
|
local canLFD
|
|
if SHOW_LFD_LEVEL then
|
|
canLFD = (UnitLevel("player")>=SHOW_LFD_LEVEL); -- bfa
|
|
elseif C_LFGInfo and C_LFGInfo.CanPlayerUseGroupFinder then
|
|
canLFD = C_LFGInfo.CanPlayerUseGroupFinder(); -- shadowlands
|
|
end
|
|
|
|
menu = { --section 1
|
|
{name=CHARACTER_BUTTON, iconName="Character-{class}", func=function() securecall("ToggleCharacter", "PaperDollFrame") end },
|
|
{name=SPELLBOOK, iconName="Spellbook", click='SpellbookMicroButton', disabled=IsBlizzCon(), taint=true},
|
|
{name=TALENTS, iconName="Talents", click='TalentMicroButton', disabled=UnitLevel("player")<10, taint=true},
|
|
{name=ACHIEVEMENT_BUTTON, iconName="Achievments", click='AchievementMicroButton', taint=true, hide=ns.IsClassicClient},
|
|
{name=QUESTLOG_BUTTON, iconName="Questlog", click='QuestLogMicroButton', taint=true},
|
|
{
|
|
name=LOOKINGFORGUILD,
|
|
iconName="LFGuild",
|
|
click='GuildMicroButton',
|
|
disabled=(IsTrialAccount() or IsBlizzCon()),
|
|
get=function(v)
|
|
if ns.player.faction=="Neutral" then
|
|
v.disabled=true;
|
|
v.iconName="Help";
|
|
end
|
|
if not v.disabled and IsInGuild() then
|
|
v.name=GUILD;
|
|
v.iconName = "Guild";
|
|
if ns.IsClassicClient() then
|
|
function v.func() securecall("ToggleFriendsFrame",FRIEND_TAB_GUILD); end
|
|
v.click = nil;
|
|
end
|
|
end
|
|
end,
|
|
taint=true
|
|
},
|
|
{name=SOCIAL_BUTTON, iconName="Friends", func=function() securecall("ToggleFriendsFrame", 1) end, disabled=IsTrialAccount()},
|
|
|
|
{name=GROUP_FINDER, iconName="PvP-{faction}", func=function() securecall("PVEFrame_ToggleFrame","GroupFinderFrame"); end, disabled=not canLFD, hide=ns.IsClassicClient},
|
|
{name=PLAYER_V_PLAYER, iconName="LFDungeon", func=function() securecall("PVEFrame_ToggleFrame","PVPUIFrame"); end, disabled=not canLFD, hide=ns.IsClassicClient},
|
|
{name=CHALLENGES, iconName="Challenges", func=function() securecall("PVEFrame_ToggleFrame","ChallengesFrame"); end, disabled=not canLFD, hide=ns.IsClassicClient},
|
|
|
|
{name=MOUNTS, iconName="Mounts", func=function() if not CollectionsJournal then LoadAddOn("Blizzard_Collections") end ShowUIPanel(CollectionsJournal); securecall("CollectionsJournal_SetTab", CollectionsJournal, 1) end, taint=true, hide=ns.IsClassicClient},
|
|
{name=PET_JOURNAL, iconName="Pets", func=function() if not CollectionsJournal then LoadAddOn("Blizzard_Collections") end ShowUIPanel(CollectionsJournal); securecall("CollectionsJournal_SetTab", CollectionsJournal, 2) end, taint=true, hide=ns.IsClassicClient},
|
|
{name=TOY_BOX, iconName="ToyBox", func=function() if not CollectionsJournal then LoadAddOn("Blizzard_Collections") end ShowUIPanel(CollectionsJournal); securecall("CollectionsJournal_SetTab", CollectionsJournal, 3) end, taint=true, hide=ns.IsClassicClient},
|
|
{name=HEIRLOOMS, iconName="Heirlooms", func=function() if not CollectionsJournal then LoadAddOn("Blizzard_Collections") end ShowUIPanel(CollectionsJournal); securecall("CollectionsJournal_SetTab", CollectionsJournal, 4) end, taint=true, hide=ns.IsClassicClient},
|
|
|
|
{name=ENCOUNTER_JOURNAL, iconName="EJ", func=function() securecall("ToggleEncounterJournal") end, iconCoords="", hide=ns.IsClassicClient},
|
|
{name=BLIZZARD_STORE, iconName="Store", click='StoreMicroButton', disabled=IsTrialAccount(), taint=true, hide=ns.IsClassicClient},
|
|
{sep=true}, -- section 2
|
|
{name=GAMEMENU_HELP, iconName="Help", func=function() securecall("ToggleHelpFrame") end, },
|
|
{name=SYSTEMOPTIONS_MENU, iconName="SysOpts", func=function() securecall("VideoOptionsFrame_Toggle") end, },
|
|
{name=KEY_BINDINGS, iconName="KeyBinds", func=function() securecall("KeyBindingFrame_LoadUI") securecall("ShowUIPanel", KeyBindingFrame) end, taint=true},
|
|
{name=UIOPTIONS_MENU, iconName="UiOpts", func=function() securecall("InterfaceOptionsFrame_Show") end, },
|
|
{name=MACROS, iconName="Macros", func=function() securecall("ShowMacroFrame") end, },
|
|
{name=MAC_OPTIONS, iconName="MacOpts", func=function() securecall("ShowUIPanel", MacOptionsFrame) end, view=IsMacClient()==true},
|
|
{name=ADDONS, iconName="Addons", view=( (IsAddOnLoaded("OptionHouse")) or (IsAddOnLoaded("ACP")) or (IsAddOnLoaded("Ampere")) or (IsAddOnLoaded("stAddonManager")) or (_G["AddonList"]) ),
|
|
func=function()
|
|
if (IsAddOnLoaded("OptionHouse")) then
|
|
OptionHouse:Open(1);
|
|
elseif (IsAddOnLoaded("ACP")) then
|
|
ACP:ToggleUI();
|
|
elseif (IsAddOnLoaded("Ampere")) then
|
|
InterfaceOptionsFrame_OpenToCategory("Ampere");
|
|
elseif (IsAddOnLoaded("stAddonManager")) then
|
|
stAddonManager:LoadWindow()
|
|
elseif (_G["AddonList"]) then
|
|
AddonList:Show();
|
|
end
|
|
end},
|
|
{sep=true, taint=true}, -- section 3
|
|
{name=RELOADUI, iconName="ReloadUi", macro="/reload", taint=true},
|
|
}
|
|
end
|
|
|
|
function module.onevent(self, event, arg1, ...)
|
|
if event == "UPDATE_WEB_TICKET" then
|
|
local _
|
|
_, gmticket.hasTicket, gmticket.numTickets, gmticket.ticketStatus, gmticket.caseIndex, gmticket.waitTime, gmticket.waitMsg = ...
|
|
updateGMTicket()
|
|
elseif event=="PLAYER_LOGIN" then
|
|
local label = MAINMENU_BUTTON;
|
|
if type(ns.profile[name].customTitle)=="string" and ns.profile[name].customTitle~="" then
|
|
label = ns.profile[name].customTitle;
|
|
end
|
|
ns.LDB:GetDataObjectByName(module.ldbName).text = label;
|
|
end
|
|
end
|
|
|
|
-- function module.optionspanel(panel) end
|
|
-- function module.onmousewheel(self, direction) end
|
|
-- function module.ontooltip(tt) end
|
|
|
|
function module.onenter(self)
|
|
if (ns.tooltipChkOnShowModifier(false)) then return; end
|
|
tt = ns.acquireTooltip({ttName, 2, "LEFT", "LEFT"},{false},{self})
|
|
createTooltip(tt);
|
|
end
|
|
|
|
-- function module.onleave(self) end
|
|
|
|
function module.onclick(self, button)
|
|
if ns.profile[name].disableOnClick then return end
|
|
|
|
local shift = IsShiftKeyDown()
|
|
|
|
if (button=="LeftButton") and (shift) then
|
|
C_UI.Reload();
|
|
end
|
|
end
|
|
|
|
-- function module.ondblclick(self, button) end
|
|
|
|
|
|
-- final module registration --
|
|
-------------------------------
|
|
ns.modules[name] = module;
|
|
|