summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth ProductEngine <slitovchuk@productengine.com>2010-10-01 22:23:07 +0300
committerSeth ProductEngine <slitovchuk@productengine.com>2010-10-01 22:23:07 +0300
commita3584c383efa433671ee3ef9e139081c021a3b76 (patch)
treeeb4f8e285a2341e242fb63be8ebb0fe04a163f9a
parentdf67c34b42837a782ee76f71d1a63fe93ea0ec08 (diff)
STORM-264 FIXED Add lower-right corner resize marker for detached side panels.
Detached SP now has a slightly reduced height not to make it flush with the bottom bar.
-rw-r--r--indra/newview/llsidetray.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 9ee504cc4c..426ad26f1b 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -57,6 +57,8 @@ using namespace LLNotificationsUI;
static LLRootViewRegistry::Register<LLSideTray> t1("side_tray");
static LLDefaultChildRegistry::Register<LLSideTrayTab> t2("sidetray_tab");
+static const S32 BOTTOM_BAR_PAD = 5;
+
static const std::string COLLAPSED_NAME = "<<";
static const std::string EXPANDED_NAME = ">>";
@@ -316,6 +318,9 @@ void LLSideTrayTab::undock(LLFloater* floater_tab)
floater_tab->setTitle(mTabTitle);
floater_tab->setName(getName());
+ // Resize handles get obscured by added panel so move them to front.
+ floater_tab->moveResizeHandlesToFront();
+
// Reshape the floater if needed.
LLRect floater_rect;
if (floater_tab->hasSavedRect())
@@ -327,13 +332,18 @@ void LLSideTrayTab::undock(LLFloater* floater_tab)
{
// Detaching for the first time. Reshape the floater.
floater_rect = side_tray->getLocalRect();
+
+ // Reduce detached floater height by small BOTTOM_BAR_PAD not to make it flush with the bottom bar.
+ floater_rect.mBottom += LLBottomTray::getInstance()->getRect().getHeight() + BOTTOM_BAR_PAD;
+ floater_rect.makeValid();
floater_tab->reshape(floater_rect.getWidth(), floater_rect.getHeight());
}
// Reshape the panel.
{
- LLRect panel_rect = floater_rect;
+ LLRect panel_rect = floater_tab->getLocalRect();
panel_rect.mTop -= floater_tab->getHeaderHeight();
+ panel_rect.makeValid();
setRect(panel_rect);
reshape(panel_rect.getWidth(), panel_rect.getHeight());
}