summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/lltoolbar.cpp10
-rw-r--r--indra/newview/skins/default/xui/en/floater_toybox.xml16
2 files changed, 22 insertions, 4 deletions
diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
index 2fb9f249d4..9986eece2d 100644
--- a/indra/llui/lltoolbar.cpp
+++ b/indra/llui/lltoolbar.cpp
@@ -123,12 +123,16 @@ void LLToolBar::createContextMenu()
{
if (!mPopupMenuHandle.get())
{
+ // Setup bindings specific to this instance for the context menu options
+
LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar();
commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2));
LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar();
enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2));
+ // Create the context menu
+
LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance());
if (menu)
@@ -141,6 +145,10 @@ void LLToolBar::createContextMenu()
{
llwarns << "Unable to load toolbars context menu." << llendl;
}
+
+ // Remove this instance's bindings
+ commit_reg.remove("Toolbars.EnableSetting");
+ enable_reg.remove("Toolbars.CheckSetting");
}
}
@@ -251,11 +259,13 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask)
if (handle_it_here)
{
createContextMenu();
+
LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get();
if (menu)
{
menu->show(x, y);
+
LLMenuGL::showPopup(this, menu, x, y);
}
}
diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml
index 60a39b0bff..092eddaa53 100644
--- a/indra/newview/skins/default/xui/en/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/en/floater_toybox.xml
@@ -46,6 +46,7 @@
<toolbar
bottom="395"
button_display_mode="icons_with_text"
+ follows="all"
left="20"
max_button_width="140"
min_button_width="70"
@@ -58,15 +59,22 @@
read_only="true"
right="-20"
side="top"
- top="85">
- </toolbar>
+ top="85" />
+ <panel
+ bevel_style="none"
+ border="true"
+ bottom="396"
+ follows="left|bottom|right"
+ left="20"
+ right="-20"
+ top="396" />
<button
- follows="left|bottom"
+ follows="left|bottom|right"
height="23"
label="Restore defaults"
label_selected="Restore defaults"
layout="topleft"
- left="20"
+ left="260"
name="btn_restore_defaults"
top="415"
width="130">