diff options
author | Andrew Productengine <adyukov@productengine.com> | 2010-10-11 19:32:42 +0300 |
---|---|---|
committer | Andrew Productengine <adyukov@productengine.com> | 2010-10-11 19:32:42 +0300 |
commit | 33bfe43b0cbae946f5c0929f1dacc16e2e9d88f6 (patch) | |
tree | 71f77e65ff1ef80f4837242a1bdb98d114738b60 /indra/newview | |
parent | ae0930751b991737e3fda2b3774411ea71160dca (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.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llsidepanelappearance.h | 1 | ||||
-rw-r--r-- | indra/newview/llsidetray.cpp | 20 |
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(); |