summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llinventoryfilter.cpp')
-rwxr-xr-xindra/newview/llinventoryfilter.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index 3c6974cf6d..284c354fc6 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -33,6 +33,7 @@
#include "llfolderviewitem.h"
#include "llinventorymodel.h"
#include "llinventorymodelbackgroundfetch.h"
+#include "llmarketplacefunctions.h"
#include "llviewercontrol.h"
#include "llfolderview.h"
#include "llinventorybridge.h"
@@ -243,6 +244,48 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
}
}
}
+
+ ////////////////////////////////////////////////////////////////////////////////
+ // FILTERTYPE_MARKETPLACE_ACTIVE
+ // Pass if this item is a folder and is active
+ if (filterTypes & FILTERTYPE_MARKETPLACE_ACTIVE)
+ {
+ if (object_type == LLInventoryType::IT_CATEGORY)
+ {
+ if (LLMarketplaceData::instance().getActivationState(object_id))
+ {
+ return FALSE;
+ }
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////
+ // FILTERTYPE_MARKETPLACE_INACTIVE
+ // Pass if this item is a folder and is not active
+ if (filterTypes & FILTERTYPE_MARKETPLACE_INACTIVE)
+ {
+ if (object_type == LLInventoryType::IT_CATEGORY)
+ {
+ if (!LLMarketplaceData::instance().getActivationState(object_id))
+ {
+ return FALSE;
+ }
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////
+ // FILTERTYPE_MARKETPLACE_UNASSOCIATED
+ // Pass if this item is a folder and is active
+ if (filterTypes & FILTERTYPE_MARKETPLACE_UNASSOCIATED)
+ {
+ if (object_type == LLInventoryType::IT_CATEGORY)
+ {
+ if (LLMarketplaceData::instance().getListingID(object_id).empty())
+ {
+ return FALSE;
+ }
+ }
+ }
return TRUE;
}
@@ -468,6 +511,21 @@ void LLInventoryFilter::setFilterEmptySystemFolders()
mFilterOps.mFilterTypes |= FILTERTYPE_EMPTYFOLDERS;
}
+void LLInventoryFilter::setFilterMarketplaceActiveFolders()
+{
+ mFilterOps.mFilterTypes |= FILTERTYPE_MARKETPLACE_ACTIVE;
+}
+
+void LLInventoryFilter::setFilterMarketplaceInactiveFolders()
+{
+ mFilterOps.mFilterTypes |= FILTERTYPE_MARKETPLACE_INACTIVE;
+}
+
+void LLInventoryFilter::setFilterMarketplaceUnassociatedFolders()
+{
+ mFilterOps.mFilterTypes |= FILTERTYPE_MARKETPLACE_UNASSOCIATED;
+}
+
void LLInventoryFilter::setFilterUUID(const LLUUID& object_id)
{
if (mFilterOps.mFilterUUID == LLUUID::null)