Fixes: EXT-825 EXT-893 EXT-889 EXT-88
master
Steven Bennetts 2009-09-10 03:12:12 +00:00
parent 44f294d484
commit ccb1d2b1e4
9 changed files with 38 additions and 17 deletions

View File

@ -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;
}
}

View File

@ -72,6 +72,7 @@ private:
DocAt mDockAt;
LLView* mDockWidget;
LLRect mPrevDockRect;
LLRect mRootRect;
LLFloater* mDockableFloater;
LLUIImagePtr mDockTongue;
S32 mDockTongueX;

View File

@ -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;

View File

@ -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);
}

View File

@ -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);

View File

@ -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"));

View File

@ -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)

View File

@ -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)

View File

@ -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"