summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2010-05-28 15:15:33 -0700
committerJames Cook <james@lindenlab.com>2010-05-28 15:15:33 -0700
commitae91c0e7c6685932ee7789925662df139586cf3e (patch)
tree933330a4dd96f2024234652800638e18c5c5fe23 /indra/newview
parent3e7f5e571ec223a67cb30ed8ce5cd09c130c3e72 (diff)
DEV-50202 IM toast notification shows SLID and flashing info icon
Fixed to use Display Name (Username), fixed icon placement, also fixed notifications system well names. Reviewed with Leyla.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llimview.cpp25
-rw-r--r--indra/newview/llsyswellwindow.cpp26
-rw-r--r--indra/newview/llsyswellwindow.h2
-rw-r--r--indra/newview/lltoastimpanel.cpp3
-rw-r--r--indra/newview/skins/default/xui/en/panel_activeim_row.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_instant_message.xml2
6 files changed, 45 insertions, 15 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index e6db942bad..136ccbca49 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -109,6 +109,20 @@ BOOL LLSessionTimeoutTimer::tick()
return TRUE;
}
+static void on_avatar_name_cache_toast(const LLUUID& agent_id,
+ const LLAvatarName& av_name,
+ LLSD msg)
+{
+ LLSD args;
+ args["MESSAGE"] = msg["message"];
+ args["TIME"] = msg["time"];
+ // *TODO: Can this ever be an object name or group name?
+ args["FROM"] = av_name.getCompleteName();
+ args["FROM_ID"] = msg["from_id"];
+ args["SESSION_ID"] = msg["session_id"];
+ LLNotificationsUtil::add("IMToast", args, LLSD(), boost::bind(&LLIMFloater::show, msg["session_id"].asUUID()));
+}
+
void toast_callback(const LLSD& msg){
// do not show toast in busy mode or it goes from agent
if (gAgent.getBusy() || gAgent.getID() == msg["from_id"])
@@ -136,14 +150,9 @@ void toast_callback(const LLSD& msg){
return;
}
- LLSD args;
- args["MESSAGE"] = msg["message"];
- args["TIME"] = msg["time"];
- args["FROM"] = msg["from"];
- args["FROM_ID"] = msg["from_id"];
- args["SESSION_ID"] = msg["session_id"];
-
- LLNotificationsUtil::add("IMToast", args, LLSD(), boost::bind(&LLIMFloater::show, msg["session_id"].asUUID()));
+ LLAvatarNameCache::get(msg["from_id"].asUUID(),
+ boost::bind(&on_avatar_name_cache_toast,
+ _1, _2, msg));
}
void LLIMModel::setActiveSessionID(const LLUUID& session_id)
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index cb65756764..87481535ff 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -32,14 +32,15 @@
#include "llviewerprecompiledheaders.h" // must be first include
+#include "llsyswellwindow.h"
+
#include "llagent.h"
+#include "llavatarnamecache.h"
#include "llflatlistview.h"
#include "llfloaterreg.h"
#include "llnotifications.h"
-#include "llsyswellwindow.h"
-
#include "llbottomtray.h"
#include "llscriptfloater.h"
#include "llviewercontrol.h"
@@ -284,14 +285,31 @@ LLIMWellWindow::RowPanel::RowPanel(const LLSysWellWindow* parent, const LLUUID&
mChiclet->setOtherParticipantId(otherParticipantId);
mChiclet->setVisible(true);
- LLTextBox* contactName = getChild<LLTextBox>("contact_name");
- contactName->setValue(name);
+ if (im_chiclet_type == LLIMChiclet::TYPE_IM)
+ {
+ LLAvatarNameCache::get(otherParticipantId,
+ boost::bind(&LLIMWellWindow::RowPanel::onAvatarNameCache,
+ this, _1, _2));
+ }
+ else
+ {
+ LLTextBox* contactName = getChild<LLTextBox>("contact_name");
+ contactName->setValue(name);
+ }
mCloseBtn = getChild<LLButton>("hide_btn");
mCloseBtn->setCommitCallback(boost::bind(&LLIMWellWindow::RowPanel::onClosePanel, this));
}
//---------------------------------------------------------------------------------
+void LLIMWellWindow::RowPanel::onAvatarNameCache(const LLUUID& agent_id,
+ const LLAvatarName& av_name)
+{
+ LLTextBox* contactName = getChild<LLTextBox>("contact_name");
+ contactName->setValue( av_name.getCompleteName() );
+}
+
+//---------------------------------------------------------------------------------
void LLIMWellWindow::RowPanel::onChicletSizeChanged(LLChiclet* ctrl, const LLSD& param)
{
LLTextBox* text = getChild<LLTextBox>("contact_name");
diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h
index c8215c71ee..9d8fe536e2 100644
--- a/indra/newview/llsyswellwindow.h
+++ b/indra/newview/llsyswellwindow.h
@@ -43,6 +43,7 @@
#include "boost/shared_ptr.hpp"
+class LLAvatarName;
class LLFlatListView;
class LLChiclet;
class LLIMChiclet;
@@ -208,6 +209,7 @@ private:
private:
static const S32 CHICLET_HPAD = 10;
+ void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name);
void onChicletSizeChanged(LLChiclet* ctrl, const LLSD& param);
void onClosePanel();
public:
diff --git a/indra/newview/lltoastimpanel.cpp b/indra/newview/lltoastimpanel.cpp
index 26d3bd5192..2c5438c47d 100644
--- a/indra/newview/lltoastimpanel.cpp
+++ b/indra/newview/lltoastimpanel.cpp
@@ -147,7 +147,8 @@ void LLToastIMPanel::spawnNameToolTip()
{
// Spawn at right side of the name textbox.
LLRect sticky_rect = mAvatarName->calcScreenRect();
- S32 icon_x = llmin(sticky_rect.mLeft + mAvatarName->getTextPixelWidth() + 3, sticky_rect.mRight - 16);
+ S32 icon_x =
+ llmin(sticky_rect.mLeft + mAvatarName->getTextPixelWidth() + 3, sticky_rect.mRight);
LLCoordGL pos(icon_x, sticky_rect.mTop);
LLToolTip::Params params;
diff --git a/indra/newview/skins/default/xui/en/panel_activeim_row.xml b/indra/newview/skins/default/xui/en/panel_activeim_row.xml
index 3416b2369d..72f41c62f4 100644
--- a/indra/newview/skins/default/xui/en/panel_activeim_row.xml
+++ b/indra/newview/skins/default/xui/en/panel_activeim_row.xml
@@ -71,7 +71,7 @@
top="10"
left_pad="10"
height="14"
- width="255"
+ width="250"
length="1"
follows="right|left"
use_ellipses="true"
diff --git a/indra/newview/skins/default/xui/en/panel_instant_message.xml b/indra/newview/skins/default/xui/en/panel_instant_message.xml
index 34fd3352a3..021cf00d03 100644
--- a/indra/newview/skins/default/xui/en/panel_instant_message.xml
+++ b/indra/newview/skins/default/xui/en/panel_instant_message.xml
@@ -67,7 +67,7 @@
top="8"
use_ellipses="true"
value="Erica Vader"
- width="212" />
+ width="205" />
<!-- TIME STAMP -->
<text
font="SansSerifSmall"