summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-12-20 18:36:01 -0800
committerMerov Linden <merov@lindenlab.com>2012-12-20 18:36:01 -0800
commit090636f107a2d3ba3438a6690f36eac3ec257314 (patch)
tree27b5d0f6752cd37f81080982dbd83288a0abaed6 /indra/llui
parentc81a0b0a5701425aa52521d8600a280d05040517 (diff)
CHUI-429 : Fixed! Add a flag to filter multi/single selection situations in menu building. Implement in conversation contextual menu.
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfolderview.cpp5
-rw-r--r--indra/llui/llfolderview.h1
2 files changed, 4 insertions, 2 deletions
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index a33ffc4240..7ae79d94fe 100644
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -1913,14 +1913,15 @@ void LLFolderView::updateMenuOptions(LLMenuGL* menu)
// Successively filter out invalid options
- U32 flags = FIRST_SELECTED_ITEM;
+ U32 multi_select_flag = (mSelectedItems.size() > 1 ? ITEM_IN_MULTI_SELECTION : 0x0);
+ U32 flags = multi_select_flag | FIRST_SELECTED_ITEM;
for (selected_items_t::iterator item_itor = mSelectedItems.begin();
item_itor != mSelectedItems.end();
++item_itor)
{
LLFolderViewItem* selected_item = (*item_itor);
selected_item->buildContextMenu(*menu, flags);
- flags = 0x0;
+ flags = multi_select_flag;
}
addNoOptions(menu);
diff --git a/indra/llui/llfolderview.h b/indra/llui/llfolderview.h
index d4a1434c73..2ee7417240 100644
--- a/indra/llui/llfolderview.h
+++ b/indra/llui/llfolderview.h
@@ -400,5 +400,6 @@ public:
// Flags for buildContextMenu()
const U32 SUPPRESS_OPEN_ITEM = 0x1;
const U32 FIRST_SELECTED_ITEM = 0x2;
+const U32 ITEM_IN_MULTI_SELECTION = 0x4;
#endif // LL_LLFOLDERVIEW_H