summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfilter.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2015-01-24 20:56:24 -0800
committerMerov Linden <merov@lindenlab.com>2015-01-24 20:56:24 -0800
commita62b1a26f5fcc88fa00c90075fa3c02b1f611e4c (patch)
tree592eaf489dde00402c935582248c3e689bab3597 /indra/newview/llinventoryfilter.cpp
parent855696c36980ded4aa93c315e1cd3d7e2b278446 (diff)
DD-301 : Add show only listing folders as an optional filter
Diffstat (limited to 'indra/newview/llinventoryfilter.cpp')
-rwxr-xr-xindra/newview/llinventoryfilter.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index 8fcfbd646f..d0fb994043 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -146,10 +146,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;
+ const U32 marketplace_filter = FILTERTYPE_MARKETPLACE_ACTIVE | FILTERTYPE_MARKETPLACE_INACTIVE |
+ FILTERTYPE_MARKETPLACE_UNASSOCIATED | FILTERTYPE_MARKETPLACE_LISTING_FOLDER;
if (filterTypes & marketplace_filter)
{
S32 depth = depth_nesting_in_marketplace(folder_id);
+
+ if (filterTypes & FILTERTYPE_MARKETPLACE_LISTING_FOLDER)
+ {
+ if (depth > 1)
+ {
+ return false;
+ }
+ }
+
if (depth > 0)
{
LLUUID listing_uuid = nested_parent_id(folder_id, depth);
@@ -551,6 +561,20 @@ void LLInventoryFilter::setFilterMarketplaceUnassociatedFolders()
mFilterOps.mFilterTypes |= FILTERTYPE_MARKETPLACE_UNASSOCIATED;
}
+void LLInventoryFilter::setFilterMarketplaceListingFolders(bool select_only_listing_folders)
+{
+ if (select_only_listing_folders)
+ {
+ mFilterOps.mFilterTypes |= FILTERTYPE_MARKETPLACE_LISTING_FOLDER;
+ setModified(FILTER_MORE_RESTRICTIVE);
+ }
+ else
+ {
+ mFilterOps.mFilterTypes &= ~FILTERTYPE_MARKETPLACE_LISTING_FOLDER;
+ setModified(FILTER_LESS_RESTRICTIVE);
+ }
+}
+
void LLInventoryFilter::setFilterUUID(const LLUUID& object_id)
{
if (mFilterOps.mFilterUUID == LLUUID::null)