STORM-301 : merge to viewer-beta
commit
ae90fd93c8
|
|
@ -231,7 +231,8 @@ LLFloater::LLFloater(const LLSD& key, const LLFloater::Params& p)
|
|||
mTornOff(false),
|
||||
mHasBeenDraggedWhileMinimized(FALSE),
|
||||
mPreviousMinimizedBottom(0),
|
||||
mPreviousMinimizedLeft(0)
|
||||
mPreviousMinimizedLeft(0),
|
||||
mMinimizeSignal(NULL)
|
||||
// mNotificationContext(NULL)
|
||||
{
|
||||
mHandle.bind(this);
|
||||
|
|
@ -493,6 +494,8 @@ LLFloater::~LLFloater()
|
|||
setVisible(false); // We're not visible if we're destroyed
|
||||
storeVisibilityControl();
|
||||
storeDockStateControl();
|
||||
|
||||
delete mMinimizeSignal;
|
||||
}
|
||||
|
||||
void LLFloater::storeRectControl()
|
||||
|
|
@ -997,6 +1000,11 @@ void LLFloater::setMinimized(BOOL minimize)
|
|||
|
||||
if (minimize == mMinimized) return;
|
||||
|
||||
if(mMinimizeSignal)
|
||||
{
|
||||
(*mMinimizeSignal)(this, LLSD(minimize));
|
||||
}
|
||||
|
||||
if (minimize)
|
||||
{
|
||||
// minimized flag should be turned on before release focus
|
||||
|
|
@ -2810,6 +2818,12 @@ void LLFloater::initFromParams(const LLFloater::Params& p)
|
|||
}
|
||||
}
|
||||
|
||||
boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_t::slot_type& cb )
|
||||
{
|
||||
if (!mMinimizeSignal) mMinimizeSignal = new commit_signal_t();
|
||||
return mMinimizeSignal->connect(cb);
|
||||
}
|
||||
|
||||
LLFastTimer::DeclareTimer POST_BUILD("Floater Post Build");
|
||||
|
||||
bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node)
|
||||
|
|
|
|||
|
|
@ -142,6 +142,8 @@ public:
|
|||
// Don't export top/left for rect, only height/width
|
||||
static void setupParamsForExport(Params& p, LLView* parent);
|
||||
|
||||
boost::signals2::connection setMinimizeCallback( const commit_signal_t::slot_type& cb );
|
||||
|
||||
void initFromParams(const LLFloater::Params& p);
|
||||
bool initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node = NULL);
|
||||
|
||||
|
|
@ -347,6 +349,8 @@ public:
|
|||
// Public so external views or floaters can watch for this floater closing
|
||||
commit_signal_t mCloseSignal;
|
||||
|
||||
commit_signal_t* mMinimizeSignal;
|
||||
|
||||
protected:
|
||||
std::string mRectControl;
|
||||
std::string mVisibilityControl;
|
||||
|
|
|
|||
|
|
@ -182,6 +182,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())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue