merge storm-153

master
Tofu Linden 2010-09-18 11:17:39 +01:00
commit 9b0da85a47
3 changed files with 28 additions and 24 deletions

View File

@ -69,7 +69,6 @@ const static std::string IM_TEXT("message");
const static std::string IM_FROM("from");
const static std::string IM_FROM_ID("from_id");
const static std::string NO_SESSION("(IM Session Doesn't Exist)");
const static std::string ADHOC_NAME_SUFFIX(" Conference");
const static std::string NEARBY_P2P_BY_OTHER("nearby_P2P_by_other");
@ -231,25 +230,6 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string&
new LLSessionTimeoutTimer(mSessionID, SESSION_INITIALIZATION_TIMEOUT);
}
// *WORKAROUND: for server hard-coded string in indra\newsim\llsimchatterbox.cpp
if (isAdHocSessionType() && IM_SESSION_INVITE == type)
{
// For an ad-hoc incoming chat name is received from the server and is in a form of "<Avatar's name> 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());
// additional check that session name is what we expected
if ("Conference" == conference_word)
{
LLStringUtil::format_map_t args;
args["[AGENT_NAME]"] = name;
LLTrans::findString(mName, "conference-title-incoming", args);
}
}
if (IM_NOTHING_SPECIAL == type)
{
mCallBackEnabled = LLVoiceClient::getInstance()->isSessionCallBackPossible(mSessionID);
@ -266,6 +246,27 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string&
LLLogChat::loadAllHistory(mHistoryFileName, chat_history);
addMessagesFromHistory(chat_history);
}
// Localizing name of ad-hoc session. STORM-153
// Changing name should happen here- after the history file was created, so that
// history files have consistent (English) names in different locales.
if (isAdHocSessionType() && IM_SESSION_INVITE == type)
{
// Name here has a form of "<Avatar's name> 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());
// additional check that session name is what we expected
if ("Conference" == conference_word)
{
LLStringUtil::format_map_t args;
args["[AGENT_NAME]"] = name;
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)
@ -791,14 +792,14 @@ LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id,
}
const std::string& LLIMModel::getName(const LLUUID& session_id) const
const std::string LLIMModel::getName(const LLUUID& session_id) const
{
LLIMSession* session = findIMSession(session_id);
if (!session)
{
llwarns << "session " << session_id << "does not exist " << llendl;
return NO_SESSION;
return LLTrans::getString("no_session_message");
}
return session->mName;

View File

@ -230,7 +230,7 @@ public:
* For an incoming ad-hoc chat - is received from the server and is in a from of "<Avatar's name> Conference"
* It is updated in LLIMModel::LLIMSession's constructor to localize the "Conference".
*/
const std::string& getName(const LLUUID& session_id) const;
const std::string getName(const LLUUID& session_id) const;
/**
* Get number of unread messages in a session with session_id

View File

@ -3029,7 +3029,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
Ad-hoc Conference
</string>
<string name="conference-title-incoming">
[AGENT_NAME] Conference
Conference with [AGENT_NAME]
</string>
<string name="inventory_item_offered-im">
Inventory item offered
@ -3039,6 +3039,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
</string>
<string name="no_session_message">
(IM Session Doesn't Exist)
</string>
<string name="only_user_message">
You are the only user in this session.
</string>