summaryrefslogtreecommitdiff
path: root/indra/newview/llbottomtray.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2011-10-06 16:39:23 -0400
committerOz Linden <oz@lindenlab.com>2011-10-06 16:39:23 -0400
commita41ca2c34d291b4eebdeeb4475b512f2a8af5cb1 (patch)
treee305b00950eb562abec94ce33307b6694ca6ec98 /indra/newview/llbottomtray.cpp
parentfd91f09e19f937cb7e2f779c4e146064415ad427 (diff)
parent5f38ec7f92fcea833352cd30797a9d73ef5a041f (diff)
merge fixes for storm-1602 up to latest viewer-development
Diffstat (limited to 'indra/newview/llbottomtray.cpp')
-rw-r--r--indra/newview/llbottomtray.cpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index 79e6c7b66b..c8cfe5b51e 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -201,7 +201,8 @@ public:
};
LLBottomTray::LLBottomTray(const LLSD&)
-: mChicletPanel(NULL),
+: mDesiredNearbyChatWidth(0),
+ mChicletPanel(NULL),
mSpeakPanel(NULL),
mSpeakBtn(NULL),
mNearbyChatBar(NULL),
@@ -1095,33 +1096,35 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width)
if (still_should_be_processed)
{
processShrinkButtons(delta_width, buttons_freed_width);
+ still_should_be_processed = delta_width < 0;
}
+
// 3. Decreasing width of nearby chat.
const S32 chatbar_panel_min_width = get_panel_min_width(mToolbarStack, mChatBarContainer);
const S32 chatbar_panel_width = mChatBarContainer->getRect().getWidth();
if (still_should_be_processed && chatbar_panel_width > chatbar_panel_min_width)
{
// we have some space to decrease chatbar panel
- S32 panel_delta_min = chatbar_panel_width - chatbar_panel_min_width;
+ S32 chatbar_shrink_headroom = chatbar_panel_width - chatbar_panel_min_width;
- S32 delta_panel = llmin(-delta_width, panel_delta_min);
+ S32 shrink_by = llmin(-delta_width, chatbar_shrink_headroom);
// is chatbar panel wide enough to process resizing?
- delta_width += panel_delta_min;
+ delta_width += chatbar_shrink_headroom;
still_should_be_processed = delta_width < 0;
// chatbar should only be shrunk here, not stretched
- if(delta_panel > 0)
+ if (shrink_by > 0)
{
- lldebugs << "Shrinking nearby chat bar by " << delta_panel << " px " << llendl;
- mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - delta_panel, mChatBarContainer->getRect().getHeight());
+ lldebugs << "Shrinking nearby chat bar by " << shrink_by << " px " << llendl;
+ mChatBarContainer->reshape(mNearbyChatBar->getRect().getWidth() - shrink_by, mChatBarContainer->getRect().getHeight());
}
log(mNearbyChatBar, "after processing panel decreasing via nearby chatbar panel");
lldebugs << "RS_CHATBAR_INPUT"
- << ", delta_panel: " << delta_panel
+ << ", shrink_by: " << shrink_by
<< ", delta_width: " << delta_width
<< llendl;
}
@@ -1200,16 +1203,16 @@ void LLBottomTray::processWidthIncreased(S32 delta_width)
<< ", mDesiredNearbyChatWidth = " << mDesiredNearbyChatWidth << llendl;
if (delta_width > 0 && chatbar_panel_width < mDesiredNearbyChatWidth)
{
- S32 delta_panel_max = mDesiredNearbyChatWidth - chatbar_panel_width;
- S32 delta_panel = llmin(delta_width, delta_panel_max);
- lldebugs << "Unprocesed delta width: " << delta_width
- << ", can be applied to chatbar: " << delta_panel_max
- << ", will be applied: " << delta_panel
+ S32 extend_by_max = mDesiredNearbyChatWidth - chatbar_panel_width;
+ S32 extend_by = llmin(delta_width, extend_by_max);
+ lldebugs << "Unprocessed delta width: " << delta_width
+ << " px, chatbar can be extended by " << extend_by_max
+ << " px, extending it by " << extend_by << " px"
<< llendl;
- delta_width -= delta_panel_max;
- lldebugs << "Extending nearby chat bar by " << delta_panel << " px " << llendl;
- mChatBarContainer->reshape(chatbar_panel_width + delta_panel, mChatBarContainer->getRect().getHeight());
+ delta_width -= extend_by_max;
+ lldebugs << "Extending nearby chat bar by " << extend_by << " px " << llendl;
+ mChatBarContainer->reshape(chatbar_panel_width + extend_by, mChatBarContainer->getRect().getHeight());
log(mNearbyChatBar, "applied unprocessed delta width");
}