diff options
| -rw-r--r-- | indra/newview/llinventoryfilter.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llinventoryfilter.h | 14 | ||||
| -rw-r--r-- | indra/newview/llpanelmaininventory.cpp | 2 | 
3 files changed, 21 insertions, 12 deletions
| diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 9193613e9f..16385928b4 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -58,6 +58,7 @@ LLInventoryFilter::FilterOps::FilterOps(const Params& p)  	mHoursAgo(p.hours_ago),  	mDateSearchDirection(p.date_search_direction),  	mShowFolderState(p.show_folder_state), +	mFilterCreatorType(p.creator_type),  	mPermissions(p.permissions),  	mFilterTypes(p.types),  	mFilterUUID(p.uuid), @@ -78,8 +79,7 @@ LLInventoryFilter::LLInventoryFilter(const Params& p)  	mCurrentGeneration(0),  	mFirstRequiredGeneration(0),  	mFirstSuccessGeneration(0), -	mSearchType(SEARCHTYPE_NAME), -	mFilterCreatorType(FILTERCREATOR_ALL) +	mSearchType(SEARCHTYPE_NAME)  {  	// copy mFilterOps into mDefaultFilterOps  	markDefault(); @@ -489,7 +489,7 @@ bool LLInventoryFilter::checkAgainstCreator(const LLFolderViewModelItemInventory  {  	if (!listener) return TRUE;  	const BOOL is_folder = listener->getInventoryType() == LLInventoryType::IT_CATEGORY; -	switch(mFilterCreatorType) +	switch (mFilterOps.mFilterCreatorType)  	{  		case FILTERCREATOR_SELF:  			if(is_folder) return FALSE; @@ -601,9 +601,9 @@ void LLInventoryFilter::setSearchType(ESearchType type)  void LLInventoryFilter::setFilterCreator(EFilterCreatorType type)  { -	if(mFilterCreatorType != type) +	if (mFilterOps.mFilterCreatorType != type)  	{ -		mFilterCreatorType = type; +		mFilterOps.mFilterCreatorType = type;  		setModified();  	}  } @@ -1194,6 +1194,7 @@ void LLInventoryFilter::toParams(Params& params) const  	params.filter_ops.hours_ago = getHoursAgo();  	params.filter_ops.date_search_direction = getDateSearchDirection();  	params.filter_ops.show_folder_state = getShowFolderState(); +	params.filter_ops.creator_type = getFilterCreatorType();  	params.filter_ops.permissions = getFilterPermissions();  	params.substring = getFilterSubString();  	params.since_logoff = isSinceLogoff(); @@ -1216,6 +1217,7 @@ void LLInventoryFilter::fromParams(const Params& params)  	setHoursAgo(params.filter_ops.hours_ago);  	setDateSearchDirection(params.filter_ops.date_search_direction);  	setShowFolderState(params.filter_ops.show_folder_state); +	setFilterCreator(params.filter_ops.creator_type);  	setFilterPermissions(params.filter_ops.permissions);  	setFilterSubString(params.substring);  	setDateRangeLastLogoff(params.since_logoff); @@ -1278,6 +1280,11 @@ LLInventoryFilter::EFolderShow LLInventoryFilter::getShowFolderState() const  	return mFilterOps.mShowFolderState;   } +LLInventoryFilter::EFilterCreatorType LLInventoryFilter::getFilterCreatorType() const +{ +	return mFilterOps.mFilterCreatorType; +} +  bool LLInventoryFilter::isTimedOut()  {  	return mFilterTime.hasExpired(); diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index 01754ed023..4a1fec8454 100644 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -126,6 +126,7 @@ public:  			Optional<U32>				date_search_direction;  			Optional<EFolderShow>		show_folder_state;  			Optional<PermissionMask>	permissions; +			Optional<EFilterCreatorType> creator_type;  			Params()  			:	types("filter_types", FILTERTYPE_OBJECT), @@ -138,6 +139,7 @@ public:  				hours_ago("hours_ago", 0),  				date_search_direction("date_search_direction", FILTERDATEDIRECTION_NEWER),  				show_folder_state("show_folder_state", SHOW_NON_EMPTY_FOLDERS), +				creator_type("creator_type", FILTERCREATOR_ALL),  				permissions("permissions", PERM_NONE)  			{}  		}; @@ -156,8 +158,9 @@ public:  		U32				mHoursAgo;  		U32				mDateSearchDirection; -		EFolderShow		mShowFolderState; -		PermissionMask	mPermissions; +		EFolderShow			mShowFolderState; +		PermissionMask		mPermissions; +		EFilterCreatorType	mFilterCreatorType;  	};  	struct Params : public LLInitParam::Block<Params> @@ -202,7 +205,6 @@ public:  	void 				setSearchType(ESearchType type);  	ESearchType			getSearchType() { return mSearchType; }  	void 				setFilterCreator(EFilterCreatorType type); -	EFilterCreatorType		getFilterCreator() { return mFilterCreatorType; }  	void 				setFilterSubString(const std::string& string);  	const std::string& 	getFilterSubString(BOOL trim = FALSE) const; @@ -243,8 +245,9 @@ public:  	// +-------------------------------------------------------------------+  	// + Presentation  	// +-------------------------------------------------------------------+ -	void 				setShowFolderState( EFolderShow state); -	EFolderShow 		getShowFolderState() const; +	void 					setShowFolderState( EFolderShow state); +	EFolderShow 			getShowFolderState() const; +	EFilterCreatorType		getFilterCreatorType() const;  	void 				setEmptyLookupMessage(const std::string& message);  	std::string			getEmptyLookupMessage() const; @@ -324,7 +327,6 @@ private:  	std::string 			mEmptyLookupMessage;  	ESearchType 			mSearchType; -	EFilterCreatorType		mFilterCreatorType;  };  #endif diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 495e205252..f63e604927 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -885,7 +885,7 @@ void LLFloaterInventoryFinder::updateElementsFromFilter()  	U32 hours = mFilter->getHoursAgo();  	U32 date_search_direction = mFilter->getDateSearchDirection(); -	LLInventoryFilter::EFilterCreatorType filter_creator = mFilter->getFilterCreator(); +	LLInventoryFilter::EFilterCreatorType filter_creator = mFilter->getFilterCreatorType();  	bool show_created_by_me = ((filter_creator == LLInventoryFilter::FILTERCREATOR_ALL) || (filter_creator == LLInventoryFilter::FILTERCREATOR_SELF));  	bool show_created_by_others = ((filter_creator == LLInventoryFilter::FILTERCREATOR_ALL) || (filter_creator == LLInventoryFilter::FILTERCREATOR_OTHERS)); | 
