summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordolphin <dolphin@lindenlab.com>2014-02-04 17:00:03 -0800
committerdolphin <dolphin@lindenlab.com>2014-02-04 17:00:03 -0800
commit222337807d6cdf1a4c5cc792b5178f8550e0f24e (patch)
tree48bbdd4ad99027b0ea71c83354c746bbdabfbdef
parentd74119ec2bf5d98adce52291a2f82c1fed0aee30 (diff)
Remove linden experiences from the blocked list.
-rw-r--r--indra/newview/llfloaterexperiencepicker.cpp7
-rw-r--r--indra/newview/llfloaterexperiencepicker.h1
-rwxr-xr-xindra/newview/llfloaterregioninfo.cpp5
3 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llfloaterexperiencepicker.cpp b/indra/newview/llfloaterexperiencepicker.cpp
index fd2cb31ee4..a1b62648d6 100644
--- a/indra/newview/llfloaterexperiencepicker.cpp
+++ b/indra/newview/llfloaterexperiencepicker.cpp
@@ -458,11 +458,16 @@ bool LLFloaterExperiencePicker::FilterOverRating( const LLSD& experience )
return experience[LLExperienceCache::MATURITY].asInteger() > maturity;
}
-bool LLFloaterExperiencePicker::FilterWithProperty( const LLSD& experience, S32 prop )
+bool LLFloaterExperiencePicker::FilterWithProperty( const LLSD& experience, S32 prop)
{
return (experience[LLExperienceCache::PROPERTIES].asInteger() & prop) != 0;
}
+bool LLFloaterExperiencePicker::FilterWithoutProperty( const LLSD& experience, S32 prop )
+{
+ return (experience[LLExperienceCache::PROPERTIES].asInteger() & prop) == 0;
+}
+
void LLFloaterExperiencePicker::setDefaultFilters()
{
mFilters.clear();
diff --git a/indra/newview/llfloaterexperiencepicker.h b/indra/newview/llfloaterexperiencepicker.h
index 7f2083c6d9..ea0240d2ac 100644
--- a/indra/newview/llfloaterexperiencepicker.h
+++ b/indra/newview/llfloaterexperiencepicker.h
@@ -57,6 +57,7 @@ public:
void setDefaultFilters();
static bool FilterWithProperty(const LLSD& experience, S32 prop);
+ static bool FilterWithoutProperty(const LLSD& experience, S32 prop);
bool FilterOverRating(const LLSD& experience);
virtual void draw();
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp
index edaca68da3..e1cfc036ca 100755
--- a/indra/newview/llfloaterregioninfo.cpp
+++ b/indra/newview/llfloaterregioninfo.cpp
@@ -3569,11 +3569,16 @@ bool LLPanelRegionExperiences::refreshFromRegion(LLViewerRegion* region)
mAllowed->loading();
mAllowed->setReadonly(!allow_modify);
+ // remove grid-wide experiences
mAllowed->addFilter(boost::bind(LLFloaterExperiencePicker::FilterWithProperty, _1, LLExperienceCache::PROPERTY_GRID));
+ // and stuff only in another list
mAllowed->addFilter(boost::bind(&LLPanelRegionExperiences::FilterExisting, this, _1));
mBlocked->loading();
mBlocked->setReadonly(!allow_modify);
+ // only grid-wide experiences
+ mBlocked->addFilter(boost::bind(LLFloaterExperiencePicker::FilterWithoutProperty, _1, LLExperienceCache::PROPERTY_GRID));
+ // but not privileged ones
mBlocked->addFilter(boost::bind(LLFloaterExperiencePicker::FilterWithProperty, _1, LLExperienceCache::PROPERTY_PRIVILEGED));
mBlocked->addFilter(boost::bind(&LLPanelRegionExperiences::FilterExisting, this, _1));