summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorRichard Nelson <richard@lindenlab.com>2011-09-26 18:51:43 -0700
committerRichard Nelson <richard@lindenlab.com>2011-09-26 18:51:43 -0700
commit7fd0e8c69e6dced4a770da4fac10c154eac5899f (patch)
tree42da3dccaa4ef4c9025e34341e633eae305d3c25 /indra
parent756532ba8a0a29ca7e5991d8a4f48ddac3bf06ac (diff)
fixed toolbar context menu
deprecated pointless LLView::deleteViewByHandle
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/llmenugl.cpp2
-rw-r--r--indra/llui/lltoolbar.cpp18
-rw-r--r--indra/llui/lltoolbar.h11
-rw-r--r--indra/llui/lltoolbarview.cpp6
-rw-r--r--indra/llui/llview.cpp7
-rw-r--r--indra/llui/llview.h1
-rw-r--r--indra/newview/llfavoritesbar.cpp4
-rw-r--r--indra/newview/llfloatersnapshot.cpp2
-rw-r--r--indra/newview/llfolderview.cpp4
-rw-r--r--indra/newview/llgrouplist.cpp2
-rw-r--r--indra/newview/llpanelpeople.cpp10
-rw-r--r--indra/newview/llpanelteleporthistory.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/menu_toolbars.xml4
-rw-r--r--indra/newview/skins/default/xui/en/widgets/toolbar.xml1
14 files changed, 30 insertions, 44 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 6cac841cde..badba7a416 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -947,7 +947,7 @@ LLMenuItemBranchGL::LLMenuItemBranchGL(const LLMenuItemBranchGL::Params& p)
LLMenuItemBranchGL::~LLMenuItemBranchGL()
{
- LLView::deleteViewByHandle(mBranchHandle);
+ delete mBranchHandle.get();
}
// virtual
diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
index 278c04aef8..bd45cf4656 100644
--- a/indra/llui/lltoolbar.cpp
+++ b/indra/llui/lltoolbar.cpp
@@ -116,12 +116,12 @@ LLToolBar::LLToolBar(const LLToolBar::Params& p)
LLToolBar::~LLToolBar()
{
- LLView::deleteViewByHandle(mPopupMenuHandle);
+ delete mPopupMenuHandle.get();
}
-BOOL LLToolBar::postBuild()
+void LLToolBar::createContextMenu()
{
- if (!mReadOnly)
+ if (!mPopupMenuHandle.get())
{
LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar();
commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2));
@@ -129,11 +129,7 @@ BOOL LLToolBar::postBuild()
LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar();
enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2));
- //
- // Setup the context menu
- //
-
- LLMenuGL* menu = LLUICtrlFactory::instance().createFromFile<LLMenuGL>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance());
+ LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance());
if (menu)
{
@@ -146,8 +142,6 @@ BOOL LLToolBar::postBuild()
llwarns << "Unable to load toolbars context menu." << llendl;
}
}
-
- return TRUE;
}
void LLToolBar::initFromParams(const LLToolBar::Params& p)
@@ -278,10 +272,12 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask)
if (handle_it_here)
{
- LLMenuGL * menu = (LLMenuGL *) mPopupMenuHandle.get();
+ createContextMenu();
+ LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get();
if (menu)
{
+ menu->show(x, y);
LLMenuGL::showPopup(this, menu, x, y);
}
}
diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h
index f7562b29d2..657e928319 100644
--- a/indra/llui/lltoolbar.h
+++ b/indra/llui/lltoolbar.h
@@ -119,8 +119,8 @@ public:
// virtuals
void draw();
- BOOL postBuild();
void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
+ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
bool addCommand(const LLCommandId& commandId);
bool hasCommand(const LLCommandId& commandId) const;
@@ -133,13 +133,12 @@ protected:
void initFromParams(const Params&);
- BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
- BOOL isSettingChecked(const LLSD& userdata);
- void onSettingEnable(const LLSD& userdata);
-
private:
+ void createContextMenu();
void updateLayoutAsNeeded();
void resizeButtonsInRow(std::vector<LLToolBarButton*>& buttons_in_row, S32 max_row_girth);
+ BOOL isSettingChecked(const LLSD& userdata);
+ void onSettingEnable(const LLSD& userdata);
const bool mReadOnly;
@@ -164,7 +163,7 @@ private:
LLToolBarButton::Params mButtonParams[LLToolBarEnums::BTNTYPE_COUNT];
- LLHandle<LLView> mPopupMenuHandle;
+ LLHandle<class LLContextMenu> mPopupMenuHandle;
};
diff --git a/indra/llui/lltoolbarview.cpp b/indra/llui/lltoolbarview.cpp
index 21d3785c82..6ae10fbf1d 100644
--- a/indra/llui/lltoolbarview.cpp
+++ b/indra/llui/lltoolbarview.cpp
@@ -90,9 +90,9 @@ void LLToolBarView::draw()
LLRect bottom_rect, left_rect, right_rect;
- if (mToolbarBottom) bottom_rect = mToolbarBottom->getRect();
- if (mToolbarLeft) left_rect = mToolbarLeft->getRect();
- if (mToolbarRight) right_rect = mToolbarRight->getRect();
+ if (mToolbarBottom) mToolbarBottom->localRectToOtherView(mToolbarBottom->getLocalRect(), &bottom_rect, this);
+ if (mToolbarLeft) mToolbarLeft->localRectToOtherView(mToolbarLeft->getLocalRect(), &left_rect, this);
+ if (mToolbarRight) mToolbarRight->localRectToOtherView(mToolbarRight->getLocalRect(), &right_rect, this);
if ((old_width != getRect().getWidth()) || (old_height != getRect().getHeight()))
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 60452b9ae4..e10c2f0d1e 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -1826,13 +1826,6 @@ LLView* LLView::findNextSibling(LLView* child)
return (next_it != mChildList.end()) ? *next_it : NULL;
}
-void LLView::deleteViewByHandle(LLHandle<LLView> handle)
-{
- LLView* viewp = handle.get();
-
- delete viewp;
-}
-
LLCoordGL getNeededTranslation(const LLRect& input, const LLRect& constraint, BOOL allow_partial_outside)
{
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 594a5eec6b..7a1b2e4ba0 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -482,7 +482,6 @@ public:
// return query for iterating over focus roots in tab order
static const LLCtrlQuery & getFocusRootsQuery();
- static void deleteViewByHandle(LLHandle<LLView> handle);
static LLWindow* getWindow(void) { return LLUI::sWindow; }
// Set up params after XML load before calling new(),
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index 0b17d64eb0..836c580ea8 100644
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -403,8 +403,8 @@ LLFavoritesBarCtrl::~LLFavoritesBarCtrl()
{
gInventory.removeObserver(this);
- LLView::deleteViewByHandle(mOverflowMenuHandle);
- LLView::deleteViewByHandle(mContextMenuHandle);
+ delete mOverflowMenuHandle.get();
+ delete mContextMenuHandle.get();
}
BOOL LLFavoritesBarCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 00dc7b1627..9d020517d8 100644
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -2112,7 +2112,7 @@ LLFloaterSnapshot::LLFloaterSnapshot(const LLSD& key)
// Destroys the object
LLFloaterSnapshot::~LLFloaterSnapshot()
{
- LLView::deleteViewByHandle(impl.mPreviewHandle);
+ delete impl.mPreviewHandle.get();
//unfreeze everything else
gSavedSettings.setBOOL("FreezeTime", FALSE);
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 9ba5f827e2..6ec2598e44 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -299,7 +299,7 @@ LLFolderView::~LLFolderView( void )
mAutoOpenItems.removeAllNodes();
gIdleCallbacks.deleteFunction(idle, this);
- LLView::deleteViewByHandle(mPopupMenuHandle);
+ delete mPopupMenuHandle.get();
mAutoOpenItems.removeAllNodes();
clearSelection();
@@ -1969,7 +1969,7 @@ BOOL LLFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
void LLFolderView::deleteAllChildren()
{
closeRenamer();
- LLView::deleteViewByHandle(mPopupMenuHandle);
+ delete mPopupMenuHandle.get();
mPopupMenuHandle = LLHandle<LLView>();
mScrollContainer = NULL;
mRenameItem = NULL;
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index c3e6e1c2dc..f7ed1116cb 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -95,7 +95,7 @@ LLGroupList::LLGroupList(const Params& p)
LLGroupList::~LLGroupList()
{
gAgent.removeListener(this);
- LLView::deleteViewByHandle(mContextMenuHandle);
+ delete mContextMenuHandle.get();
}
// virtual
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index e3a7b749ea..177aa4f5c8 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -526,11 +526,11 @@ LLPanelPeople::~LLPanelPeople()
LLVoiceClient::getInstance()->removeObserver(this);
}
- LLView::deleteViewByHandle(mGroupPlusMenuHandle);
- LLView::deleteViewByHandle(mNearbyViewSortMenuHandle);
- LLView::deleteViewByHandle(mFriendsViewSortMenuHandle);
- LLView::deleteViewByHandle(mGroupsViewSortMenuHandle);
- LLView::deleteViewByHandle(mRecentViewSortMenuHandle);
+ delete mGroupPlusMenuHandle.get();
+ delete mNearbyViewSortMenuHandle.get();
+ delete mFriendsViewSortMenuHandle.get();
+ delete mGroupsViewSortMenuHandle.get();
+ delete mRecentViewSortMenuHandle.get();
}
diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp
index 9b35e78134..dfa8c75493 100644
--- a/indra/newview/llpanelteleporthistory.cpp
+++ b/indra/newview/llpanelteleporthistory.cpp
@@ -388,7 +388,7 @@ LLTeleportHistoryPanel::LLTeleportHistoryPanel()
LLTeleportHistoryPanel::~LLTeleportHistoryPanel()
{
LLTeleportHistoryFlatItemStorage::instance().purge();
- LLView::deleteViewByHandle(mGearMenuHandle);
+ delete mGearMenuHandle.get();
}
BOOL LLTeleportHistoryPanel::postBuild()
diff --git a/indra/newview/skins/default/xui/en/menu_toolbars.xml b/indra/newview/skins/default/xui/en/menu_toolbars.xml
index b3ecd3dcb6..de13fec670 100644
--- a/indra/newview/skins/default/xui/en/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/en/menu_toolbars.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<menu bottom="825"
+<context_menu
layout="topleft"
name="Toolbars Popup"
visible="false">
@@ -26,4 +26,4 @@
<on_check function="Toolbars.CheckSetting"
parameter="icons_only" />
</menu_item_check>
-</menu>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml
index 95ccc6e92c..29b5d02299 100644
--- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml
+++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml
@@ -7,7 +7,6 @@
pad_between="5"
mouse_opaque="false"
read_only="false">
-
<button_panel name="button_panel"
bg_opaque_image="Rounded_Rect"
background_visible="true"