From d4cfcfc7ce1a9ab2488942077df2a6bfc9bf11bf Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Tue, 8 Dec 2009 11:14:00 +0200 Subject: Work on EXT-3147 (Implement new states for message indicators) -- added possibility to show "99+" when unread messages count exceeds 99 --HG-- branch : product-engine --- indra/newview/llchiclet.cpp | 10 ++++++++-- indra/newview/llchiclet.h | 9 +++++++++ indra/newview/skins/default/xui/en/panel_bottomtray.xml | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 4b3b7a99d8..6d37eaed3d 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -81,17 +81,18 @@ boost::signals2::signal(button_params); @@ -108,7 +109,12 @@ void LLSysWellChiclet::setCounter(S32 counter) std::string s_count; if(counter != 0) { - s_count = llformat("%d", counter); + static std::string more_messages_exist("+"); + std::string more_messages(counter > mMaxDisplayedCount ? more_messages_exist : ""); + s_count = llformat("%d%s" + , llmin(counter, mMaxDisplayedCount) + , more_messages.c_str() + ); } mButton->setLabel(s_count); diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h index 609ce16713..598773757e 100644 --- a/indra/newview/llchiclet.h +++ b/indra/newview/llchiclet.h @@ -757,6 +757,14 @@ public: Optional unread_notifications; + /** + * Contains maximum displayed count of unread messages. Default value is 9. + * + * If count is less than "max_unread_count" will be displayed as is. + * Otherwise 9+ will be shown (for default value). + */ + Optional max_displayed_count; + Params(); }; @@ -781,6 +789,7 @@ protected: protected: LLButton* mButton; S32 mCounter; + S32 mMaxDisplayedCount; }; /** diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index 7f847237ce..c8c5bc688e 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -343,6 +343,7 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. image_pressed_selected="PushButton_Selected_Press" image_selected="PushButton_Selected_Press" left="0" + max_displayed_count="99" name="Unread IM messages" pad_left="0" pad_right="0" @@ -369,6 +370,7 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. height="23" layout="topleft" left="0" + max_displayed_count="99" name="notification_well" top="4" width="34"> -- cgit v1.2.3