summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml25
-rw-r--r--indra/newview/llchiclet.cpp21
-rw-r--r--indra/newview/llchiclet.h8
-rw-r--r--indra/newview/llimfloater.cpp2
-rw-r--r--indra/newview/llnearbychathandler.cpp8
-rw-r--r--indra/newview/llpanellandmarks.cpp5
-rw-r--r--indra/newview/llsyswellwindow.cpp1
-rw-r--r--indra/newview/lltoast.cpp6
-rw-r--r--indra/newview/lltoast.h4
-rw-r--r--indra/newview/skins/default/xui/en/panel_chat_item.xml6
10 files changed, 51 insertions, 35 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 5fc0cb6ff8..af702db5f0 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -4886,7 +4886,7 @@
<key>Value</key>
<integer>10</integer>
</map>
- <key>ToastOpaqueTime</key>
+ <key>ToastFadingTime</key>
<map>
<key>Comment</key>
<string>Number of seconds while a toast is fading </string>
@@ -4898,6 +4898,29 @@
<integer>1</integer>
</map>
<key>StartUpToastLifeTime</key>
+ <key>NearbyToastFadingTime</key>
+ <map>
+ <key>Comment</key>
+ <string>Number of seconds while a nearby chat toast is fading </string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>S32</string>
+ <key>Value</key>
+ <integer>3</integer>
+ </map>
+ <key>NearbyToastLifeTime</key>
+ <map>
+ <key>Comment</key>
+ <string>Number of seconds while a nearby chat toast exists</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>S32</string>
+ <key>Value</key>
+ <integer>23</integer>
+ </map>
+ <key>StartUpToastLifeTime</key>
<map>
<key>Comment</key>
<string>Number of seconds while a StartUp toast exist</string>
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index 670f8717a2..bad61101c1 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -57,8 +57,6 @@ static LLDefaultChildRegistry::Register<LLIMP2PChiclet> t4("chiclet_im_p2p");
static LLDefaultChildRegistry::Register<LLIMGroupChiclet> t5("chiclet_im_group");
S32 LLNotificationChiclet::mUreadSystemNotifications = 0;
-S32 LLNotificationChiclet::mUreadIMNotifications = 0;
-
boost::signals2::signal<LLChiclet* (const LLUUID&),
LLIMChiclet::CollectChicletCombiner<std::list<LLChiclet*> > >
@@ -99,7 +97,6 @@ LLNotificationChiclet::LLNotificationChiclet(const Params& p)
// connect counter handlers to the signals
connectCounterUpdatersToSignal("notify");
connectCounterUpdatersToSignal("groupnotify");
- connectCounterUpdatersToSignal("notifytoast");
}
LLNotificationChiclet::~LLNotificationChiclet()
@@ -113,16 +110,8 @@ void LLNotificationChiclet::connectCounterUpdatersToSignal(std::string notificat
LLNotificationsUI::LLEventHandler* n_handler = manager->getHandlerForNotification(notification_type);
if(n_handler)
{
- if(notification_type == "notifytoast")
- {
- n_handler->setNewNotificationCallback(boost::bind(&LLNotificationChiclet::updateUreadIMNotifications, this));
- n_handler->setDelNotification(boost::bind(&LLNotificationChiclet::updateUreadIMNotifications, this));
- }
- else
- {
- n_handler->setNewNotificationCallback(boost::bind(&LLNotificationChiclet::incUreadSystemNotifications, this));
- n_handler->setDelNotification(boost::bind(&LLNotificationChiclet::decUreadSystemNotifications, this));
- }
+ n_handler->setNewNotificationCallback(boost::bind(&LLNotificationChiclet::incUreadSystemNotifications, this));
+ n_handler->setDelNotification(boost::bind(&LLNotificationChiclet::decUreadSystemNotifications, this));
}
}
@@ -147,12 +136,6 @@ void LLNotificationChiclet::setToggleState(BOOL toggled) {
mButton->setToggleState(toggled);
}
-void LLNotificationChiclet::updateUreadIMNotifications()
-{
- mUreadIMNotifications = gIMMgr->getNumberOfUnreadIM();
- setCounter(mUreadSystemNotifications + mUreadIMNotifications);
-}
-
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h
index d1153a075d..6eefd9829f 100644
--- a/indra/newview/llchiclet.h
+++ b/indra/newview/llchiclet.h
@@ -608,10 +608,9 @@ public:
/*virtual*/ ~ LLNotificationChiclet();
- // methods for updating a number of unread System or IM notifications
- void incUreadSystemNotifications() { setCounter(++mUreadSystemNotifications + mUreadIMNotifications); }
- void decUreadSystemNotifications() { setCounter(--mUreadSystemNotifications + mUreadIMNotifications); }
- void updateUreadIMNotifications();
+ // methods for updating a number of unread System notifications
+ void incUreadSystemNotifications() { setCounter(++mUreadSystemNotifications); }
+ void decUreadSystemNotifications() { setCounter(--mUreadSystemNotifications); }
void setToggleState(BOOL toggled);
protected:
@@ -622,7 +621,6 @@ protected:
friend class LLUICtrlFactory;
static S32 mUreadSystemNotifications;
- static S32 mUreadIMNotifications;
protected:
LLButton* mButton;
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index b9c068b583..b21df87093 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -409,8 +409,6 @@ bool LLIMFloater::toggle(const LLUUID& session_id)
{
// ensure the list of messages is updated when floater is made visible
show(session_id);
- // update number of unread notifications in the SysWell
- LLBottomTray::getInstance()->getSysWell()->updateUreadIMNotifications();
return true;
}
}
diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp
index 6b0d6d61e0..957513e154 100644
--- a/indra/newview/llnearbychathandler.cpp
+++ b/indra/newview/llnearbychathandler.cpp
@@ -162,6 +162,8 @@ bool LLNearbyChatScreenChannel::createPoolToast()
LLToast::Params p;
p.panel = panel;
+ p.lifetime_secs = gSavedSettings.getS32("NearbyToastLifeTime");
+ p.fading_time_secs = gSavedSettings.getS32("NearbyToastFadingTime");
LLToast* toast = new LLToast(p);
@@ -326,6 +328,12 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg)
initChannel();
}
+ //only messages from AGENTS
+ if(CHAT_SOURCE_OBJECT == chat_msg.mSourceType)
+ {
+ return;//dn't show toast for messages from objects
+ }
+
LLUUID id;
id.generate();
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 3d0db71045..48a93f0d42 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -131,6 +131,9 @@ void LLLandmarksPanel::onSearchEdit(const std::string& string)
{
LLAccordionCtrlTab* tab = *iter;
tab->setVisible(true);
+
+ // expand accordion to see matched items in all ones. See EXT-2014.
+ tab->changeOpenClose(false);
}
}
@@ -883,7 +886,7 @@ bool LLLandmarksPanel::handleDragAndDropToTrash(BOOL drop, EDragAndDropType carg
return true;
}
-
+// static
void LLLandmarksPanel::doIdle(void* landmarks_panel)
{
LLLandmarksPanel* panel = (LLLandmarksPanel* ) landmarks_panel;
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index 93a931dc78..419603e14e 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -427,7 +427,6 @@ void LLSysWellWindow::sessionRemoved(const LLUUID& sessionId)
{
delIMRow(sessionId);
reshapeWindow();
- LLBottomTray::getInstance()->getSysWell()->updateUreadIMNotifications();
}
void LLSysWellWindow::sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id)
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 24824a095c..903df21e78 100644
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -49,13 +49,15 @@ LLToast::Params::Params()
enable_hide_btn("enable_hide_btn", true),
force_show("force_show", false),
force_store("force_store", false),
+ fading_time_secs("fading_time_secs", gSavedSettings.getS32("ToastFadingTime")),
lifetime_secs("lifetime_secs", gSavedSettings.getS32("NotificationToastLifeTime"))
{};
LLToast::LLToast(const LLToast::Params& p)
: LLModalDialog(LLSD(), p.is_modal),
mPanel(p.panel),
- mToastLifetime(p.lifetime_secs),
+ mToastLifetime(p.lifetime_secs),
+ mToastFadingTime(p.fading_time_secs),
mNotificationID(p.notif_id),
mSessionID(p.session_id),
mCanFade(p.can_fade),
@@ -127,7 +129,7 @@ bool LLToast::lifetimeHasExpired()
if (mTimer.getStarted())
{
F32 elapsed_time = mTimer.getElapsedTimeF32();
- if ((mToastLifetime - elapsed_time) <= gSavedSettings.getS32("ToastOpaqueTime"))
+ if ((mToastLifetime - elapsed_time) <= mToastFadingTime)
{
setBackgroundOpaque(FALSE);
}
diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h
index 0698c94880..b670f47045 100644
--- a/indra/newview/lltoast.h
+++ b/indra/newview/lltoast.h
@@ -63,7 +63,8 @@ public:
Optional<LLUUID> notif_id, //notification ID
session_id; //im session ID
Optional<LLNotificationPtr> notification;
- Optional<F32> lifetime_secs;
+ Optional<F32> lifetime_secs,
+ fading_time_secs; // Number of seconds while a toast is fading
Optional<toast_callback_t> on_delete_toast,
on_mouse_enter;
Optional<bool> can_fade,
@@ -157,6 +158,7 @@ private:
// timer counts a lifetime of a toast
LLTimer mTimer;
F32 mToastLifetime; // in seconds
+ F32 mToastFadingTime; // in seconds
LLPanel* mPanel;
LLButton* mHideBtn;
diff --git a/indra/newview/skins/default/xui/en/panel_chat_item.xml b/indra/newview/skins/default/xui/en/panel_chat_item.xml
index 78f53562cd..05b04bbf8e 100644
--- a/indra/newview/skins/default/xui/en/panel_chat_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_chat_item.xml
@@ -5,10 +5,10 @@
name="instant_message"
width="300"
height="180"
- background_opaque="false"
- background_visible="true"
+ background_opaque="true"
+ background_visible="false"
follows="left|top|right|bottom"
- bg_alpha_color="0.3 0.3 0.3 1.0">
+ bg_alpha_color="0.3 0.3 0.3 0">
<panel width="250" height="30" background_visible="true" background_opaque="false" bg_alpha_color="0.0 0.0 0.0 1.0" name="msg_caption">
<avatar_icon
top="25" left="10" width="20" height="20" follows="left|top"