From a3584c383efa433671ee3ef9e139081c021a3b76 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine Date: Fri, 1 Oct 2010 22:23:07 +0300 Subject: 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. --- indra/newview/llsidetray.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') 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 t1("side_tray"); static LLDefaultChildRegistry::Register 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()); } -- cgit v1.2.3 From 33bfe43b0cbae946f5c0929f1dacc16e2e9d88f6 Mon Sep 17 00:00:00 2001 From: Andrew Productengine Date: Mon, 11 Oct 2010 19:32:42 +0300 Subject: STORM-301 FIXED Fixed behaviour of camera on undocked 'My Appearance' tab minimizing. - Added signal to LLFloater that is emitted on minimize. - Set minimize callback for appearance tab floater in LLSideTrayTab::undock. Method from LLSidePanelAppearance that handles camera issues is called on minimization of floater. --- indra/newview/llsidetray.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 426ad26f1b..b7470c03bc 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -49,6 +49,8 @@ #include "llwindow.h"//for SetCursor #include "lltransientfloatermgr.h" +#include "llsidepanelappearance.h" + //#include "llscrollcontainer.h" using namespace std; @@ -290,6 +292,13 @@ void LLSideTrayTab::dock() } } +static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized) +{ + if (!panel) return; + bool visible = !minimized.asBoolean(); + panel->updateToVisibility(LLSD(visible)); +} + void LLSideTrayTab::undock(LLFloater* floater_tab) { LLSideTray* side_tray = getSideTray(); @@ -351,6 +360,17 @@ void LLSideTrayTab::undock(LLFloater* floater_tab) // Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing. setFollowsAll(); + // Camera view may need to be changed for appearance panel(STORM-301) on minimize of floater, + // so setting callback here. + if (getName() == "sidebar_appearance") + { + LLSidepanelAppearance* panel_appearance = dynamic_cast(getPanel()); + if(panel_appearance) + { + floater_tab->setMinimizeCallback(boost::bind(&on_minimize, panel_appearance, _2)); + } + } + if (!side_tray->getCollapsed()) { side_tray->collapseSideBar(); -- cgit v1.2.3