diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llaccordionctrltab.cpp | 13 | ||||
| -rw-r--r-- | indra/llui/llaccordionctrltab.h | 2 | ||||
| -rw-r--r-- | indra/newview/llappearancemgr.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llappearancemgr.h | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelgrouproles.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llsidepanelappearance.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llsidetray.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llsidetray.h | 2 | ||||
| -rw-r--r-- | indra/newview/llstartup.cpp | 3 | 
9 files changed, 50 insertions, 7 deletions
| diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index 1bc8086a27..be231fd8cf 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -968,3 +968,16 @@ BOOL LLAccordionCtrlTab::handleToolTip(S32 x, S32 y, MASK mask)  	}  	return LLUICtrl::handleToolTip(x, y, mask);  } +BOOL LLAccordionCtrlTab::handleScrollWheel		( S32 x, S32 y, S32 clicks ) +{ +	if( LLUICtrl::handleScrollWheel(x,y,clicks)) +	{ +		return TRUE; +	} +	if( mScrollbar->getVisible() && mScrollbar->handleScrollWheel( 0, 0, clicks ) ) +	{ +		return TRUE; +	} +	return FALSE; +} + diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h index 480b26e130..19d4ec0a1c 100644 --- a/indra/llui/llaccordionctrltab.h +++ b/indra/llui/llaccordionctrltab.h @@ -166,6 +166,8 @@ public:  	virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);  	virtual BOOL handleToolTip(S32 x, S32 y, MASK mask); +	virtual BOOL handleScrollWheel( S32 x, S32 y, S32 clicks ); +  	virtual bool addChild(LLView* child, S32 tab_group); diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3691d731ed..bc17605202 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -644,6 +644,13 @@ const LLViewerInventoryItem* LLAppearanceMgr::getBaseOutfitLink()  		const LLViewerInventoryCategory *cat = item->getLinkedCategory();  		if (cat && cat->getPreferredType() == LLFolderType::FT_OUTFIT)  		{ +			const LLUUID parent_id = cat->getParentUUID(); +			LLViewerInventoryCategory*  parent_cat =  gInventory.getCategory(parent_id); +			// if base outfit moved to trash it means that we don't have base outfit +			if (parent_cat != NULL && parent_cat->getPreferredType() == LLFolderType::FT_TRASH) +			{ +				return NULL; +			}  			return item;  		}  	} @@ -1992,13 +1999,19 @@ void LLAppearanceMgr::updateClothingOrderingInfo(LLUUID cat_id)  class LLShowCreatedOutfit: public LLInventoryCallback  {  public: -	LLShowCreatedOutfit(LLUUID& folder_id): mFolderID(folder_id) +	LLShowCreatedOutfit(LLUUID& folder_id, bool show_panel = true): mFolderID(folder_id), mShowPanel(show_panel)  	{}  	virtual ~LLShowCreatedOutfit()  	{  		LLSD key; -		LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); +		 +		//EXT-7727. For new accounts LLShowCreatedOutfit is created during login process +		// add may be processed after login process is finished +		if (mShowPanel) +		{ +			LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key); +		}  		LLPanelOutfitsInventory *outfit_panel =  			dynamic_cast<LLPanelOutfitsInventory*>(LLSideTray::getInstance()->getPanel("panel_outfits_inventory"));  		if (outfit_panel) @@ -2022,9 +2035,10 @@ public:  private:  	LLUUID mFolderID; +	bool mShowPanel;  }; -LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name) +LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name, bool show_panel)  {  	if (!isAgentAvatarValid()) return LLUUID::null; @@ -2037,7 +2051,7 @@ LLUUID LLAppearanceMgr::makeNewOutfitLinks(const std::string& new_folder_name)  	updateClothingOrderingInfo(); -	LLPointer<LLInventoryCallback> cb = new LLShowCreatedOutfit(folder_id); +	LLPointer<LLInventoryCallback> cb = new LLShowCreatedOutfit(folder_id,show_panel);  	shallowCopyCategoryContents(getCOF(),folder_id, cb);  	createBaseOutfitLink(folder_id, cb); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 2227a43cd8..e42f9f7d6f 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -151,7 +151,7 @@ public:  	void removeItemFromAvatar(const LLUUID& item_id); -	LLUUID makeNewOutfitLinks(const std::string& new_folder_name); +	LLUUID makeNewOutfitLinks(const std::string& new_folder_name,bool show_panel = true);  	bool moveWearable(LLViewerInventoryItem* item, bool closer_to_body); diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index b356fe6bfd..26e8a932aa 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -815,6 +815,8 @@ void LLPanelGroupRolesSubTab::setGroupID(const LLUUID& id)  	if(mRoleDescription) mRoleDescription->clear();  	if(mRoleTitle) mRoleTitle->clear(); +	mHasRoleChange = FALSE; +  	setFooterEnabled(FALSE);  	LLPanelGroupSubTab::setGroupID(id); diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 445bde1206..e2d4f5ad45 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -83,6 +83,7 @@ LLSidepanelAppearance::LLSidepanelAppearance() :  	mOpened(false)  {  	LLOutfitObserver& outfit_observer =  LLOutfitObserver::instance(); +	outfit_observer.addBOFReplacedCallback(boost::bind(&LLSidepanelAppearance::refreshCurrentOutfitName, this, ""));  	outfit_observer.addBOFChangedCallback(boost::bind(&LLSidepanelAppearance::refreshCurrentOutfitName, this, ""));  	outfit_observer.addCOFChangedCallback(boost::bind(&LLSidepanelAppearance::refreshCurrentOutfitName, this, ""));  } diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 9406f80b75..fed39c362e 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -35,6 +35,7 @@  #include "lltextbox.h"  #include "llagentcamera.h" +#include "llappviewer.h"  #include "llbottomtray.h"  #include "llsidetray.h"  #include "llviewerwindow.h" @@ -272,9 +273,18 @@ BOOL LLSideTray::postBuild()  		collapseSideBar();  	setMouseOpaque(false); + +	LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSideTray::handleLoginComplete, this)); +  	return true;  } +void LLSideTray::handleLoginComplete() +{ +	//reset tab to "home" tab if it was changesd during login process +	selectTabByName("sidebar_home"); +} +  LLSideTrayTab* LLSideTray::getTab(const std::string& name)  {  	return getChild<LLSideTrayTab>(name,false); diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index e176ff5aff..3a8d308425 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -161,6 +161,8 @@ public:  	commit_signal_t& getCollapseSignal() { return mCollapseSignal; } +	void		handleLoginComplete(); +  protected:  	LLSideTrayTab* getTab		(const std::string& name); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 9bfcceab2f..df5be34e39 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2494,8 +2494,7 @@ void LLStartUp::saveInitialOutfit()  	{  		sWearablesLoadedCon.disconnect();  	} - -	LLAppearanceMgr::getInstance()->makeNewOutfitLinks(sInitialOutfit); +	LLAppearanceMgr::getInstance()->makeNewOutfitLinks(sInitialOutfit,false);  }  std::string& LLStartUp::getInitialOutfitName() | 
