summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-17 16:21:03 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2013-06-17 16:21:03 -0400
commit79f91264e2a24cefbd9b6334d9451491b4fdcfe9 (patch)
treeda69b21b98c783589bbdd59380d9059d92469147
parent2d0b329003d0350c12ce4686f1261e68ce39573b (diff)
parent8c35b1b58bad66bfb5302e598536c0262263cbcb (diff)
merge
-rwxr-xr-xindra/llui/llfloater.cpp47
-rwxr-xr-xindra/llui/llfloater.h5
-rwxr-xr-xindra/llui/llpanel.cpp23
-rwxr-xr-xindra/llui/llpanel.h11
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.cpp96
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.h16
-rwxr-xr-xindra/newview/llsidepanelappearance.cpp160
-rwxr-xr-xindra/newview/llsidepanelappearance.h24
-rwxr-xr-xindra/newview/skins/default/xui/en/notifications.xml34
9 files changed, 39 insertions, 377 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index f8b01e106b..0807b497a7 100755
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -704,29 +704,11 @@ void LLFloater::openFloater(const LLSD& key)
dirtyRect();
}
-void LLFloater::verifyClose( bool app_quitting )
-{
- LLPanel::handleCloseConfirmation( app_quitting );
-}
-
void LLFloater::closeFloater(bool app_quitting)
{
llinfos << "Closing floater " << getName() << llendl;
-
- if (!app_quitting)
- {
- if ( mVerifyUponClose && !mForceCloseAfterVerify )
- {
- onClose( app_quitting );
- if ( mForceCloseAfterVerify )
- {
- return;
- }
- }
- }
-
if (app_quitting)
- {
+ {
LLFloater::sQuitting = true;
}
@@ -799,7 +781,7 @@ void LLFloater::closeFloater(bool app_quitting)
dirtyRect();
// Close callbacks
- onClose(app_quitting);
+ onClose(app_quitting);
mCloseSignal(this, LLSD(app_quitting));
// Hide or Destroy
@@ -1639,7 +1621,7 @@ void LLFloater::bringToFront( S32 x, S32 y )
// virtual
-void LLFloater::setVisibleAndFrontmost(BOOL take_focus, const LLSD& key)
+void LLFloater::setVisibleAndFrontmost(BOOL take_focus,const LLSD& key)
{
LLMultiFloater* hostp = getHost();
if (hostp)
@@ -1806,19 +1788,11 @@ void LLFloater::initRectControl()
void LLFloater::closeFrontmostFloater()
{
LLFloater* floater_to_close = gFloaterView->getFrontmostClosableFloater();
- if( floater_to_close )
+ if(floater_to_close)
{
- if ( floater_to_close->mVerifyUponClose )
- {
- floater_to_close->verifyClose();
- //Closing of the window handle in the subclass - so bug out here.
- return;
- }
- else
- {
- floater_to_close->closeFloater();
- }
+ floater_to_close->closeFloater();
}
+
// if nothing took focus after closing focused floater
// give it to next floater (to allow closing multiple windows via keyboard in rapid succession)
if (gFocusMgr.getKeyboardFocus() == NULL)
@@ -2657,14 +2631,7 @@ void LLFloaterView::closeAllChildren(bool app_quitting)
if (floaterp->canClose() && !floaterp->isDead() &&
(app_quitting || floaterp->getVisible()))
{
- if ( floaterp->mVerifyUponClose )
- {
- floaterp->verifyClose(app_quitting);
- }
- else
- {
- floaterp->closeFloater(app_quitting);
- }
+ floaterp->closeFloater(app_quitting);
}
}
}
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 8eb40ddd0b..1d0d3cb050 100755
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -225,7 +225,6 @@ public:
// If allowed, close the floater cleanly, releasing focus.
virtual void closeFloater(bool app_quitting = false);
- virtual void verifyClose( bool app_quitting = false );
// Close the floater or its host. Use when hidding or toggling a floater instance.
virtual void closeHostedFloater();
@@ -304,9 +303,9 @@ public:
/*virtual*/ void setVisible(BOOL visible); // do not override
/*virtual*/ void handleVisibilityChange ( BOOL new_visibility ); // do not override
- void handleCloseConfirmation( );
+
void setFrontmost(BOOL take_focus = TRUE);
- virtual void setVisibleAndFrontmost(BOOL take_focus=TRUE, const LLSD& key = LLSD());
+ virtual void setVisibleAndFrontmost(BOOL take_focus=TRUE, const LLSD& key = LLSD());
// Defaults to false.
virtual BOOL canSaveAs() const { return FALSE; }
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index b0bdbcb7d1..67472ad166 100755
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -114,10 +114,7 @@ LLPanel::LLPanel(const LLPanel::Params& p)
mCommitCallbackRegistrar(false),
mEnableCallbackRegistrar(false),
mXMLFilename(p.filename),
- mVisibleSignal(NULL),
- mCloseConfirmationSignal(NULL),
- mVerifyUponClose(false),
- mForceCloseAfterVerify(false)
+ mVisibleSignal(NULL)
// *NOTE: Be sure to also change LLPanel::initFromParams(). We have too
// many classes derived from LLPanel to retrofit them all to pass in params.
{
@@ -130,7 +127,6 @@ LLPanel::LLPanel(const LLPanel::Params& p)
LLPanel::~LLPanel()
{
delete mVisibleSignal;
- delete mCloseConfirmationSignal;
}
// virtual
@@ -353,14 +349,6 @@ void LLPanel::handleVisibilityChange ( BOOL new_visibility )
(*mVisibleSignal)(this, LLSD(new_visibility) ); // Pass BOOL as LLSD
}
-
-void LLPanel::handleCloseConfirmation( bool app_quitting)
-{
- if (mCloseConfirmationSignal)
- {
- (*mCloseConfirmationSignal)(this, LLSD( app_quitting ) );
- }
-}
void LLPanel::setFocus(BOOL b)
{
if( b && !hasFocus())
@@ -971,17 +959,10 @@ boost::signals2::connection LLPanel::setVisibleCallback( const commit_signal_t::
{
mVisibleSignal = new commit_signal_t();
}
+
return mVisibleSignal->connect(cb);
}
-boost::signals2::connection LLPanel::setCloseConfirmationCallback( const commit_signal_t::slot_type& cb )
-{
- if (!mCloseConfirmationSignal)
- {
- mCloseConfirmationSignal = new commit_signal_t();
- }
- return mCloseConfirmationSignal->connect(cb);
-}
static LLFastTimer::DeclareTimer FTM_BUILD_PANELS("Build Panels");
//-----------------------------------------------------------------------------
diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h
index 02f8c0aba7..e63b41f97c 100755
--- a/indra/llui/llpanel.h
+++ b/indra/llui/llpanel.h
@@ -116,8 +116,6 @@ public:
/*virtual*/ void draw();
/*virtual*/ BOOL handleKeyHere( KEY key, MASK mask );
/*virtual*/ void handleVisibilityChange ( BOOL new_visibility );
- void handleCloseConfirmation( bool app_quitting );
-
// From LLFocusableElement
/*virtual*/ void setFocus( BOOL b );
@@ -253,8 +251,6 @@ public:
std::string getXMLFilename() { return mXMLFilename; };
boost::signals2::connection setVisibleCallback( const commit_signal_t::slot_type& cb );
- boost::signals2::connection setCloseConfirmationCallback( const commit_signal_t::slot_type& cb );
-
protected:
// Override to set not found list
@@ -264,7 +260,6 @@ protected:
EnableCallbackRegistry::ScopedRegistrar mEnableCallbackRegistrar;
commit_signal_t* mVisibleSignal; // Called when visibility changes, passes new visibility as LLSD()
- commit_signal_t* mCloseConfirmationSignal;
std::string mHelpTopic; // the name of this panel's help topic to display in the Help Viewer
typedef std::deque<const LLCallbackMap::map_t*> factory_stack_t;
@@ -272,11 +267,7 @@ protected:
// for setting the xml filename when building panel in context dependent cases
std::string mXMLFilename;
- //Specific close-down logic in subclass
- BOOL mVerifyUponClose;
-public:
- BOOL mForceCloseAfterVerify;
-
+
private:
BOOL mBgVisible; // any background at all?
BOOL mBgOpaque; // use opaque color or image
diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp
index 02216420da..5f9556a870 100755
--- a/indra/newview/llfloatersidepanelcontainer.cpp
+++ b/indra/newview/llfloatersidepanelcontainer.cpp
@@ -40,29 +40,13 @@
const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel");
LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params)
-: LLFloater(key, params)
-, mAppQuiting( false )
+: LLFloater(key, params)
{
// Prevent transient floaters (e.g. IM windows) from hiding
// when this floater is clicked.
LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this);
- //We want this container to handle the shutdown logic of the sidepanelappearance.
- mVerifyUponClose = TRUE;
}
-BOOL LLFloaterSidePanelContainer::postBuild()
-{
- setCloseConfirmationCallback( boost::bind(&LLFloaterSidePanelContainer::onConfirmationClose,this,_2));
- return TRUE;
-}
-
-void LLFloaterSidePanelContainer::onConfirmationClose( const LLSD &confirm )
-{
- mAppQuiting = confirm.asBoolean();
- onClickCloseBtn();
-}
-
-
LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer()
{
LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::GLOBAL, this);
@@ -71,34 +55,26 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer()
void LLFloaterSidePanelContainer::onOpen(const LLSD& key)
{
getChild<LLPanel>(sMainPanelName)->onOpen(key);
- mAppQuiting = false;
-}
-
-void LLFloaterSidePanelContainer::onClose( bool app_quitting )
-{
- if (! mAppQuiting ) { mForceCloseAfterVerify = true; }
- LLSidepanelAppearance* panel = getSidePanelAppearance();
- if ( panel )
- {
- panel->mRevertSet = true;
- panel->onCloseFromAppearance( this );
- }
}
void LLFloaterSidePanelContainer::onClickCloseBtn()
{
- LLSidepanelAppearance* panel = getSidePanelAppearance();
- if ( panel )
- {
- panel->onClose( this );
- }
- else
+ LLPanelOutfitEdit* panel_outfit_edit =
+ dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit"));
+ if (panel_outfit_edit)
{
- LLFloater::onClickCloseBtn();
+ LLFloater *parent = gFloaterView->getParentFloater(panel_outfit_edit);
+ if (parent == this )
+ {
+ LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(getPanel("appearance"));
+ if ( panel_appearance )
+ {
+ panel_appearance->getWearable()->onClose();
+ panel_appearance->showOutfitsInventoryPanel();
+ }
+ }
}
-}
-void LLFloaterSidePanelContainer::close()
-{
+
LLFloater::onClickCloseBtn();
}
@@ -109,7 +85,7 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na
if (!getVisible())
{
- openFloater();
+ openFloater();
}
LLPanel* panel = NULL;
@@ -130,30 +106,10 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na
void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& key)
{
- //If we're already open then check whether anything is dirty
- LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name);
+ LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name);
if (floaterp)
{
- if ( floaterp->getVisible() )
- {
- LLSidepanelAppearance* panel = floaterp->getSidePanelAppearance();
- if ( panel )
- {
- if ( panel->checkForDirtyEdits() )
- {
- panel->onClickConfirmExitWithoutSaveIntoAppearance( floaterp );
- }
- else
- {
- //or a call into some new f() that just shows inv panel?
- floaterp->openChildPanel(sMainPanelName, key);
- }
- }
- }
- else
- {
- floaterp->openChildPanel(sMainPanelName, key);
- }
+ floaterp->openChildPanel(sMainPanelName, key);
}
}
@@ -177,19 +133,3 @@ LLPanel* LLFloaterSidePanelContainer::getPanel(const std::string& floater_name,
return NULL;
}
-
-LLSidepanelAppearance* LLFloaterSidePanelContainer::getSidePanelAppearance()
-{
- LLSidepanelAppearance* panel_appearance = NULL;
- LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit"));
- if (panel_outfit_edit)
- {
- LLFloater *parent = gFloaterView->getParentFloater(panel_outfit_edit);
- if (parent == this )
- {
- panel_appearance = dynamic_cast<LLSidepanelAppearance*>(getPanel("appearance"));
- }
- }
- return panel_appearance;
-
-}
diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h
index b276821805..491723471f 100755
--- a/indra/newview/llfloatersidepanelcontainer.h
+++ b/indra/newview/llfloatersidepanelcontainer.h
@@ -30,8 +30,6 @@
#include "llfloater.h"
-class LLSidepanelAppearance;
-
/**
* Class LLFloaterSidePanelContainer
*
@@ -44,8 +42,6 @@ class LLSidepanelAppearance;
*/
class LLFloaterSidePanelContainer : public LLFloater
{
- friend class LLSidePanelAppearance;
-
private:
static const std::string sMainPanelName;
@@ -54,15 +50,11 @@ public:
~LLFloaterSidePanelContainer();
/*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void onClose(bool app_quitting);
+
/*virtual*/ void onClickCloseBtn();
- /*virtual*/ BOOL postBuild();
- void onConfirmationClose( const LLSD &confirm );
LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params);
- void close();
-
static void showPanel(const std::string& floater_name, const LLSD& key);
static void showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key);
@@ -86,12 +78,6 @@ public:
}
return panel;
}
-
-private:
- LLSidepanelAppearance* getSidePanelAppearance();
-
-public:
- bool mAppQuiting;
};
#endif // LL_LLFLOATERSIDEPANELCONTAINER_H
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index 775c148ea1..d25d203feb 100755
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -48,9 +48,6 @@
#include "llviewerregion.h"
#include "llvoavatarself.h"
#include "llviewerwearable.h"
-#include "llnotificationsutil.h"
-#include "llfloatersidepanelcontainer.h"
-#include "llviewerfoldertype.h"
static LLRegisterPanelClassWrapper<LLSidepanelAppearance> t_appearance("sidepanel_appearance");
@@ -73,139 +70,13 @@ private:
LLSidepanelAppearance *mPanel;
};
-bool LLSidepanelAppearance::callBackExitWithoutSaveViaBack(const LLSD& notification, const LLSD& response)
-{
- S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
- if ( option == 0 )
- {
- LLAppearanceMgr::instance().setOutfitDirty( true );
- showOutfitsInventoryPanel();
- LLAppearanceMgr::getInstance()->wearBaseOutfit();
- return true;
- }
- return false;
-}
-
-void LLSidepanelAppearance::onCloseFromAppearance(LLFloaterSidePanelContainer* obj)
-{
- mLLFloaterSidePanelContainer = obj;
- if ( mEditWearable->isAvailable() && mEditWearable->isDirty() )
- {
- LLSidepanelAppearance* pSelf = (LLSidepanelAppearance *)this;
- LLNotificationsUtil::add("ConfirmExitWithoutSave", LLSD(), LLSD(), boost::bind(&LLSidepanelAppearance::callBackExitWithoutSaveViaClose,pSelf,_1,_2) );
- }
- else
- {
- LLVOAvatarSelf::onCustomizeEnd(FALSE);
- toggleWearableEditPanel(FALSE);
- mLLFloaterSidePanelContainer->mForceCloseAfterVerify=false;
- }
-}
-bool LLSidepanelAppearance::onSaveCommit(const LLSD& notification, const LLSD& response)
-{
- S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
- if (0 == option)
- {
- std::string outfit_name = response["message"].asString();
- LLStringUtil::trim(outfit_name);
- std::string current_outfit_name;
-
- LLAppearanceMgr::getInstance()->getBaseOutfitName(current_outfit_name);
-
- if ( current_outfit_name == outfit_name )
- {
- LLAppearanceMgr::getInstance()->updateBaseOutfit();
- }
- else
- {
- LLUUID outfit_folder = LLAppearanceMgr::getInstance()->makeNewOutfitLinks( outfit_name,FALSE );
- }
-
- LLVOAvatarSelf::onCustomizeEnd( FALSE );
- mLLFloaterSidePanelContainer->close();
- }
-
- return false;
-}
-bool LLSidepanelAppearance::callBackExitWithoutSaveViaClose(const LLSD& notification, const LLSD& response)
-{ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
- if ( option == 0 )
- {
- std::string outfit_name;
- if (!LLAppearanceMgr::getInstance()->getBaseOutfitName(outfit_name))
- {
- outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT);
- }
-
- LLSD args;
- args["DESC"] = outfit_name;
-
- LLSD payload;
- LLNotificationsUtil::add("SaveOutfitEither", args, payload, boost::bind(&LLSidepanelAppearance::onSaveCommit, this, _1, _2));
- showOutfitEditPanel();
- return false;
- }
- else if ( option == 1 )
- {
- mEditWearable->revertChanges();
- toggleWearableEditPanel(FALSE);
- showOutfitEditPanel();
- LLVOAvatarSelf::onCustomizeEnd( FALSE );
- if ( !mLLFloaterSidePanelContainer->mAppQuiting )
- {
- mRevertSet = true;
- }
- else
- {
- mLLFloaterSidePanelContainer->closeFloater( true );
- }
- return false;
- }
- mLLFloaterSidePanelContainer->mForceCloseAfterVerify = false;
- return false;
-}
-
-void LLSidepanelAppearance::onClickConfirmExitWithoutSaveIntoAppearance( LLFloaterSidePanelContainer* obj )
-{
- mLLFloaterSidePanelContainer = obj;
- if ( LLAppearanceMgr::getInstance()->isOutfitDirty() || mEditWearable->isDirty() )
- {
- LLSidepanelAppearance* pSelf = (LLSidepanelAppearance *)this;
- LLNotificationsUtil::add("ConfirmExitWithoutSave", LLSD(), LLSD(), boost::bind(&LLSidepanelAppearance::callBackExitWithoutSaveViaClose,pSelf,_1,_2) );
- }
- else
- {
- showOutfitsInventoryPanel();
- }
-}
-void LLSidepanelAppearance::onClickConfirmExitWithoutSaveViaBack()
-{
- showOutfitsInventoryPanel();
-}
-
-void LLSidepanelAppearance::onClose(LLFloaterSidePanelContainer* obj)
-{ mLLFloaterSidePanelContainer = obj;
- if ( mEditWearable->isAvailable() && mEditWearable->isDirty() )
- {
- LLSidepanelAppearance* pSelf = (LLSidepanelAppearance *)this;
- LLNotificationsUtil::add("ConfirmExitWithoutSave", LLSD(), LLSD(), boost::bind(&LLSidepanelAppearance::callBackExitWithoutSaveViaClose,pSelf,_1,_2) );
- }
- else
- {
- LLVOAvatarSelf::onCustomizeEnd(FALSE);
- mLLFloaterSidePanelContainer->close();
- }
-}
-
LLSidepanelAppearance::LLSidepanelAppearance() :
LLPanel(),
mFilterSubString(LLStringUtil::null),
mFilterEditor(NULL),
mOutfitEdit(NULL),
mCurrOutfitPanel(NULL),
- mOpened(false),
- mSidePanelJustOpened(true),
- mRevertSet(false)
+ mOpened(false)
{
LLOutfitObserver& outfit_observer = LLOutfitObserver::instance();
outfit_observer.addBOFReplacedCallback(boost::bind(&LLSidepanelAppearance::refreshCurrentOutfitName, this, ""));
@@ -214,8 +85,6 @@ LLSidepanelAppearance::LLSidepanelAppearance() :
gAgentWearables.addLoadingStartedCallback(boost::bind(&LLSidepanelAppearance::setWearablesLoading, this, true));
gAgentWearables.addLoadedCallback(boost::bind(&LLSidepanelAppearance::setWearablesLoading, this, false));
-
-
}
LLSidepanelAppearance::~LLSidepanelAppearance()
@@ -250,8 +119,8 @@ BOOL LLSidepanelAppearance::postBuild()
{
LLButton* back_btn = mOutfitEdit->getChild<LLButton>("back_btn");
if (back_btn)
- {
- back_btn->setClickedCallback(boost::bind(&LLSidepanelAppearance::onClickConfirmExitWithoutSaveViaBack, this));
+ {
+ back_btn->setClickedCallback(boost::bind(&LLSidepanelAppearance::showOutfitsInventoryPanel, this));
}
}
@@ -275,7 +144,6 @@ BOOL LLSidepanelAppearance::postBuild()
setVisibleCallback(boost::bind(&LLSidepanelAppearance::onVisibilityChange,this,_2));
-
return TRUE;
}
@@ -286,15 +154,11 @@ void LLSidepanelAppearance::onOpen(const LLSD& key)
{
// No specific panel requested.
// If we're opened for the first time then show My Outfits.
- // Else show outfit edit panel
+ // Else do nothing.
if (!mOpened)
{
showOutfitsInventoryPanel();
}
- else
- {
- showOutfitEditPanel();
- }
}
else
{
@@ -319,12 +183,6 @@ void LLSidepanelAppearance::onOpen(const LLSD& key)
void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
{
- //handle leaving and subsequent user verification of discarding any unsaved data
- if ( mSidePanelJustOpened )
- {
- mSidePanelJustOpened = false;
- }
-
LLSD visibility;
visibility["visible"] = new_visibility.asBoolean();
visibility["reset_accordion"] = false;
@@ -333,9 +191,8 @@ void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)
{
- if (new_visibility["visible"].asBoolean() )
+ if (new_visibility["visible"].asBoolean())
{
-
const BOOL is_outfit_edit_visible = mOutfitEdit && mOutfitEdit->getVisible();
const BOOL is_wearable_edit_visible = mEditWearable && mEditWearable->getVisible();
@@ -596,6 +453,7 @@ void LLSidepanelAppearance::editWearable(LLViewerWearable *wearable, LLView *dat
LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(data);
if (panel)
{
+ panel->showOutfitsInventoryPanel();
panel->showWearableEditPanel(wearable, disable_camera_switch);
}
}
@@ -686,9 +544,3 @@ void LLSidepanelAppearance::updateScrollingPanelList()
mEditWearable->updateScrollingPanelList();
}
}
-
-bool LLSidepanelAppearance::checkForDirtyEdits()
-{
- return ( mEditWearable->isDirty() ) ? true : false;
-}
-
diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h
index 5042e92f4b..762f557a80 100755
--- a/indra/newview/llsidepanelappearance.h
+++ b/indra/newview/llsidepanelappearance.h
@@ -38,11 +38,9 @@ class LLCurrentlyWornFetchObserver;
class LLPanelEditWearable;
class LLViewerWearable;
class LLPanelOutfitsInventory;
-class LLFloaterSidePanelContainer;
class LLSidepanelAppearance : public LLPanel
-{
-
+{
LOG_CLASS(LLSidepanelAppearance);
public:
LLSidepanelAppearance();
@@ -50,9 +48,6 @@ public:
/*virtual*/ BOOL postBuild();
/*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void onClose(LLFloaterSidePanelContainer* obj);
-
- void onClickCloseBtn();
void refreshCurrentOutfitName(const std::string& name = "");
@@ -70,12 +65,6 @@ public:
void updateScrollingPanelList();
void updateToVisibility( const LLSD& new_visibility );
LLPanelEditWearable* getWearable(){ return mEditWearable; }
- bool callBackExitWithoutSaveViaBack(const LLSD& notification, const LLSD& response);
- void onClickConfirmExitWithoutSaveViaBack();
- bool callBackExitWithoutSaveViaClose(const LLSD& notification, const LLSD& response);
- bool checkForDirtyEdits();
- void onClickConfirmExitWithoutSaveIntoAppearance(LLFloaterSidePanelContainer* obj);
- void onCloseFromAppearance(LLFloaterSidePanelContainer* obj);
private:
void onFilterEdit(const std::string& search_string);
@@ -88,9 +77,6 @@ private:
void toggleOutfitEditPanel(BOOL visible, BOOL disable_camera_switch = FALSE);
void toggleWearableEditPanel(BOOL visible, LLViewerWearable* wearable = NULL, BOOL disable_camera_switch = FALSE);
-
- bool onSaveCommit(const LLSD& notification, const LLSD& response);
-
LLFilterEditor* mFilterEditor;
LLPanelOutfitsInventory* mPanelOutfitsInventory;
LLPanelOutfitEdit* mOutfitEdit;
@@ -99,7 +85,6 @@ private:
LLButton* mOpenOutfitBtn;
LLButton* mEditAppearanceBtn;
LLButton* mNewOutfitBtn;
-
LLPanel* mCurrOutfitPanel;
LLTextBox* mCurrentLookName;
@@ -114,13 +99,6 @@ private:
// Gets set to true when we're opened for the first time.
bool mOpened;
- // Set to true if sidepanel has just been opened
- bool mSidePanelJustOpened;
- LLFloaterSidePanelContainer* mLLFloaterSidePanelContainer;
-
-public:
-
- bool mRevertSet;
};
#endif //LL_LLSIDEPANELAPPEARANCE_H
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 860dabdcc8..c3d8a528c5 100755
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -10114,37 +10114,5 @@ Cannot create large prims that intersect other players. Please re-try when othe
</notification>
- <notification
- icon="alertmodal.tga"
- name="ConfirmExitWithoutSave"
- type="alertmodal">
- You have not saved the changes to your outfit. Would you like to save it now?
- <tag>confirm</tag>
- <usetemplate
- name="yesnocancelbuttons"
- notext="Revert"
- yestext="Yes"
- canceltext="Dismiss"/>
- </notification>
-
- <notification
- icon="alertmodal.tga"
- label="Save Outfit"
- name="SaveOutfitEither"
- type="alertmodal">
- <unique/>
- Save outfit (defaults to current outfit):
- <tag>confirm</tag>
- <form name="form">
- <input name="message" type="text">
- [DESC]
- </input>
- <button
- default="true"
- index="0"
- name="OK"
- text="Save"/>
- </form>
- </notification>
-
+
</notifications>