From b356bbb6a5930e8900250c6654688ae2e6d25ecf Mon Sep 17 00:00:00 2001 From: mberezhnoy Date: Thu, 7 Feb 2013 10:48:49 +0200 Subject: CHUI-713 "Conversations" floater size doesn't persist between sessions --- indra/newview/llfloaterimcontainer.cpp | 9 +++++++-- indra/newview/llfloaterimsessiontab.cpp | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 5a284cc7b7..27e579a68c 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -273,14 +273,19 @@ void LLFloaterIMContainer::addFloater(LLFloater* floaterp, openFloater(floaterp->getKey()); return; } + + LLUUID session_id = floaterp->getKey(); // Make sure the message panel is open when adding a floater or it stays mysteriously hidden - collapseMessagesPane(false); + if (session_id != LLUUID()) + { + collapseMessagesPane(false); + } // Add the floater LLMultiFloater::addFloater(floaterp, select_added_floater, insertion_point); - LLUUID session_id = floaterp->getKey(); + LLIconCtrl* icon = 0; diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 6dbcdb4474..526eeef869 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -769,7 +769,10 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key) { LLFloaterIMContainer* host_floater = dynamic_cast(getHost()); // Show the messages pane when opening a floater hosted in the Conversations - host_floater->collapseMessagesPane(false); + if (!isNearbyChat()) + { + host_floater->collapseMessagesPane(false); + } } } -- cgit v1.2.3 From 64fe330620459be18ee4dd54866386a8f6a76ab8 Mon Sep 17 00:00:00 2001 From: mberezhnoy Date: Sat, 9 Feb 2013 00:10:09 +0200 Subject: CHUI-713 "Conversations" floater size doesn't persist between sessions additional fix --- indra/newview/llfloaterimcontainer.cpp | 12 ++++++++++-- indra/newview/llfloaterimcontainer.h | 1 + indra/newview/llfloaterimsessiontab.cpp | 5 +---- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 27e579a68c..312f70fe30 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -62,7 +62,8 @@ LLFloaterIMContainer::LLFloaterIMContainer(const LLSD& seed, const Params& param mExpandCollapseBtn(NULL), mConversationsRoot(NULL), mConversationsEventStream("ConversationsEvents"), - mInitialized(false) + mInitialized(false), + mIsFirstLaunch(false) { mEnableCallbackRegistrar.add("IMFloaterContainer.Check", boost::bind(&LLFloaterIMContainer::isActionChecked, this, _2)); mCommitCallbackRegistrar.add("IMFloaterContainer.Action", boost::bind(&LLFloaterIMContainer::onCustomAction, this, _2)); @@ -243,6 +244,7 @@ BOOL LLFloaterIMContainer::postBuild() mGeneralTitle = getTitle(); mInitialized = true; + mIsFirstLaunch = true; // Add callbacks: // We'll take care of view updates on idle @@ -277,7 +279,7 @@ void LLFloaterIMContainer::addFloater(LLFloater* floaterp, LLUUID session_id = floaterp->getKey(); // Make sure the message panel is open when adding a floater or it stays mysteriously hidden - if (session_id != LLUUID()) + if (!mIsFirstLaunch) { collapseMessagesPane(false); } @@ -635,6 +637,12 @@ void LLFloaterIMContainer::collapseMessagesPane(bool collapse) return; } + if (mIsFirstLaunch) + { + mIsFirstLaunch = false; + return; + } + // Save current width of panels before collapsing/expanding right pane. S32 conv_pane_width = mConversationsPane->getRect().getWidth(); S32 msg_pane_width = mMessagesPane->getRect().getWidth(); diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index 06af6c7b51..a28dba3b98 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -167,6 +167,7 @@ private: LLLayoutStack* mConversationsStack; bool mInitialized; + bool mIsFirstLaunch; LLUUID mSelectedSession; std::string mGeneralTitle; diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 526eeef869..6dbcdb4474 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -769,10 +769,7 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key) { LLFloaterIMContainer* host_floater = dynamic_cast(getHost()); // Show the messages pane when opening a floater hosted in the Conversations - if (!isNearbyChat()) - { - host_floater->collapseMessagesPane(false); - } + host_floater->collapseMessagesPane(false); } } -- cgit v1.2.3 From a034c272c3d8d526a70998aae7ee816070481c39 Mon Sep 17 00:00:00 2001 From: Gilbert Gonzales Date: Fri, 8 Feb 2013 18:12:26 -0800 Subject: CHUI-747: Script buttons in a toast overlap message text. Problem was due to the message container not being shifted upward when buttons were added to the control buttons container (which is beneath the message container). A small change in CHUI-695 caused this. --- indra/newview/lltoastnotifypanel.cpp | 3 +++ indra/newview/skins/default/xui/en/panel_notification.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index bd6c42d474..3fd056ea31 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -403,6 +403,9 @@ void LLToastNotifyPanel::init( LLRect rect, bool show_images ) } } + //.xml file intially makes info panel only follow left/right/top. This is so that when control buttons are added the info panel + //can shift upward making room for the buttons inside mControlPanel. After the buttons are added, the info panel can then be set to follow 'all'. + mInfoPanel->setFollowsAll(); snapToMessageHeight(mTextBox, MAX_LENGTH); } diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml index 421ecf10a1..94c468e1bb 100644 --- a/indra/newview/skins/default/xui/en/panel_notification.xml +++ b/indra/newview/skins/default/xui/en/panel_notification.xml @@ -22,7 +22,7 @@ background_visible="true" bg_alpha_color="ToastBackground" bg_opaque_color="ToastBackground" - follows="all" + follows="left|right|top" height="100" label="info_panel" layout="topleft" -- cgit v1.2.3 From 9a75eeb67e9d768ad925c5d1f0e7ab180be8ee71 Mon Sep 17 00:00:00 2001 From: maksymsproductengine Date: Mon, 11 Feb 2013 14:39:05 +0200 Subject: Fix for build issue under windows --- indra/newview/llinventorypanel.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 1357b613bb..fabcd50c7d 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1401,8 +1401,7 @@ bool LLInventoryPanel::isSelectionRemovable() } else { - can_delete &= listener->isItemRemovable(); - can_delete &= !listener->isItemInTrash(); + can_delete &= listener->isItemRemovable() && !listener->isItemInTrash(); } } } -- cgit v1.2.3 From 5066e850df6e44e65bf7760ac990fdd5ed1c7b8e Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Mon, 11 Feb 2013 15:26:17 +0200 Subject: CHUI-728 FIXED Don't display Nearby chat participants if Conversation pane is collapsed. --- indra/newview/llfloaterimcontainer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 05db0e93e6..cef45a5b56 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1769,7 +1769,7 @@ void LLFloaterIMContainer::openNearbyChat() { // If there's only one conversation in the container and that conversation is the nearby chat //(which it should be...), open it so to make the list of participants visible. This happens to be the most common case when opening the Chat floater. - if(mConversationsItems.size() == 1) + if((mConversationsItems.size() == 1)&&(!mConversationsPane->isCollapsed())) { LLConversationViewSession* nearby_chat = dynamic_cast(get_ptr_in_map(mConversationsWidgets,LLUUID())); if (nearby_chat) -- cgit v1.2.3 From 33d49d15693de15527960476b816845f8b3d6d54 Mon Sep 17 00:00:00 2001 From: Cho Date: Mon, 11 Feb 2013 20:02:19 +0000 Subject: CHUI-755 FIX Conversation log changes in a session are lost if viewer crashes Added call to LLConversationLog::instance().cache() after LLLogChat::SaveHistory() in LLIMView::logToFile() --- indra/newview/llconversationlog.cpp | 2 +- indra/newview/llconversationlog.h | 2 +- indra/newview/llimview.cpp | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp index 82176b3a06..4e707ac76e 100644 --- a/indra/newview/llconversationlog.cpp +++ b/indra/newview/llconversationlog.cpp @@ -276,7 +276,7 @@ void LLConversationLog::updateConversationName(const LLIMModel::LLIMSession* ses LLConversation* conversation = findConversation(session); if (conversation) { - conversation->setConverstionName(name); + conversation->setConversationName(name); notifyParticularConversationObservers(conversation->getSessionID(), LLConversationLogObserver::CHANGED_NAME); } } diff --git a/indra/newview/llconversationlog.h b/indra/newview/llconversationlog.h index d5b6eccb29..fd38556131 100644 --- a/indra/newview/llconversationlog.h +++ b/indra/newview/llconversationlog.h @@ -58,7 +58,7 @@ public: const time_t& getTime() const { return mTime; } bool hasOfflineMessages() const { return mHasOfflineIMs; } - void setConverstionName(std::string conv_name) { mConversationName = conv_name; } + void setConversationName(std::string conv_name) { mConversationName = conv_name; } void setOfflineMessages(bool new_messages) { mHasOfflineIMs = new_messages; } bool isOlderThan(U32 days) const; diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 2eaef48049..cdf6cb6252 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -66,6 +66,7 @@ #include "lltoolbarview.h" #include "llviewercontrol.h" #include "llviewerparcelmgr.h" +#include "llconversationlog.h" #include "message.h" @@ -950,6 +951,7 @@ bool LLIMModel::logToFile(const std::string& file_name, const std::string& from, } LLLogChat::saveHistory(file_name, from_name, from_id, utf8_text); + LLConversationLog::instance().cache(); // update the conversation log too return true; } else -- cgit v1.2.3 From f6b9d2bce45818f15e2882a7cb34ce9ea7a2e4ba Mon Sep 17 00:00:00 2001 From: Cho Date: Mon, 11 Feb 2013 20:39:03 +0000 Subject: CHUI-760 FIX Conversation.log file not saved in user specified location Changed LLConversationLog::getFileName() to use LL_PATH_PER_ACCOUNT_CHAT_LOGS instead of LL_PATH_PER_SL_ACCOUNT --- indra/newview/llconversationlog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp index 4e707ac76e..15d61e978d 100644 --- a/indra/newview/llconversationlog.cpp +++ b/indra/newview/llconversationlog.cpp @@ -378,7 +378,7 @@ void LLConversationLog::cache() std::string LLConversationLog::getFileName() { std::string filename = "conversation"; - return gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, filename) + ".log"; + return gDirUtilp->getExpandedFilename(LL_PATH_PER_ACCOUNT_CHAT_LOGS, filename) + ".log"; } bool LLConversationLog::saveToFile(const std::string& filename) -- cgit v1.2.3