summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrew Productengine <adyukov@productengine.com>2010-10-11 19:32:42 +0300
committerAndrew Productengine <adyukov@productengine.com>2010-10-11 19:32:42 +0300
commit33bfe43b0cbae946f5c0929f1dacc16e2e9d88f6 (patch)
tree71f77e65ff1ef80f4837242a1bdb98d114738b60 /indra/newview
parentae0930751b991737e3fda2b3774411ea71160dca (diff)
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.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llsidepanelappearance.cpp5
-rw-r--r--indra/newview/llsidepanelappearance.h1
-rw-r--r--indra/newview/llsidetray.cpp20
3 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index a3c6a7b6f1..1999f14828 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -183,6 +183,11 @@ void LLSidepanelAppearance::onOpen(const LLSD& key)
void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
{
+ updateToVisibility(new_visibility);
+}
+
+void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)
+{
if (new_visibility.asBoolean())
{
bool is_outfit_edit_visible = mOutfitEdit && mOutfitEdit->getVisible();
diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h
index f28cdfa49a..2a83dfbc9d 100644
--- a/indra/newview/llsidepanelappearance.h
+++ b/indra/newview/llsidepanelappearance.h
@@ -63,6 +63,7 @@ public:
void setWearablesLoading(bool val);
void showDefaultSubpart();
void updateScrollingPanelList();
+ void updateToVisibility( const LLSD& new_visibility );
private:
void onFilterEdit(const std::string& search_string);
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<LLSidepanelAppearance*>(getPanel());
+ if(panel_appearance)
+ {
+ floater_tab->setMinimizeCallback(boost::bind(&on_minimize, panel_appearance, _2));
+ }
+ }
+
if (!side_tray->getCollapsed())
{
side_tray->collapseSideBar();