summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llconversationlog.cpp15
-rw-r--r--indra/newview/lldonotdisturbnotificationstorage.cpp25
-rw-r--r--indra/newview/llimview.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_container.xml10
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_session.xml12
5 files changed, 45 insertions, 19 deletions
diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp
index dd20ca15ae..7883e4cb89 100644
--- a/indra/newview/llconversationlog.cpp
+++ b/indra/newview/llconversationlog.cpp
@@ -194,14 +194,17 @@ LLConversationLog::LLConversationLog() :
mAvatarNameCacheConnection(),
mLoggingEnabled(false)
{
- LLControlVariable * keep_log_ctrlp = gSavedPerAccountSettings.getControl("KeepConversationLogTranscripts").get();
- S32 log_mode = keep_log_ctrlp->getValue();
- keep_log_ctrlp->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2));
- if (log_mode > 0)
+ if(gSavedPerAccountSettings.controlExists("KeepConversationLogTranscripts"))
{
- loadFromFile(getFileName());
+ LLControlVariable * keep_log_ctrlp = gSavedPerAccountSettings.getControl("KeepConversationLogTranscripts").get();
+ S32 log_mode = keep_log_ctrlp->getValue();
+ keep_log_ctrlp->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2));
+ if (log_mode > 0)
+ {
+ loadFromFile(getFileName());
- enableLogging(log_mode);
+ enableLogging(log_mode);
+ }
}
}
diff --git a/indra/newview/lldonotdisturbnotificationstorage.cpp b/indra/newview/lldonotdisturbnotificationstorage.cpp
index 22f35752bd..be20adeb8a 100644
--- a/indra/newview/lldonotdisturbnotificationstorage.cpp
+++ b/indra/newview/lldonotdisturbnotificationstorage.cpp
@@ -33,6 +33,7 @@
#include "lldir.h"
#include "llerror.h"
#include "llfloaterreg.h"
+#include "llimview.h"
#include "llnotifications.h"
#include "llnotificationhandler.h"
#include "llnotificationstorage.h"
@@ -145,6 +146,8 @@ void LLDoNotDisturbNotificationStorage::loadNotifications()
LLNotifications& instance = LLNotifications::instance();
bool imToastExists = false;
+ bool group_ad_hoc_toast_exists = false;
+ S32 toastSessionType;
bool offerExists = false;
for (LLSD::array_const_iterator notification_it = data.beginArray();
@@ -158,7 +161,20 @@ void LLDoNotDisturbNotificationStorage::loadNotifications()
if(notificationName == toastName)
{
- imToastExists = true;
+ toastSessionType = notification_params["payload"]["SESSION_TYPE"];
+ if(toastSessionType == LLIMModel::LLIMSession::P2P_SESSION)
+ {
+ imToastExists = true;
+ }
+ //Don't add group/ad-hoc messages to the notification system because
+ //this means the group/ad-hoc session has to be re-created
+ else if(toastSessionType == LLIMModel::LLIMSession::GROUP_SESSION
+ || toastSessionType == LLIMModel::LLIMSession::ADHOC_SESSION)
+ {
+ //Just allows opening the conversation log for group/ad-hoc messages upon startup
+ group_ad_hoc_toast_exists = true;
+ continue;
+ }
}
else if(notificationName == offerName)
{
@@ -197,7 +213,12 @@ void LLDoNotDisturbNotificationStorage::loadNotifications()
LLFloaterReg::showInstance("im_container");
}
- if(imToastExists || offerExists)
+ if(group_ad_hoc_toast_exists)
+ {
+ LLFloaterReg::showInstance("conversation");
+ }
+
+ if(imToastExists || group_ad_hoc_toast_exists || offerExists)
{
make_ui_sound_deferred("UISndNewIncomingIMSession");
}
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 10e214bc90..8c862548bb 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -154,6 +154,7 @@ static void on_avatar_name_cache_toast(const LLUUID& agent_id,
args["FROM"] = av_name.getCompleteName();
args["FROM_ID"] = msg["from_id"];
args["SESSION_ID"] = msg["session_id"];
+ args["SESSION_TYPE"] = msg["session_type"];
LLNotificationsUtil::add("IMToast", args, args, boost::bind(&LLFloaterIMContainer::showConversation, LLFloaterIMContainer::getInstance(), msg["session_id"].asUUID()));
}
@@ -1008,6 +1009,7 @@ bool LLIMModel::addMessage(const LLUUID& session_id, const std::string& from, co
arg["from"] = from;
arg["from_id"] = from_id;
arg["time"] = LLLogChat::timestamp(false);
+ arg["session_type"] = session->mSessionType;
mNewMsgSignal(arg);
return true;
diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml
index 12c1676127..65f623a47e 100644
--- a/indra/newview/skins/default/xui/en/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_container.xml
@@ -61,7 +61,7 @@
image_unselected="Toolbar_Middle_Off"
menu_filename="menu_participant_view.xml"
layout="topleft"
- left="10"
+ left="5"
name="sort_btn"
tool_tip="View/sort options"
top="5"
@@ -75,7 +75,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="4"
+ left_pad="2"
name="add_btn"
tool_tip="Start a new conversation"
width="31"/>
@@ -88,7 +88,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="4"
+ left_pad="2"
name="speak_btn"
tool_tip="Speak with people using your microphone"
width="31"/>
@@ -114,7 +114,7 @@
</layout_panel>
</layout_stack>
<panel
- bottom="-5"
+ bottom="-1"
follows="all"
layout="topleft"
name="conversations_list_panel"
@@ -129,7 +129,7 @@
name="messages_layout_panel"
expanded_min_dim="222">
<panel_container
- bottom="-5"
+ bottom="-1"
follows="all"
layout="topleft"
left="0"
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index c42e58a9f4..e081ea8e74 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -118,7 +118,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="4"
+ left_pad="2"
name="gear_btn"
visible="false"
tool_tip="Actions on selected person"
@@ -133,7 +133,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="4"
+ left_pad="2"
name="add_btn"
tool_tip="Add someone to this conversation"
width="31"/>
@@ -146,7 +146,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="4"
+ left_pad="2"
name="voice_call_btn"
tool_tip="Open voice connection"
width="31"/>
@@ -171,7 +171,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left="283"
+ left="292"
name="close_btn"
tool_tip="End this conversation"
width="31" />
@@ -184,7 +184,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="5"
+ left_pad="2"
name="expand_collapse_btn"
tool_tip="Collapse/Expand this pane"
width="31" />
@@ -197,7 +197,7 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left_pad="5"
+ left_pad="2"
name="tear_off_btn"
width="31" />
</layout_panel>