summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2009-09-10 03:12:12 +0000
committerSteven Bennetts <steve@lindenlab.com>2009-09-10 03:12:12 +0000
commitccb1d2b1e43369803cf9ab1ffc7deefbac2db8fc (patch)
tree57b085da51db0f63ab249926102f8ebbca8da1ee /indra
parent44f294d484185ef3cb9f51e5cba6a3ee269b96dc (diff)
merge -r 1609-1612 https://svn.aws.productengine.com/secondlife/pe/stable-2 -> viewer-2.0.0-3
Fixes: EXT-825 EXT-893 EXT-889 EXT-88
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/lldockcontrol.cpp10
-rw-r--r--indra/llui/lldockcontrol.h1
-rw-r--r--indra/newview/llbottomtray.cpp11
-rw-r--r--indra/newview/llchiclet.cpp4
-rw-r--r--indra/newview/llnavigationbar.cpp2
-rw-r--r--indra/newview/llscreenchannel.cpp2
-rw-r--r--indra/newview/llsearchcombobox.cpp8
-rw-r--r--indra/newview/lltoast.cpp10
-rw-r--r--indra/newview/skins/default/xui/en/panel_bottomtray.xml7
9 files changed, 38 insertions, 17 deletions
diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp
index bec7f04cc0..e119d387ce 100644
--- a/indra/llui/lldockcontrol.cpp
+++ b/indra/llui/lldockcontrol.cpp
@@ -65,11 +65,14 @@ void LLDockControl::repositionDockable()
void LLDockControl::calculateDockablePosition()
{
LLRect dockRect = mDockWidget->calcScreenRect();
- if (mPrevDockRect != dockRect || mRecalculateDocablePosition)
+ LLRect rootRect = mDockableFloater->getRootView()->getRect();
+
+ // recalculate dockable position if dock position changed
+ // or root view rect changed or recalculation is forced
+ if (mPrevDockRect != dockRect || mRootRect != rootRect
+ || mRecalculateDocablePosition)
{
LLRect dockableRect = mDockableFloater->calcScreenRect();
- LLRect rootRect = mDockableFloater->getRootView()->getRect();
-
S32 x = 0;
S32 y = 0;
switch (mDockAt)
@@ -100,6 +103,7 @@ void LLDockControl::calculateDockablePosition()
mDockableFloater->screenPointToLocal(mDockTongueX, mDockTongueY,
&mDockTongueX, &mDockTongueY);
mPrevDockRect = dockRect;
+ mRootRect = rootRect;
mRecalculateDocablePosition = false;
}
}
diff --git a/indra/llui/lldockcontrol.h b/indra/llui/lldockcontrol.h
index 0e1f4c8e64..ae4e53ddc9 100644
--- a/indra/llui/lldockcontrol.h
+++ b/indra/llui/lldockcontrol.h
@@ -72,6 +72,7 @@ private:
DocAt mDockAt;
LLView* mDockWidget;
LLRect mPrevDockRect;
+ LLRect mRootRect;
LLFloater* mDockableFloater;
LLUIImagePtr mDockTongue;
S32 mDockTongueX;
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index d166715038..06f9a86d8d 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -224,11 +224,14 @@ void LLBottomTray::setVisible(BOOL visible)
BOOL LLBottomTray::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
- if (mShowCamMoveCtrlsContextMenu)
+ if (!LLPanel::handleRightMouseDown(x, y, mask))
{
- mShowCamMoveCtrlsContextMenu->buildDrawLabels();
- mShowCamMoveCtrlsContextMenu->updateParent(LLMenuGL::sMenuContainer);
- LLMenuGL::showPopup(this, mShowCamMoveCtrlsContextMenu, x, y);
+ if (mShowCamMoveCtrlsContextMenu)
+ {
+ mShowCamMoveCtrlsContextMenu->buildDrawLabels();
+ mShowCamMoveCtrlsContextMenu->updateParent(LLMenuGL::sMenuContainer);
+ LLMenuGL::showPopup(this, mShowCamMoveCtrlsContextMenu, x, y);
+ }
}
return TRUE;
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index 9ce194c712..e5acf62189 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -670,6 +670,10 @@ LLChicletPanel::LLChicletPanel(const Params&p)
LLPanel::Params panel_params;
mScrollArea = LLUICtrlFactory::create<LLPanel>(panel_params,this);
+
+ // important for Show/Hide Camera and Move controls menu in bottom tray to work properly
+ mScrollArea->setMouseOpaque(false);
+
addChild(mScrollArea);
}
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 69cebcfb5e..b1db51dd26 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -298,7 +298,7 @@ void LLNavigationBar::onHomeButtonClicked()
void LLNavigationBar::onSearchCommit()
{
- std::string search_query = mSearchComboBox->getValue().asString();
+ std::string search_query = mSearchComboBox->getSimple();
if(!search_query.empty())
{
LLSearchHistory::getInstance()->addEntry(search_query);
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index 1fbe359295..2157f1af74 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -64,6 +64,7 @@ LLScreenChannel::LLScreenChannel(LLUUID& id): mOverflowToastPanel(NULL), mStartU
setMouseOpaque( false );
}
+//--------------------------------------------------------------------------
void LLScreenChannel::init(S32 channel_left, S32 channel_right)
{
S32 channel_top = getRootView()->getRect().getHeight() - gSavedSettings.getS32("NavBarMargin");
@@ -326,6 +327,7 @@ void LLScreenChannel::showToastsBottom()
mHiddenToastsNum = 0;
for(; it != mToastList.rend(); it++)
{
+ (*it).toast->stopTimer();
mHiddenToastsNum++;
}
createOverflowToast(bottom, gSavedSettings.getS32("NotificationToastTime"));
diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp
index 29d31e8b56..ab5536a12d 100644
--- a/indra/newview/llsearchcombobox.cpp
+++ b/indra/newview/llsearchcombobox.cpp
@@ -153,16 +153,16 @@ void LLSearchComboBox::onSelectionCommit()
std::string search_query = getSimple();
LLStringUtil::trim(search_query);
- mTextEntry->setText(search_query);
- setControlValue(search_query);
-
+ // Order of add() and mTextEntry->setText does matter because add() will select first item
+ // in drop down list and its label will be copied to text box rewriting mTextEntry->setText() call
if(!search_query.empty())
{
remove(search_query);
add(search_query, ADD_TOP);
}
- LLUICtrl::onCommit();
+ mTextEntry->setText(search_query);
+ setControlValue(search_query);
}
BOOL LLSearchComboBox::remove(const std::string& name)
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 85814a98c9..fb7574d68b 100644
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -84,11 +84,7 @@ LLToast::LLToast(LLToast::Params p) : LLFloater(LLSD()),
//--------------------------------------------------------------------------
BOOL LLToast::postBuild()
{
- if(mCanFade)
- {
- mTimer.start();
- }
- else
+ if(!mCanFade)
{
mTimer.stop();
}
@@ -209,6 +205,10 @@ void LLToast::setVisible(BOOL show)
if(show)
{
setBackgroundOpaque(TRUE);
+ if(!mTimer.getStarted())
+ {
+ mTimer.start();
+ }
}
LLPanel::setVisible(show);
if(mPanel)
diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
index df91920721..6449059ef0 100644
--- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
+ mouse_opaque="false"
background_visible="true"
bg_alpha_color="0.25 0.25 0.25 1"
bg_opaque_color="0.25 0.25 0.25 1"
@@ -12,6 +13,7 @@
border_visible="true"
width="1000">
<layout_stack
+ mouse_opaque="false"
border_size="0"
clip="false"
follows="left|right|bottom|top"
@@ -33,6 +35,7 @@
top="0"
width="5"/>
<layout_panel
+ mouse_opaque="false"
auto_resize="false"
follows="left|right"
height="28"
@@ -57,6 +60,7 @@
top="0"
width="3"/>
<layout_panel
+ mouse_opaque="false"
auto_resize="false"
follows="right"
height="28"
@@ -96,6 +100,7 @@
top="0"
width="8"/>
<layout_panel
+ mouse_opaque="false"
auto_resize="false"
follows="right"
height="28"
@@ -188,6 +193,7 @@
top="0"
width="5"/>
<layout_panel
+ mouse_opaque="false"
follows="left|right"
height="28"
layout="topleft"
@@ -197,6 +203,7 @@
width="150"
user_resize="false">
<chiclet_panel
+ mouse_opaque="false"
follows="left|right"
height="25"
layout="topleft"