diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2013-06-17 16:21:03 -0400 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2013-06-17 16:21:03 -0400 |
commit | 79f91264e2a24cefbd9b6334d9451491b4fdcfe9 (patch) | |
tree | da69b21b98c783589bbdd59380d9059d92469147 | |
parent | 2d0b329003d0350c12ce4686f1261e68ce39573b (diff) | |
parent | 8c35b1b58bad66bfb5302e598536c0262263cbcb (diff) |
merge
-rwxr-xr-x | indra/llui/llfloater.cpp | 47 | ||||
-rwxr-xr-x | indra/llui/llfloater.h | 5 | ||||
-rwxr-xr-x | indra/llui/llpanel.cpp | 23 | ||||
-rwxr-xr-x | indra/llui/llpanel.h | 11 | ||||
-rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.cpp | 96 | ||||
-rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.h | 16 | ||||
-rwxr-xr-x | indra/newview/llsidepanelappearance.cpp | 160 | ||||
-rwxr-xr-x | indra/newview/llsidepanelappearance.h | 24 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 34 |
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> |