summaryrefslogtreecommitdiff
path: root/indra/newview/llnearbychatbar.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2011-10-25 09:35:17 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2011-10-25 09:35:17 -0400
commit012a0953b56d8313c6c0f71444f115de1aeeb7e1 (patch)
tree59fece92dfa8895d852e997b884ace46b9e1b3a9 /indra/newview/llnearbychatbar.cpp
parent7c08ddb3f748d2173948335fd799879e3d58d81c (diff)
parentb7a349f231977d5917b29faacca143a85d925576 (diff)
merge
Diffstat (limited to 'indra/newview/llnearbychatbar.cpp')
-rw-r--r--indra/newview/llnearbychatbar.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp
index 3e4228cfb6..a811332261 100644
--- a/indra/newview/llnearbychatbar.cpp
+++ b/indra/newview/llnearbychatbar.cpp
@@ -53,6 +53,8 @@
S32 LLNearbyChatBar::sLastSpecialChatChannel = 0;
const S32 EXPANDED_HEIGHT = 300;
+const S32 COLLAPSED_HEIGHT = 60;
+const S32 EXPANDED_MIN_HEIGHT = 150;
// legacy callback glue
void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel);
@@ -102,7 +104,7 @@ BOOL LLNearbyChatBar::postBuild()
// Register for font change notifications
LLViewerChat::setFontChangedCallback(boost::bind(&LLNearbyChatBar::onChatFontChange, this, _1));
- mExpandedHeight = getMinHeight() + EXPANDED_HEIGHT;
+ mExpandedHeight = COLLAPSED_HEIGHT + EXPANDED_HEIGHT;
enableResizeCtrls(true, true, false);
@@ -112,14 +114,19 @@ BOOL LLNearbyChatBar::postBuild()
bool LLNearbyChatBar::applyRectControl()
{
bool rect_controlled = LLFloater::applyRectControl();
-
- if (getRect().getHeight() > getMinHeight())
+
+ LLView* nearby_chat = getChildView("nearby_chat");
+ if (!nearby_chat->getVisible())
+ {
+ reshape(getRect().getWidth(), getMinHeight());
+ enableResizeCtrls(true, true, false);
+ }
+ else
{
- getChildView("nearby_chat")->setVisible(true);
- mExpandedHeight = getRect().getHeight();
enableResizeCtrls(true);
+ setResizeLimits(getMinWidth(), EXPANDED_MIN_HEIGHT);
}
-
+
return rect_controlled;
}
@@ -373,15 +380,19 @@ void LLNearbyChatBar::onToggleNearbyChatPanel()
if (nearby_chat->getVisible())
{
mExpandedHeight = getRect().getHeight();
+ setResizeLimits(getMinWidth(), COLLAPSED_HEIGHT);
nearby_chat->setVisible(FALSE);
- reshape(getRect().getWidth(), getMinHeight());
+ reshape(getRect().getWidth(), COLLAPSED_HEIGHT);
enableResizeCtrls(true, true, false);
+ storeRectControl();
}
else
{
nearby_chat->setVisible(TRUE);
+ setResizeLimits(getMinWidth(), EXPANDED_MIN_HEIGHT);
reshape(getRect().getWidth(), mExpandedHeight);
enableResizeCtrls(true);
+ storeRectControl();
}
}