summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloaterimcontainer.cpp23
-rw-r--r--indra/newview/skins/default/xui/en/menu_participant_view.xml5
2 files changed, 18 insertions, 10 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 39cd16acfa..c1a5c9ceeb 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -1022,16 +1022,21 @@ void LLFloaterIMContainer::doToSelectedGroup(const LLSD& userdata)
bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)
{
- std::string item = userdata.asString();
+ const std::string& item = userdata.asString();
uuid_vec_t uuids;
getParticipantUUIDs(uuids);
- if(item == std::string("can_activate_group"))
+ if("can_activate_group" == item)
{
LLUUID selected_group_id = getCurSelectedViewModelItem()->getUUID();
return gAgent.getGroupID() != selected_group_id;
}
+ if("conversation_log" == item)
+ {
+ return gSavedSettings.getBOOL("KeepConversationLogTranscripts");
+ }
+
if(uuids.size() <= 0)
{
return false;
@@ -1040,12 +1045,12 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)
// Note: can_block and can_delete is used only for one person selected menu
// so we don't need to go over all uuids.
- if (item == std::string("can_block"))
+ if ("can_block" == item)
{
const LLUUID& id = uuids.front();
return LLAvatarActions::canBlock(id);
}
- else if (item == std::string("can_add"))
+ else if ("can_add" == item)
{
// We can add friends if:
// - there are selected people
@@ -1074,7 +1079,7 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)
return result;
}
- else if (item == std::string("can_delete"))
+ else if ("can_delete" == item)
{
// We can remove friends if:
// - there are selected people
@@ -1097,18 +1102,18 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)
return result;
}
- else if (item == std::string("can_call"))
+ else if ("can_call" == item)
{
return LLAvatarActions::canCall();
}
- else if (item == std::string("can_show_on_map"))
+ else if ("can_show_on_map" == item)
{
const LLUUID& id = uuids.front();
return (LLAvatarTracker::instance().isBuddyOnline(id) && is_agent_mappable(id))
|| gAgent.isGodlike();
}
- else if(item == std::string("can_offer_teleport"))
+ else if("can_offer_teleport" == item)
{
return LLAvatarActions::canOfferTeleport(uuids);
}
@@ -1117,7 +1122,7 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)
return enableModerateContextMenuItem(item);
}
- return false;
+ return false;
}
bool LLFloaterIMContainer::checkContextMenuItem(const LLSD& userdata)
diff --git a/indra/newview/skins/default/xui/en/menu_participant_view.xml b/indra/newview/skins/default/xui/en/menu_participant_view.xml
index 523ce7b35b..33d7bd7c01 100644
--- a/indra/newview/skins/default/xui/en/menu_participant_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_participant_view.xml
@@ -85,5 +85,8 @@
<menu_item_check.on_click
function="Floater.Toggle"
parameter="conversation" />
- </menu_item_check>
+ <menu_item_check.on_enable
+ function="Avatar.EnableItem"
+ parameter="conversation_log" />
+ </menu_item_check>
</toggleable_menu>