From 096f6854ccab86310484456c273cf73d61169a61 Mon Sep 17 00:00:00 2001 From: Darl Date: Tue, 13 May 2025 10:33:27 -0500 Subject: [PATCH] Allow filtering reflection probes in area search too --- indra/newview/fsareasearch.cpp | 23 +++++++++++++++++++ indra/newview/fsareasearch.h | 3 +++ .../default/xui/en/floater_fs_area_search.xml | 8 +++++++ 3 files changed, 34 insertions(+) diff --git a/indra/newview/fsareasearch.cpp b/indra/newview/fsareasearch.cpp index f2706b801e..ef4efc84fc 100644 --- a/indra/newview/fsareasearch.cpp +++ b/indra/newview/fsareasearch.cpp @@ -167,6 +167,7 @@ FSAreaSearch::FSAreaSearch(const LLSD& key) : mBeacons(false), mExcludeAttachment(true), mExcludeTemporary(true), + mExcludeReflectionProbe(false), mExcludePhysics(true), mExcludeChildPrims(true), mExcludeNeighborRegions(true), @@ -546,6 +547,11 @@ bool FSAreaSearch::isSearchableObject(LLViewerObject* objectp, LLViewerRegion* o return false; } + if (mExcludeReflectionProbe && objectp->mReflectionProbe.notNull()) + { + return false; + } + return true; } @@ -2223,6 +2229,10 @@ bool FSPanelAreaSearchFilter::postBuild() mCheckboxExcludetemporary->set(true); mCheckboxExcludetemporary->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); + mCheckboxExcludeReflectionProbes = getChild("exclude_reflection_probes"); + mCheckboxExcludeReflectionProbes->set(false); + mCheckboxExcludeReflectionProbes->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); + mCheckboxExcludeChildPrim = getChild("exclude_childprim"); mCheckboxExcludeChildPrim->set(true); mCheckboxExcludeChildPrim->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); @@ -2301,6 +2311,19 @@ void FSPanelAreaSearchFilter::onCommitCheckbox() } mFSAreaSearch->setFilterTemporary(mCheckboxTemporary->get()); + if (mCheckboxExcludeReflectionProbes->get()) + { + mFSAreaSearch->setFilterReflectionProbe(false); + mCheckboxReflectionProbe->set(false); + mCheckboxReflectionProbe->setEnabled(false); + mFSAreaSearch->setExcludeReflectionProbe(true); + } + else + { + mCheckboxReflectionProbe->setEnabled(true); + mFSAreaSearch->setExcludeReflectionProbe(false); + } + if (mCheckboxExcludeAttachment->get()) { mFSAreaSearch->setFilterAttachment(false); diff --git a/indra/newview/fsareasearch.h b/indra/newview/fsareasearch.h index ad09a0e52b..a4bb89c2b0 100644 --- a/indra/newview/fsareasearch.h +++ b/indra/newview/fsareasearch.h @@ -148,6 +148,7 @@ public: void setExcludeAttachment(bool b) { mExcludeAttachment = b; } void setExcludetemporary(bool b) { mExcludeTemporary = b; } + void setExcludeReflectionProbe(bool b) { mExcludeReflectionProbe = b; } void setExcludePhysics(bool b) { mExcludePhysics = b; } void setExcludeChildPrims(bool b) { mExcludeChildPrims = b; } void setExcludeNeighborRegions(bool b) { mExcludeNeighborRegions = b; } @@ -231,6 +232,7 @@ private: bool mExcludeAttachment; bool mExcludeTemporary; + bool mExcludeReflectionProbe; bool mExcludePhysics; bool mExcludeChildPrims; bool mExcludeNeighborRegions; @@ -396,6 +398,7 @@ private: LLCheckBoxCtrl* mCheckboxExcludeAttachment; LLCheckBoxCtrl* mCheckboxExcludePhysics; LLCheckBoxCtrl* mCheckboxExcludetemporary; + LLCheckBoxCtrl* mCheckboxExcludeReflectionProbes; LLCheckBoxCtrl* mCheckboxExcludeChildPrim; LLCheckBoxCtrl* mCheckboxExcludeNeighborRegions; LLCheckBoxCtrl* mCheckboxPermCopy; diff --git a/indra/newview/skins/default/xui/en/floater_fs_area_search.xml b/indra/newview/skins/default/xui/en/floater_fs_area_search.xml index ce21d2cf78..546e7b4916 100644 --- a/indra/newview/skins/default/xui/en/floater_fs_area_search.xml +++ b/indra/newview/skins/default/xui/en/floater_fs_area_search.xml @@ -579,6 +579,14 @@ name="exclude_temporary" label="Temporary" width="80"/> +