summaryrefslogtreecommitdiff
path: root/indra/newview/llbottomtray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llbottomtray.cpp')
-rw-r--r--indra/newview/llbottomtray.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index 10ee98a357..c695ed6418 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -350,7 +350,7 @@ void LLBottomTray::setVisible(BOOL visible)
{
mBottomTrayLite->setVisible(visible);
}
- else
+ else
{
LLPanel::setVisible(visible);
}
@@ -422,6 +422,18 @@ void LLBottomTray::showSnapshotButton(BOOL visible)
setTrayButtonVisibleIfPossible(RS_BUTTON_SNAPSHOT, visible);
}
+void LLBottomTray::toggleMovementControls()
+{
+ if (mMovementButton)
+ mMovementButton->onCommit();
+}
+
+void LLBottomTray::toggleCameraControls()
+{
+ if (mCamButton)
+ mCamButton->onCommit();
+}
+
BOOL LLBottomTray::postBuild()
{
@@ -914,13 +926,12 @@ void LLBottomTray::processShrinkButtons(S32* required_width, S32* buttons_freed_
}
else
{
- //
- mSpeakBtn->setLabelVisible(false);
S32 panel_width = mSpeakPanel->getRect().getWidth();
S32 possible_shrink_width = panel_width - panel_min_width;
if (possible_shrink_width > 0)
{
+ mSpeakBtn->setLabelVisible(false);
mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight());
*required_width += possible_shrink_width;
@@ -995,18 +1006,18 @@ void LLBottomTray::processExtendButtons(S32* available_width)
if (*available_width > 0)
{
- processExtendButton(RS_BUTTON_CAMERA, available_width);
+ processExtendButton(RS_BUTTON_MOVEMENT, available_width);
}
if (*available_width > 0)
{
- processExtendButton(RS_BUTTON_MOVEMENT, available_width);
+ processExtendButton(RS_BUTTON_CAMERA, available_width);
}
if (*available_width > 0)
{
S32 panel_max_width = mObjectDefaultWidthMap[RS_BUTTON_SPEAK];
S32 panel_width = mSpeakPanel->getRect().getWidth();
S32 possible_extend_width = panel_max_width - panel_width;
- if (possible_extend_width > 0 && possible_extend_width <= *available_width)
+ if (possible_extend_width >= 0 && possible_extend_width <= *available_width) // HACK: this button doesn't change size so possible_extend_width will be 0
{
mSpeakBtn->setLabelVisible(true);
mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight());
@@ -1199,8 +1210,8 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible
if ( (available_width + possible_shrunk_width) >= minimal_width)
{
// There is enough space for minimal width, but set the result_width
- // to current_width so buttons widths decreasing will be done in predefined order
- result_width = current_width;
+ // to preferred_width so buttons widths decreasing will be done in predefined order
+ result_width = (preferred_width > 0) ? preferred_width : current_width;
decrease_width = true;
}
else