summaryrefslogtreecommitdiff
path: root/indra/newview/llsidetray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsidetray.cpp')
-rw-r--r--indra/newview/llsidetray.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 5e5608460c..3ac9076e85 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -40,6 +40,7 @@
#include "llaccordionctrl.h"
#include "llfocusmgr.h"
#include "llrootview.h"
+#include "llnavigationbar.h"
#include "llaccordionctrltab.h"
@@ -642,10 +643,30 @@ LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& para
}
static const S32 fake_offset = 132;
-static const S32 fake_top_offset = 78;
+static const S32 fake_top_offset = 18;
+
+void LLSideTray::resetPanelRect ()
+{
+ LLNavigationBar* nav_bar = LLNavigationBar::getInstance();
+ LLRect nav_rect = nav_bar->getRect();
+ const LLRect& parent_rect = gViewerWindow->getRootView()->getRect();
+
+ static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>());
+
+ S32 panel_width = sidetray_params.default_button_width+sidetray_params.default_button_margin;
+ if(!mCollapsed)
+ panel_width+=mMaxBarWidth;
+
+ S32 panel_height = parent_rect.getHeight()-fake_top_offset;
+
+ reshape(panel_width,panel_height);
+}
void LLSideTray::setPanelRect ()
{
+ LLNavigationBar* nav_bar = LLNavigationBar::getInstance();
+ LLRect nav_rect = nav_bar->getRect();
+
static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>());
const LLRect& parent_rect = gViewerWindow->getRootView()->getRect();
@@ -654,9 +675,11 @@ void LLSideTray::setPanelRect ()
if(!mCollapsed)
panel_width+=mMaxBarWidth;
- S32 panel_height = parent_rect.getHeight() - fake_top_offset - LLBottomTray::getInstance()->getRect().getHeight();
+ S32 panel_height = parent_rect.getHeight()-fake_top_offset - nav_rect.getHeight();
+ S32 panel_top = parent_rect.mTop-fake_top_offset - nav_rect.getHeight();
+
LLRect panel_rect;
- panel_rect.setLeftTopAndSize( parent_rect.mRight-panel_width, parent_rect.mTop-fake_top_offset, panel_width, panel_height);
+ panel_rect.setLeftTopAndSize( parent_rect.mRight-panel_width, panel_top, panel_width, panel_height);
setRect(panel_rect);
}