From f7100331ebc7913d7117501ccac86f93f4ffb0e3 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 25 Feb 2013 17:41:36 -0500 Subject: increment version to 3.5.1 --- indra/llcommon/llversionviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 1554e9e665..0b0c74b3d3 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 3; const S32 LL_VERSION_MINOR = 5; -const S32 LL_VERSION_PATCH = 0; +const S32 LL_VERSION_PATCH = 1; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; -- cgit v1.3 From 55b2383f51ffabf7e95595df5d576f383d458ee1 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 5 Mar 2013 17:49:37 -0500 Subject: Added tag 3.5.0-beta2 for changeset c6b3561c7d7a --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..f45d8381e9 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +c6b3561c7d7ad365eeba669db54eb57b5149ce75 3.5.0-beta2 -- cgit v1.3 From 680bea66dc2e7b08b71038be2261f9aad91f5658 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 13 Mar 2013 15:49:20 -0400 Subject: tag merge of DRTVWR-302 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..726ff83115 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +6d91ffd77bf2a20f18a2175eb7579da880ae12ac DRTVWR-302 -- cgit v1.3 From 04e78ce4fdd3bbc0e4daa1daabbff2de1c425601 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 13 Mar 2013 19:01:52 -0400 Subject: Added tag 3.5.0-beta3 for changeset f6ca5bb75bca --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 480aa20160..a1688059c3 100644 --- a/.hgtags +++ b/.hgtags @@ -424,3 +424,4 @@ a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 c6b3561c7d7ad365eeba669db54eb57b5149ce75 3.5.0-beta2 6d91ffd77bf2a20f18a2175eb7579da880ae12ac DRTVWR-302 +f6ca5bb75bca975ff0bc77e71e615f6478c4559c 3.5.0-beta3 -- cgit v1.3 From 2d19d78846ccbd8993c468cc27b8db7f0b93b235 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 20 Mar 2013 18:32:25 -0400 Subject: tag merge of DRTVWR-303 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..5608cc4ba0 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +910b5fad950e343b58229f5a0aefa7729b9308b3 DRTVWR-303 -- cgit v1.3 From 43d7c80e8e2cd1cfe4e6c4214b4a4df9341d310b Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 20 Mar 2013 19:41:58 -0400 Subject: Added tag 3.5.0-beta4 for changeset 53cffdde0b3c --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 8f0b977557..f006199e86 100644 --- a/.hgtags +++ b/.hgtags @@ -426,3 +426,4 @@ c6b3561c7d7ad365eeba669db54eb57b5149ce75 3.5.0-beta2 6d91ffd77bf2a20f18a2175eb7579da880ae12ac DRTVWR-302 f6ca5bb75bca975ff0bc77e71e615f6478c4559c 3.5.0-beta3 910b5fad950e343b58229f5a0aefa7729b9308b3 DRTVWR-303 +53cffdde0b3cc367ba9bb6abd5c83ae14df5e882 3.5.0-beta4 -- cgit v1.3 From 06369c5707cd5418b6dedf43a2113482da666cf4 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 21 Mar 2013 20:45:41 -0400 Subject: tag merge of DRTVWR-304 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..adafd000fe 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +4d5f6234dc59a0fb6ead5e02c7d343a0610e0488 DRTVWR-304 -- cgit v1.3 From ef544a22218d59c6a121d4bf88c49868a2b9a713 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 21 Mar 2013 21:47:05 -0400 Subject: Added tag 3.5.0-beta5 for changeset dd058a6093c4 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 230d60fb81..3d1be7a97f 100644 --- a/.hgtags +++ b/.hgtags @@ -428,3 +428,4 @@ f6ca5bb75bca975ff0bc77e71e615f6478c4559c 3.5.0-beta3 910b5fad950e343b58229f5a0aefa7729b9308b3 DRTVWR-303 53cffdde0b3cc367ba9bb6abd5c83ae14df5e882 3.5.0-beta4 4d5f6234dc59a0fb6ead5e02c7d343a0610e0488 DRTVWR-304 +dd058a6093c493120d67c8e02c812c0f7b2d3db0 3.5.0-beta5 -- cgit v1.3 From a53b017badb8b9a87549b1eae94bd0b483fea977 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 28 Mar 2013 07:20:40 -0400 Subject: tag merge of DRTVWR-305 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..92baf42e75 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +fd6b510e83f56830e45670c428653134899d3e25 DRTVWR-305 -- cgit v1.3 From cf1747712b154b6984cf374cf9c86f68a1210fb3 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 28 Mar 2013 08:01:49 -0400 Subject: Added tag 3.5.0-beta6 for changeset 55339537d99a --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 1f2da5c852..7951e232af 100644 --- a/.hgtags +++ b/.hgtags @@ -430,3 +430,4 @@ f6ca5bb75bca975ff0bc77e71e615f6478c4559c 3.5.0-beta3 4d5f6234dc59a0fb6ead5e02c7d343a0610e0488 DRTVWR-304 dd058a6093c493120d67c8e02c812c0f7b2d3db0 3.5.0-beta5 fd6b510e83f56830e45670c428653134899d3e25 DRTVWR-305 +55339537d99afc394d1bb7fdb7d074bf321ca62f 3.5.0-beta6 -- cgit v1.3 From 430b8547c46cc70d57ed20cd0917be33380350a7 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 29 Mar 2013 17:30:54 -0400 Subject: tag merge of DRTVWR-306 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 2aa78a5ed0..0388c84136 100644 --- a/.hgtags +++ b/.hgtags @@ -422,3 +422,4 @@ b23419a2748483c98f3b84b630468a21c88feba5 DRTVWR-292 a49c715243a36a8a380504d14cb7416b3039c956 3.4.5-release 279ef1dfc9b749a6cc499cf190fec0c090b6d682 DRTVWR-288 9b19edaf1d8ddf435f60fbbb444dd25db8f63953 3.5.0-beta1 +902caf2b9fdbdbc5c399c4d5ebcecaf9cb97bab8 DRTVWR-306 -- cgit v1.3 From 7c7ccf27d1638577290ebefcc16dded9390f5f21 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 29 Mar 2013 17:22:53 -0700 Subject: CHUI-807 : Add more defensive coding. Also trace in log the sessions created so we'll have a better idea of what people do with conversations if we see that crash again. --- indra/llui/lltabcontainer.cpp | 13 ++++++++----- indra/newview/llimview.cpp | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 6f895ed939..fd98155704 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -1215,9 +1215,11 @@ void LLTabContainer::removeTabPanel(LLPanel* child) removeChild( tuple->mButton ); } delete tuple->mButton; + tuple->mButton = NULL; removeChild( tuple->mTabPanel ); // delete tuple->mTabPanel; + tuple->mTabPanel = NULL; mTabList.erase( iter ); delete tuple; @@ -1279,9 +1281,11 @@ void LLTabContainer::deleteAllTabs() removeChild( tuple->mButton ); delete tuple->mButton; + tuple->mButton = NULL; removeChild( tuple->mTabPanel ); // delete tuple->mTabPanel; + tuple->mTabPanel = NULL; } // Actually delete the tuples themselves @@ -1484,9 +1488,8 @@ BOOL LLTabContainer::setTab(S32 which) { LLTabTuple* tuple = *iter; BOOL is_selected = ( tuple == selected_tuple ); - // Although the selected tab must be complete, we may have hollow LLTabTuple tucked in the list - if (tuple->mButton) + if (tuple && tuple->mButton) { tuple->mButton->setUseEllipses(mUseTabEllipses); tuple->mButton->setHAlign(mFontHalign); @@ -1494,7 +1497,7 @@ BOOL LLTabContainer::setTab(S32 which) // RN: this limits tab-stops to active button only, which would require arrow keys to switch tabs tuple->mButton->setTabStop( is_selected ); } - if (tuple->mTabPanel) + if (tuple && tuple->mTabPanel) { tuple->mTabPanel->setVisible( is_selected ); //tuple->mTabPanel->setFocus(is_selected); // not clear that we want to do this here. @@ -1525,7 +1528,7 @@ BOOL LLTabContainer::setTab(S32 which) else { S32 available_width_with_arrows = getRect().getWidth() - mRightTabBtnOffset - 2 * (LLPANEL_BORDER_WIDTH + tabcntr_arrow_btn_size + tabcntr_arrow_btn_size + 1); - S32 running_tab_width = tuple->mButton->getRect().getWidth(); + S32 running_tab_width = (tuple && tuple->mButton ? tuple->mButton->getRect().getWidth() : 0); S32 j = i - 1; S32 min_scroll_pos = i; if (running_tab_width < available_width_with_arrows) @@ -1533,7 +1536,7 @@ BOOL LLTabContainer::setTab(S32 which) while (j >= 0) { LLTabTuple* other_tuple = getTab(j); - running_tab_width += other_tuple->mButton->getRect().getWidth(); + running_tab_width += (other_tuple && other_tuple->mButton ? other_tuple->mButton->getRect().getWidth() : 0); if (running_tab_width > available_width_with_arrows) { break; diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index e237cb7f9e..56b80ef57b 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2800,6 +2800,8 @@ LLUUID LLIMMgr::addSession( return LLUUID::null; } + llinfos << "LLIMMgr::addSession, name = " << name << llendl; + LLUUID session_id = computeSessionID(dialog,other_participant_id); if (floater_id.notNull()) -- cgit v1.3 From 2d84b0605e409664d90dbb5fee2e73c354e1218c Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 29 Mar 2013 17:40:16 -0700 Subject: CHUI-807 : Trace add and remove sessions --- indra/newview/llimview.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 56b80ef57b..141d43c608 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2800,8 +2800,6 @@ LLUUID LLIMMgr::addSession( return LLUUID::null; } - llinfos << "LLIMMgr::addSession, name = " << name << llendl; - LLUUID session_id = computeSessionID(dialog,other_participant_id); if (floater_id.notNull()) @@ -2846,6 +2844,8 @@ LLUUID LLIMMgr::addSession( //we don't need to show notes about online/offline, mute/unmute users' statuses for existing sessions if (!new_session) return session_id; + llinfos << "LLIMMgr::addSession, new session added, name = " << name << ", session id = " << session_id << llendl; + //Per Plan's suggestion commented "explicit offline status warning" out to make Dessie happier (see EXT-3609) //*TODO After February 2010 remove this commented out line if no one will be missing that warning //noteOfflineUsers(session_id, floater, ids); @@ -2881,6 +2881,8 @@ void LLIMMgr::removeSession(const LLUUID& session_id) LLIMModel::getInstance()->clearSession(session_id); + llinfos << "LLIMMgr::removeSession, session removed, session id = " << session_id << llendl; + notifyObserverSessionRemoved(session_id); } -- cgit v1.3 From 255159c50f02d37fc40d45107002f5bfe27753ea Mon Sep 17 00:00:00 2001 From: mberezhnoy Date: Mon, 1 Apr 2013 08:53:44 +0300 Subject: CHUI-886 (Time in front of the name is not displayed when the Conversations size is reduced to a minimum.) --- indra/newview/llchathistory.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 53926c1fef..0f138873ac 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -408,16 +408,7 @@ public: S32 user_name_width = user_name_rect.getWidth(); S32 time_box_width = time_box->getRect().getWidth(); - if (time_box->getVisible() && user_name_width <= mMinUserNameWidth) - { - time_box->setVisible(FALSE); - - user_name_rect.mRight += time_box_width; - user_name->reshape(user_name_rect.getWidth(), user_name_rect.getHeight()); - user_name->setRect(user_name_rect); - } - - if (!time_box->getVisible() && user_name_width > mMinUserNameWidth + time_box_width) + if (!time_box->getVisible() && user_name_width > mMinUserNameWidth) { user_name_rect.mRight -= time_box_width; user_name->reshape(user_name_rect.getWidth(), user_name_rect.getHeight()); -- cgit v1.3 From 49bef4e122e3ab4c82962e25f4ec1803c4e0c600 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Mon, 1 Apr 2013 09:33:58 -0400 Subject: Added tag 3.5.0-beta7 for changeset 5c6098fd17d4 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index ab1956e249..3e4bb9be2e 100644 --- a/.hgtags +++ b/.hgtags @@ -432,3 +432,4 @@ dd058a6093c493120d67c8e02c812c0f7b2d3db0 3.5.0-beta5 fd6b510e83f56830e45670c428653134899d3e25 DRTVWR-305 55339537d99afc394d1bb7fdb7d074bf321ca62f 3.5.0-beta6 902caf2b9fdbdbc5c399c4d5ebcecaf9cb97bab8 DRTVWR-306 +5c6098fd17d40ee3a38ca6b64f6be9db7f61f0a8 3.5.0-beta7 -- cgit v1.3 From 56939a2a2b9510bd7f5fc43bed460c0d23a743a0 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Mon, 1 Apr 2013 20:09:37 +0300 Subject: CHUI-904 FIXED Set the focus on the Nearby chat floater after setting visibility. --- indra/newview/llfloaterimnearbychat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index d86e1b3fd7..56b0c15cb9 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -264,7 +264,7 @@ void LLFloaterIMNearbyChat::setVisibleAndFrontmost(BOOL take_focus, const LLSD& if(!isTornOff() && matchesKey(key)) { - LLFloaterIMContainer::getInstance()->selectConversationPair(mSessionID, true, false); + LLFloaterIMContainer::getInstance()->selectConversationPair(mSessionID, true, take_focus); } } -- cgit v1.3 From cb4ec925823fdfe09504c78a7d7a96228a4b6219 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Mon, 1 Apr 2013 13:04:24 -0700 Subject: CHUI-907 : Prevent warning when parsing menus adding name to menu_item_check --- indra/newview/skins/default/xui/en/menu_login.xml | 15 ++++++++++----- indra/newview/skins/default/xui/en/menu_viewer.xml | 4 ++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 101e104eab..52c4fb1613 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -180,7 +180,8 @@ name="Set Logging Level" tear_off="true"> + name="Debug" + label="Debug"> @@ -189,7 +190,8 @@ parameter="0" /> + name="Info" + label="Info"> @@ -198,7 +200,8 @@ parameter="1" /> + name="Warning" + label="Warning"> @@ -207,7 +210,8 @@ parameter="2" /> + name="Error" + label="Error"> @@ -216,7 +220,8 @@ parameter="3" /> + name="None" + label="None"> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 544f06ac0c..67d8e3eaa4 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -131,6 +131,7 @@ name="Status" tear_off="true"> @@ -138,6 +139,7 @@ function="World.SetAway" /> @@ -257,6 +259,7 @@ parameter="speak" /> -- cgit v1.3 From c588f6be31a203f05fbd784b0270555c6e1d04d6 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Mon, 1 Apr 2013 13:39:14 -0700 Subject: CHUI-907 : Fixed! Suppress inexistant menu item and duplicated registrar entry to avoid warning --- indra/newview/llviewermenu.cpp | 2 -- indra/newview/skins/default/xui/en/menu_viewer.xml | 7 ------- 2 files changed, 9 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 66db0ac8f3..ab1788d1cb 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8283,8 +8283,6 @@ void initialize_menus() view_listener_t::addEnable(new LLUploadCostCalculator(), "Upload.CalculateCosts"); - - commit.add("Inventory.NewWindow", boost::bind(&LLFloaterInventory::showAgentInventory)); enable.add("Conversation.IsConversationLoggingAllowed", boost::bind(&LLFloaterIMContainer::isConversationLoggingAllowed)); // Agent diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 67d8e3eaa4..a11cd13fdb 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -3055,13 +3055,6 @@ - - - Date: Mon, 1 Apr 2013 15:36:05 -0700 Subject: CHUI-796 (User doesn't get all messages in 'do not disturb' mode): Now when a conversation is focused by clicking on it's line item, selecting a torn off floater or unminimized a torn off floater the stored notifications for that conversation will be removed. --- indra/newview/llfloaterimcontainer.cpp | 62 +++++++++++++++++++++++++-------- indra/newview/llfloaterimcontainer.h | 1 + indra/newview/llfloaterimnearbychat.cpp | 2 +- indra/newview/llfloaterimsession.cpp | 30 ++++++++++++++++ indra/newview/llfloaterimsession.h | 2 ++ 5 files changed, 82 insertions(+), 15 deletions(-) diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 7296ec3ced..58817485fb 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -585,6 +585,28 @@ void LLFloaterIMContainer::returnFloaterToHost() floater->onTearOffClicked(); } +void LLFloaterIMContainer::setMinimized(BOOL b) +{ + bool was_minimized = isMinimized(); + LLMultiFloater::setMinimized(b); + + //Switching from minimized to un-minimized + if(was_minimized && !b) + { + LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(mSelectedSession); + + if(session_floater && !session_floater->isTornOff()) + { + //When in DND mode, remove stored IM notifications + //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal + if(gAgent.isDoNotDisturb() && mSelectedSession.notNull()) + { + LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, mSelectedSession); + } + } + } +} + void LLFloaterIMContainer::setVisible(BOOL visible) { LLFloaterIMNearbyChat* nearby_chat; if (visible) @@ -597,10 +619,21 @@ void LLFloaterIMContainer::setVisible(BOOL visible) // *TODO: find a way to move this to XML as a default panel or something like that LLSD name("nearby_chat"); LLFloaterReg::toggleInstanceOrBringToFront(name); - setSelectedSession(LLUUID(NULL)); + selectConversationPair(LLUUID(NULL), false, false); } openNearbyChat(); - selectConversationPair(getSelectedSession(), false, false); + flashConversationItemWidget(mSelectedSession,false); + + LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(mSelectedSession); + if(session_floater && !session_floater->isMinimized()) + { + //When in DND mode, remove stored IM notifications + //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal + if(gAgent.isDoNotDisturb() && mSelectedSession.notNull()) + { + LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, mSelectedSession); + } + } } nearby_chat = LLFloaterReg::findTypedInstance("nearby_chat"); @@ -1389,13 +1422,6 @@ BOOL LLFloaterIMContainer::selectConversationPair(const LLUUID& session_id, bool widget->getParentFolder()->setSelection(widget, FALSE, FALSE); mConversationsRoot->scrollToShowSelection(); } - - //When in DND mode, remove stored IM notifications - //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal - if(gAgent.isDoNotDisturb() && session_id.notNull()) - { - LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, session_id); - } } /* floater processing */ @@ -1420,14 +1446,19 @@ BOOL LLFloaterIMContainer::selectConversationPair(const LLUUID& session_id, bool { showStub(true); } + + //When in DND mode, remove stored IM notifications + //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal + if(gAgent.isDoNotDisturb() && session_id.notNull()) + { + LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, session_id); + } } // Set the focus on the selected floater - if (!session_floater->hasFocus()) + if (!session_floater->hasFocus() && !session_floater->isMinimized()) { - BOOL is_minimized = session_floater->isMinimized(); session_floater->setFocus(focus_floater); - session_floater->setMinimized(is_minimized); } } flashConversationItemWidget(session_id,false); @@ -1986,8 +2017,11 @@ void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/) { // Always unminimize before trying to close. // Most of the time the user will never see this state. - setMinimized(FALSE); - + if(isMinimized()) + { + LLMultiFloater::setMinimized(FALSE); + } + LLFloater::closeFloater(app_quitting); } diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index 52b672241f..e39d20ec35 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -59,6 +59,7 @@ public: /*virtual*/ BOOL postBuild(); /*virtual*/ void onOpen(const LLSD& key); /*virtual*/ void draw(); + /*virtual*/ void setMinimized(BOOL b); /*virtual*/ void setVisible(BOOL visible); /*virtual*/ void setVisibleAndFrontmost(BOOL take_focus=TRUE, const LLSD& key = LLSD()); /*virtual*/ void updateResizeLimits(); diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index 56b0c15cb9..49f36a2f32 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -328,7 +328,7 @@ void LLFloaterIMNearbyChat::onChatFontChange(LLFontGL* fontp) void LLFloaterIMNearbyChat::show() { openFloater(getKey()); - } +} bool LLFloaterIMNearbyChat::isChatVisible() const { diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 6d5145f205..edc25a7d7e 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -39,6 +39,7 @@ #include "llchannelmanager.h" #include "llchiclet.h" #include "llchicletbar.h" +#include "lldonotdisturbnotificationstorage.h" #include "llfloaterreg.h" #include "llfloateravatarpicker.h" #include "llfloaterimcontainer.h" // to replace separate IM Floaters with multifloater container @@ -645,6 +646,23 @@ void LLFloaterIMSession::setDocked(bool docked, bool pop_on_undock) } } +void LLFloaterIMSession::setMinimized(BOOL b) +{ + bool wasMinimized = isMinimized(); + LLFloaterIMSessionTab::setMinimized(b); + + //Switching from minimized state to un-minimized state + if(wasMinimized && !b) + { + //When in DND mode, remove stored IM notifications + //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal + if(gAgent.isDoNotDisturb()) + { + LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, mSessionID); + } + } +} + void LLFloaterIMSession::setVisible(BOOL visible) { LLNotificationsUI::LLScreenChannel* channel = static_cast @@ -713,6 +731,18 @@ BOOL LLFloaterIMSession::getVisible() return visible; } +void LLFloaterIMSession::setFocus(BOOL focus) +{ + LLFloaterIMSessionTab::setFocus(focus); + + //When in DND mode, remove stored IM notifications + //Nearby chat (Null) IMs are not stored while in DND mode, so can ignore removal + if(focus && gAgent.isDoNotDisturb()) + { + LLDoNotDisturbNotificationStorage::getInstance()->removeNotification(LLDoNotDisturbNotificationStorage::toastName, mSessionID); + } +} + //static bool LLFloaterIMSession::toggle(const LLUUID& session_id) { diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h index cb330bca0f..a0e0171b34 100644 --- a/indra/newview/llfloaterimsession.h +++ b/indra/newview/llfloaterimsession.h @@ -65,8 +65,10 @@ public: // LLView overrides /*virtual*/ BOOL postBuild(); + /*virtual*/ void setMinimized(BOOL b); /*virtual*/ void setVisible(BOOL visible); /*virtual*/ BOOL getVisible(); + /*virtual*/ void setFocus(BOOL focus); // Check typing timeout timer. /*virtual*/ void draw(); -- cgit v1.3 From 09db2bd9ffb0c559f848bcda7c3b6a975f5c8070 Mon Sep 17 00:00:00 2001 From: AlexanderP ProductEngine Date: Mon, 1 Apr 2013 19:40:40 +0300 Subject: CHUI-896 : ADD FIX : Line flashing and FUI button flashing not working correctly for CHUI notifications backed out 902caf2 and (partly) d498514; case "NOT_ON_TOP" was fixed --- indra/newview/llimview.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 141d43c608..afac94af07 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -182,18 +182,19 @@ void on_new_message(const LLSD& msg) { conversations_floater_status = CLOSED; } - else if (!session_floater || !LLFloater::isVisible(session_floater) - || session_floater->isMinimized() || !session_floater->hasFocus()) + else if (!im_box->hasFocus() && + !(session_floater && LLFloater::isVisible(session_floater) + && !session_floater->isMinimized() && session_floater->hasFocus())) { conversations_floater_status = NOT_ON_TOP; } - else if ((session_floater->hasFocus()) && (im_box->getSelectedSession() == session_id)) + else if (im_box->getSelectedSession() != session_id) { - conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED; + conversations_floater_status = ON_TOP; } else { - conversations_floater_status = ON_TOP; + conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED; } // determine user prefs for this session @@ -226,7 +227,7 @@ void on_new_message(const LLSD& msg) // 0. nothing - exit if (("none" == user_preferences || ON_TOP_AND_ITEM_IS_SELECTED == conversations_floater_status) - && session_floater->isMessagePaneExpanded()) + && session_floater->isMessagePaneExpanded()) { return; } -- cgit v1.3 From 3f1ad7dbd017b43876ac5f9356ed6913157ddbaa Mon Sep 17 00:00:00 2001 From: AlexanderP ProductEngine Date: Tue, 2 Apr 2013 18:56:52 +0300 Subject: CHUI-811 FIXED [CHUIBUG]Too much spacing around the new chat UI elements --- .../skins/default/xui/en/floater_im_session.xml | 62 ++++++++++++++-------- 1 file changed, 40 insertions(+), 22 deletions(-) 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 3b56e974d2..2152a9f6e9 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -70,23 +70,26 @@ top="0" left="0" right="-1" - bottom="-1"> + bottom="-3"> + tab_group="1"> + height="35" + right="-1" + left="1"> @@ -196,7 +199,8 @@ + top="1" + bottom="-1"> + auto_resize="false" + bottom="-1" /> + min_width="221" + bottom="-1"> + bottom="-2" + left="0" + right="-1"> + name="input_editor_layout_panel" + auto_resize="true" + user_resize="false" + top="0" + bottom="-1"> + width="30" + top="0" + bottom="-1">