diff options
author | dolphin <dolphin@lindenlab.com> | 2014-02-04 17:00:03 -0800 |
---|---|---|
committer | dolphin <dolphin@lindenlab.com> | 2014-02-04 17:00:03 -0800 |
commit | 222337807d6cdf1a4c5cc792b5178f8550e0f24e (patch) | |
tree | 48bbdd4ad99027b0ea71c83354c746bbdabfbdef /indra | |
parent | d74119ec2bf5d98adce52291a2f82c1fed0aee30 (diff) |
Remove linden experiences from the blocked list.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloaterexperiencepicker.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llfloaterexperiencepicker.h | 1 | ||||
-rwxr-xr-x | indra/newview/llfloaterregioninfo.cpp | 5 |
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)); |