summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationmodel.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-12-05 20:26:26 -0800
committerMerov Linden <merov@lindenlab.com>2012-12-05 20:26:26 -0800
commit42a60e6ca5f4179738fa9a7376d1e842bc058ac4 (patch)
tree8e1f74ebf472a2ea9ae74f4ea65409c418555218 /indra/newview/llconversationmodel.cpp
parent3a49beed0e96a797a6d663bcae5e932437ca3661 (diff)
parent32d7131b1034d03fa9d3fdde8b86ee9880bb4f67 (diff)
Pull merge from dev repo
Diffstat (limited to 'indra/newview/llconversationmodel.cpp')
-rw-r--r--indra/newview/llconversationmodel.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index 76c422f34d..1f6022decb 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -115,6 +115,7 @@ void LLConversationItem::buildParticipantMenuOptions(menuentry_vec_t& items)
items.push_back(std::string("share"));
items.push_back(std::string("pay"));
items.push_back(std::string("block_unblock"));
+ items.push_back(std::string("MuteText"));
if(this->getType() != CONV_SESSION_1_ON_1)
{
@@ -528,12 +529,8 @@ bool LLConversationSort::operator()(const LLConversationItem* const& a, const LL
{
// If both are sessions
U32 sort_order = getSortOrderSessions();
- if ((type_a == LLConversationItem::CONV_SESSION_NEARBY) || (type_b == LLConversationItem::CONV_SESSION_NEARBY))
- {
- // If one is the nearby session, put nearby session *always* first
- return (type_a == LLConversationItem::CONV_SESSION_NEARBY);
- }
- else if (sort_order == LLConversationFilter::SO_DATE)
+
+ if (sort_order == LLConversationFilter::SO_DATE)
{
// Sort by time
F64 time_a = 0.0;
@@ -552,14 +549,22 @@ bool LLConversationSort::operator()(const LLConversationItem* const& a, const LL
}
// If no time available, we'll default to sort by name at the end of this method
}
- else if (sort_order == LLConversationFilter::SO_SESSION_TYPE)
+ else
{
- if (type_a != type_b)
+ if ((type_a == LLConversationItem::CONV_SESSION_NEARBY) || (type_b == LLConversationItem::CONV_SESSION_NEARBY))
{
- // Lowest types come first. See LLConversationItem definition of types
- return (type_a < type_b);
+ // If one is the nearby session, put nearby session *always* last
+ return (type_b == LLConversationItem::CONV_SESSION_NEARBY);
}
+ else if (sort_order == LLConversationFilter::SO_SESSION_TYPE)
+ {
+ if (type_a != type_b)
+ {
+ // Lowest types come first. See LLConversationItem definition of types
+ return (type_a < type_b);
+ }
// If types are identical, we'll default to sort by name at the end of this method
+ }
}
}
else