From 5db02993ef806d2d73ae3e3fde89c3405132a348 Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Mon, 27 Sep 2010 20:20:09 -0400 Subject: [STORM-255] As a user I would like to disable incoming Group/IM toasts from showing up. This will also take care of STORM-221 since the person that would be affected by the toast cha now disable them. --- indra/newview/llimview.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index c865dcf9a3..286231523a 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -131,6 +131,20 @@ void toast_callback(const LLSD& msg){ return; } + // *NOTE Skip toasting if the user disable it in preferences/debug settings ~Alexandrea + LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession( + msg["session_id"]); + if (gSavedSettings.getBOOL("DisableGroupToast") + && session->isGroupSessionType()) + { + return; + } + if (gSavedSettings.getBOOL("DisableIMToast") + && !session->isGroupSessionType()) + { + return; + } + // Skip toasting if we have open window of IM with this session id LLIMFloater* open_im_floater = LLIMFloater::findInstance(msg["session_id"]); if (open_im_floater && open_im_floater->getVisible()) -- cgit v1.2.3 From cb5d8d1a9295076327f23e5f6d6c91fd0d4580ea Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Fri, 22 Oct 2010 17:41:06 -0700 Subject: DN-181 Chat & IM logs saved in unreadable .llsd instead of .txt --- indra/newview/llimview.cpp | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index c865dcf9a3..ba0dc31005 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -430,8 +430,9 @@ void LLIMModel::LLIMSession::addMessagesFromHistory(const std::list& histo } else { - // Legacy chat logs only wrote the legacy name, not the agent_id - gCacheName->getUUID(from, from_id); + // convert it to a legacy name if we have a complete name + std::string legacy_name = gCacheName->buildLegacyName(from); + gCacheName->getUUID(legacy_name, from_id); } std::string timestamp = msg[IM_TIME]; @@ -526,8 +527,15 @@ bool LLIMModel::LLIMSession::isOtherParticipantAvaline() void LLIMModel::LLIMSession::onAvatarNameCache(const LLUUID& avatar_id, const LLAvatarName& av_name) { - // if username is empty, display names isn't enabled, use the display name - mHistoryFileName = av_name.mUsername.empty() ? av_name.mDisplayName : av_name.mUsername; + if (av_name.getLegacyName().empty()) + { + // if display names is off the legacy name will be the display name + mHistoryFileName = LLCacheName::cleanFullName(av_name.mDisplayName); + } + else + { + mHistoryFileName = LLCacheName::cleanFullName(av_name.getLegacyName()); + } } void LLIMModel::LLIMSession::buildHistoryFileName() @@ -737,8 +745,18 @@ bool LLIMModel::addToHistory(const LLUUID& session_id, const std::string& from, bool LLIMModel::logToFile(const std::string& file_name, const std::string& from, const LLUUID& from_id, const std::string& utf8_text) { if (gSavedPerAccountSettings.getBOOL("LogInstantMessages")) - { - LLLogChat::saveHistory(file_name, from, from_id, utf8_text); + { + std::string from_name = from; + + LLAvatarName av_name; + if (!from_id.isNull() && + LLAvatarNameCache::get(from_id, &av_name) && + !av_name.mIsDisplayNameDefault) + { + from_name = av_name.getCompleteName(); + } + + LLLogChat::saveHistory(file_name, from_name, from_id, utf8_text); return true; } else -- cgit v1.2.3 From 6da1e54e6a8b66a2cad7c8c89de279ca5b9ac7dd Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Mon, 25 Oct 2010 11:43:50 -0400 Subject: Inverting settings and test so that telling other how to turn off the messages popping is easier as per discussion with Oz and Boroondas also correcting some minor spelling issues --- indra/newview/llimview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 410a20ffd0..79d524006d 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -134,12 +134,12 @@ void toast_callback(const LLSD& msg){ // *NOTE Skip toasting if the user disable it in preferences/debug settings ~Alexandrea LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession( msg["session_id"]); - if (gSavedSettings.getBOOL("DisableGroupToast") + if (!gSavedSettings.getBOOL("EnableGroupToast") && session->isGroupSessionType()) { return; } - if (gSavedSettings.getBOOL("DisableIMToast") + if (!gSavedSettings.getBOOL("EnableIMToast") && !session->isGroupSessionType()) { return; -- cgit v1.2.3 From e98eff02ae4894050267a6b302c4887393ff1244 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Mon, 25 Oct 2010 10:31:47 -0700 Subject: DN-181 Chat & IM logs saved in unreadable .llsd instead of .txt - fixing saving of p2p logs --- indra/newview/llimview.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ba0dc31005..349ef8185f 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -527,9 +527,10 @@ bool LLIMModel::LLIMSession::isOtherParticipantAvaline() void LLIMModel::LLIMSession::onAvatarNameCache(const LLUUID& avatar_id, const LLAvatarName& av_name) { - if (av_name.getLegacyName().empty()) + if (av_name.mLegacyFirstName.empty()) { - // if display names is off the legacy name will be the display name + // if mLegacyFirstName is empty it means display names is off and the + // data came from the gCacheName, mDisplayName will be the legacy name mHistoryFileName = LLCacheName::cleanFullName(av_name.mDisplayName); } else -- cgit v1.2.3 From 379f9b824087a44f7ffab0becfafaa29611751be Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Wed, 27 Oct 2010 11:00:39 -0400 Subject: Made changes to setting names and in pannel_preferences_chat.xml for better understanding as per Esbee's comments in STORM-255 --- indra/newview/llimview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 256f2aa842..416e13ed74 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -134,12 +134,12 @@ void toast_callback(const LLSD& msg){ // *NOTE Skip toasting if the user disable it in preferences/debug settings ~Alexandrea LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession( msg["session_id"]); - if (!gSavedSettings.getBOOL("EnableGroupToast") + if (!gSavedSettings.getBOOL("EnableGroupChatPopups") && session->isGroupSessionType()) { return; } - if (!gSavedSettings.getBOOL("EnableIMToast") + if (!gSavedSettings.getBOOL("EnableIMChatPopups") && !session->isGroupSessionType()) { return; -- cgit v1.2.3 From 360ce3d667ecd9ac6c6c8b4a91902997ca7de60a Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 27 Oct 2010 15:22:39 -0700 Subject: DN-190 Last name resident shown in title of IM Conference Window with no Display name --- indra/newview/llimview.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'indra/newview/llimview.cpp') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 349ef8185f..02a693b9a0 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -257,21 +257,17 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string& // history files have consistent (English) names in different locales. if (isAdHocSessionType() && IM_SESSION_INVITE == type) { - // Name here has a form of " Conference" - // Lets update it to localize the "Conference" word. See EXT-8429. - S32 separator_index = mName.rfind(" "); - std::string name = mName.substr(0, separator_index); - ++separator_index; - std::string conference_word = mName.substr(separator_index, mName.length()); + LLAvatarNameCache::get(mOtherParticipantID, + boost::bind(&LLIMModel::LLIMSession::onAdHocNameCache, + this, _2)); + } +} - // additional check that session name is what we expected - if ("Conference" == conference_word) - { +void LLIMModel::LLIMSession::onAdHocNameCache(const LLAvatarName& av_name) +{ LLStringUtil::format_map_t args; - args["[AGENT_NAME]"] = name; + args["[AGENT_NAME]"] = av_name.getCompleteName(); LLTrans::findString(mName, "conference-title-incoming", args); - } - } } void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state, const LLVoiceChannel::EDirection& direction) -- cgit v1.2.3