summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloatercontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimfloatercontainer.cpp')
-rw-r--r--indra/newview/llimfloatercontainer.cpp57
1 files changed, 25 insertions, 32 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index c9c7e94af9..14ed0b3c3e 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -286,32 +286,21 @@ void LLIMFloaterContainer::onCloseFloater(LLUUID& id)
// virtual
void LLIMFloaterContainer::computeResizeLimits(S32& new_min_width, S32& new_min_height)
{
- bool is_left_pane_expanded = !mConversationsPane->isCollapsed();
- bool is_right_pane_expanded = !mMessagesPane->isCollapsed();
-
- S32 conversations_pane_min_dim = mConversationsPane->getMinDim();
-
- if (is_right_pane_expanded)
+ // possibly increase floater's minimum height according to children's minimums
+ for (S32 tab_idx = 0; tab_idx < mTabContainer->getTabCount(); ++tab_idx)
{
- S32 conversations_pane_width =
- (is_left_pane_expanded ? gSavedPerAccountSettings.getS32("ConversationsListPaneWidth") : conversations_pane_min_dim);
-
- // possibly increase minimum size constraint due to children's minimums.
- for (S32 tab_idx = 0; tab_idx < mTabContainer->getTabCount(); ++tab_idx)
+ LLFloater* floaterp = dynamic_cast<LLFloater*>(mTabContainer->getPanelByIndex(tab_idx));
+ if (floaterp)
{
- LLFloater* floaterp = dynamic_cast<LLFloater*>(mTabContainer->getPanelByIndex(tab_idx));
- if (floaterp)
- {
- new_min_width = llmax(new_min_width,
- floaterp->getMinWidth() + conversations_pane_width + LLPANEL_BORDER_WIDTH * 2);
- new_min_height = llmax(new_min_height, floaterp->getMinHeight());
- }
+ new_min_height = llmax(new_min_height, floaterp->getMinHeight());
}
}
- else
- {
- new_min_width = conversations_pane_min_dim;
- }
+
+ S32 conversations_pane_min_dim = mConversationsPane->getRelevantMinDim();
+ S32 messages_pane_min_dim = mMessagesPane->getRelevantMinDim();
+
+ // set floater's minimum width according to relevant minimal children's dimensionals
+ new_min_width = conversations_pane_min_dim + messages_pane_min_dim + LLPANEL_BORDER_WIDTH*2;
}
void LLIMFloaterContainer::onNewMessageReceived(const LLSD& data)
@@ -938,15 +927,18 @@ void LLIMFloaterContainer::doToSelected(const LLSD& userdata)
const LLConversationItem * conversationItem = getCurSelectedViewModelItem();
uuid_vec_t selected_uuids;
- getParticipantUUIDs(selected_uuids);
-
- if(conversationItem->getType() == LLConversationItem::CONV_PARTICIPANT)
+ if(conversationItem != NULL)
{
- doToParticipants(command, selected_uuids);
- }
- else
- {
- doToSelectedConversation(command, selected_uuids);
+ getParticipantUUIDs(selected_uuids);
+
+ if(conversationItem->getType() == LLConversationItem::CONV_PARTICIPANT)
+ {
+ doToParticipants(command, selected_uuids);
+ }
+ else
+ {
+ doToSelectedConversation(command, selected_uuids);
+ }
}
}
@@ -1175,8 +1167,9 @@ void LLIMFloaterContainer::setNearbyDistances()
void LLIMFloaterContainer::addConversationListItem(const LLUUID& uuid, bool isWidgetSelected /*= false*/)
{
bool is_nearby_chat = uuid.isNull();
-
- std::string display_name = is_nearby_chat ? LLTrans::getString("NearbyChatTitle") : LLIMModel::instance().getName(uuid);
+
+ //Stores the display name for the conversation line item
+ std::string display_name = is_nearby_chat ? LLTrans::getString("NearbyChatLabel") : LLIMModel::instance().getName(uuid);
// Check if the item is not already in the list, exit if it is and has the same name and uuid (nothing to do)
// Note: this happens often, when reattaching a torn off conversation for instance