From 2c5af9672c8b531762475c752dd1904a4024ff67 Mon Sep 17 00:00:00 2001 From: Andrew Polunin Date: Fri, 18 Jun 2010 15:58:00 +0300 Subject: EXT-5808 FIXED Added another context menu. Also Navigation Bar and Mini-Location bar are mutually exclusive now - Implemented context menu for Mini-Location bar (menu_topinfobar.xml) - Implemented function show_topinfobar_context_menu() (in llviewermenu.h) which displays context menu for Mini-Location bar. - Functions toggle_show_navigation_panel() and toggle_show_mini_location_panel() modified so that Navigation Bar and Mini-Location bar are mutually exclusive (when the former is visible the latter is hidden and vice versa). - Implemented method LLPanelTopInfoBar::onContextMenuItemClicked which handles \"landmark\" and \"copy\" Mini-Location bar context menu actions. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/607/ --HG-- branch : product-engine --- indra/newview/llviewermenu.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'indra/newview/llviewermenu.cpp') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 36650af6cb..635cc361f3 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7693,6 +7693,31 @@ void show_navbar_context_menu(LLView* ctrl, S32 x, S32 y) LLMenuGL::showPopup(ctrl, show_navbar_context_menu, x, y); } +void show_topinfobar_context_menu(LLView* ctrl, S32 x, S32 y) +{ + static LLMenuGL* show_topbarinfo_context_menu = LLUICtrlFactory::getInstance()->createFromFile("menu_topinfobar.xml", + gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); + + LLMenuItemGL* landmark_item = show_topbarinfo_context_menu->getChild("Landmark"); + if (!LLLandmarkActions::landmarkAlreadyExists()) + { + landmark_item->setLabel(LLTrans::getString("AddLandmarkNavBarMenu")); + } + else + { + landmark_item->setLabel(LLTrans::getString("EditLandmarkNavBarMenu")); + } + + if(gMenuHolder->hasVisibleMenu()) + { + gMenuHolder->hideMenus(); + } + + show_topbarinfo_context_menu->buildDrawLabels(); + show_topbarinfo_context_menu->updateParent(LLMenuGL::sMenuContainer); + LLMenuGL::showPopup(ctrl, show_topbarinfo_context_menu, x, y); +} + void initialize_edit_menu() { view_listener_t::addMenu(new LLEditUndo(), "Edit.Undo"); -- cgit v1.2.3