diff options
| author | Merov Linden <merov@lindenlab.com> | 2015-06-05 14:51:30 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2015-06-05 14:51:30 -0700 | 
| commit | 1d257ab53fa031db7d7adb2f4eda61c37b68b82a (patch) | |
| tree | cba1abb3611a36d2050d995e65421934609f071a /indra/newview | |
| parent | 5cd0e7cf9065efc8402637d25d9bdae2eba44478 (diff) | |
DD-290 : Add an option to filter out marketplace, use it in Recent tab
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/llinventoryfilter.cpp | 16 | ||||
| -rwxr-xr-x | indra/newview/llinventoryfilter.h | 4 | ||||
| -rwxr-xr-x | indra/newview/llinventorypanel.cpp | 2 | 
3 files changed, 20 insertions, 2 deletions
| diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index 0f393de79c..3ed876af87 100755 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -147,11 +147,20 @@ bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const  	// Marketplace folder filtering      const U32 filterTypes = mFilterOps.mFilterTypes;      const U32 marketplace_filter = FILTERTYPE_MARKETPLACE_ACTIVE | FILTERTYPE_MARKETPLACE_INACTIVE | -                                   FILTERTYPE_MARKETPLACE_UNASSOCIATED | FILTERTYPE_MARKETPLACE_LISTING_FOLDER; +                                   FILTERTYPE_MARKETPLACE_UNASSOCIATED | FILTERTYPE_MARKETPLACE_LISTING_FOLDER | +                                   FILTERTYPE_NO_MARKETPLACE_ITEMS;      if (filterTypes & marketplace_filter)      {          S32 depth = depth_nesting_in_marketplace(folder_id); +        if (filterTypes & FILTERTYPE_NO_MARKETPLACE_ITEMS) +        { +            if (depth >= 0) +            { +                return false; +            } +        } +          if (filterTypes & FILTERTYPE_MARKETPLACE_LISTING_FOLDER)          {              if (depth > 1) @@ -575,6 +584,11 @@ void LLInventoryFilter::setFilterMarketplaceListingFolders(bool select_only_list      }  } +void LLInventoryFilter::setFilterNoMarketplaceFolder() +{ +    mFilterOps.mFilterTypes |= FILTERTYPE_NO_MARKETPLACE_ITEMS; +} +  void LLInventoryFilter::setFilterUUID(const LLUUID& object_id)  {  	if (mFilterOps.mFilterUUID == LLUUID::null) diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h index 90fa444cf2..abc4ae347c 100755 --- a/indra/newview/llinventoryfilter.h +++ b/indra/newview/llinventoryfilter.h @@ -56,7 +56,8 @@ public:          FILTERTYPE_MARKETPLACE_ACTIVE = 0x1 << 6,		// pass if folder is a marketplace active folder          FILTERTYPE_MARKETPLACE_INACTIVE = 0x1 << 7,		// pass if folder is a marketplace inactive folder          FILTERTYPE_MARKETPLACE_UNASSOCIATED = 0x1 << 8,	// pass if folder is a marketplace non associated (no market ID) folder -        FILTERTYPE_MARKETPLACE_LISTING_FOLDER = 0x1 << 9	// pass iff folder is a listing folder +        FILTERTYPE_MARKETPLACE_LISTING_FOLDER = 0x1 << 9,	// pass iff folder is a listing folder +        FILTERTYPE_NO_MARKETPLACE_ITEMS = 0x1 << 10         // pass iff folder is not under the marketplace  	};  	enum EFilterDateDirection @@ -179,6 +180,7 @@ public:  	void				setFilterMarketplaceInactiveFolders();  	void				setFilterMarketplaceUnassociatedFolders();      void                setFilterMarketplaceListingFolders(bool select_only_listing_folders); +    void                setFilterNoMarketplaceFolder();  	void				updateFilterTypes(U64 types, U64& current_types);  	void 				setFilterSubString(const std::string& string); diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 53cbad6301..5194cba891 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1513,6 +1513,8 @@ public:  		LLInventoryPanel::initFromParams(p);  		// turn on inbox for recent items  		getFilter().setFilterCategoryTypes(getFilter().getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); +        // turn off marketplace for recent items +        getFilter().setFilterNoMarketplaceFolder();  	}  protected: | 
