diff options
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfolderview.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llfolderviewitem.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llinventoryfilter.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llinventoryfilter.h | 4 | ||||
| -rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 2 | 
6 files changed, 25 insertions, 13 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 1e2eac39eb..454e547155 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -875,6 +875,9 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs  	LLUUID agent_id;  	gMessageSystem->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id); +	const BOOL is_first_time_in_viewer2_0 = (gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, FALSE) == LLUUID::null); + +  	LLVOAvatar* avatar = gAgent.getAvatarObject();  	if (avatar && (agent_id == avatar->getID()))  	{ @@ -954,7 +957,8 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs  			gInventory.addObserver(outfit);  		} -		gAgentWearables.populateMyOutfitsFolder(); +		if (is_first_time_in_viewer2_0) +			gAgentWearables.populateMyOutfitsFolder();  	}  } diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 98fae1c2a0..8b05f8614d 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -330,8 +330,8 @@ BOOL LLFolderView::addFolder( LLFolderViewFolder* folder)  	else  	{  		mFolders.insert(mFolders.begin(), folder); -		folder->setShowLoadStatus(true);  	} +	folder->setShowLoadStatus(true);  	folder->setOrigin(0, 0);  	folder->reshape(getRect().getWidth(), 0);  	folder->setVisible(FALSE); @@ -774,7 +774,7 @@ void LLFolderView::sanitizeSelection()  				parent_folder;  				parent_folder = parent_folder->getParentFolder())  			{ -				if (parent_folder->potentiallyVisible()) +				if (parent_folder->potentiallyVisible() && !parent_folder->getDontShowInHierarchy())  				{  					// give initial selection to first ancestor folder that potentially passes the filter  					if (!new_selection) @@ -795,6 +795,11 @@ void LLFolderView::sanitizeSelection()  		{  			// nothing selected to start with, so pick "My Inventory" as best guess  			new_selection = getItemByID(gInventory.getRootFolderID()); +			// ... except if it's hidden from the UI. +			if (new_selection && new_selection->getDontShowInHierarchy()) +			{ +				new_selection = NULL; +			}  		}  		if (new_selection) diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 9ae0c9100a..bfd9d6dca7 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -969,19 +969,18 @@ void LLFolderViewItem::draw()  		} +		font->renderUTF8( mLabel, 0, text_left, y, color, +				   LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, +			S32_MAX, getRect().getWidth() - (S32) text_left, &right_x, TRUE); +  		if ( (mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= gSavedSettings.getF32("FolderLoadingMessageWaitTime"))  			|| (LLInventoryModel::backgroundFetchActive() && mShowLoadStatus) )  		{ -			std::string load_string = LLTrans::getString("LoadingData") + " "; -			font->renderUTF8(load_string, 0, text_left, y, sSearchStatusColor, +			std::string load_string = " ( " + LLTrans::getString("LoadingData") + " ) "; +			font->renderUTF8(load_string, 0, right_x, y, sSearchStatusColor,  					  LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, &right_x, FALSE); -			text_left = right_x;  		} -		font->renderUTF8( mLabel, 0, text_left, y, color, -				   LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -			S32_MAX, getRect().getWidth() - (S32) text_left, &right_x, TRUE); -  		if (!mLabelSuffix.empty())  		{  			font->renderUTF8( mLabelSuffix, 0, right_x, y, sSuffixColor, diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 522edd0cb5..b4dcb566e4 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -218,6 +218,7 @@ std::string::size_type LLInventoryFilter::getStringMatchOffset() const  BOOL LLInventoryFilter::isNotDefault() const  {  	return mFilterOps.mFilterObjectTypes != mDefaultFilterOps.mFilterObjectTypes  +		|| mFilterOps.mFilterTypes != FILTERTYPE_OBJECT  		|| mFilterSubString.size()   		|| mFilterOps.mPermissions != mDefaultFilterOps.mPermissions  		|| mFilterOps.mMinDate != mDefaultFilterOps.mMinDate  @@ -227,7 +228,8 @@ BOOL LLInventoryFilter::isNotDefault() const  BOOL LLInventoryFilter::isActive() const  { -	return mFilterOps.mFilterObjectTypes != 0xffffffffffffffffULL  +	return mFilterOps.mFilterObjectTypes != 0xffffffffffffffffULL +		|| mFilterOps.mFilterTypes != FILTERTYPE_OBJECT  		|| mFilterSubString.size()   		|| mFilterOps.mPermissions != PERM_NONE   		|| mFilterOps.mMinDate != time_min() diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index 5ca77cb26a..b01554edc8 100644 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -162,8 +162,8 @@ private:  		FilterOps();  		U32 			mFilterTypes; -		U64				mFilterObjectTypes; // For _ITEM -		U64				mFilterCategoryTypes; // For _ITEM +		U64				mFilterObjectTypes; // For _OBJECT +		U64				mFilterCategoryTypes; // For _CATEGORY  		LLUUID      	mFilterUUID; // for UUID  		time_t			mMinDate; diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index f9777147b7..8e14074de1 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -80,6 +80,7 @@ BOOL LLPanelOutfitsInventory::postBuild()  	sShowDebugEditor = gSavedSettings.getBOOL("ShowDebugAppearanceEditor");  	initTabPanels();  	initListCommandsHandlers(); +  	return TRUE;  } @@ -431,6 +432,7 @@ void LLPanelOutfitsInventory::initTabPanels()  	mTabPanels[0] = myoutfits_panel;  	mActivePanel = myoutfits_panel; +  	LLInventoryPanel *cof_panel = getChild<LLInventoryPanel>("cof_accordionpanel");  	cof_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);  	mTabPanels[1] = cof_panel;  | 
