From 1b57def1aa3e9a45aa5ed77a387f89603435f891 Mon Sep 17 00:00:00 2001 From: Hecklezz Date: Tue, 15 Jul 2025 01:39:34 +1000 Subject: [PATCH] Fixed Area search filters not saving and loading properly --- indra/newview/app_settings/settings.xml | 22 +++++++++++----------- indra/newview/fsareasearch.cpp | 20 +++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0d6b61d3dc..2755af4b3a 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26563,6 +26563,17 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 + FSAreaSearch_ClickAction + + Comment + Area Search Filter: Mouse click action + Persist + 1 + Type + LLSD + Value + + FSAreaSearch_OnlyAttachments Comment @@ -26596,17 +26607,6 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 - FSAreaSearch_OnlyForSale - - Comment - Area Search Filter: Find only objects that are for sale - Persist - 1 - Type - Boolean - Value - 0 - FSAreaSearch_OnlyLocked Comment diff --git a/indra/newview/fsareasearch.cpp b/indra/newview/fsareasearch.cpp index 7d52654ddb..66c874615f 100644 --- a/indra/newview/fsareasearch.cpp +++ b/indra/newview/fsareasearch.cpp @@ -2175,16 +2175,16 @@ bool FSPanelAreaSearchFilter::postBuild() mCheckboxAttachment->set(gSavedSettings.getBOOL("FSAreaSearch_OnlyAttachments")); mCheckboxAttachment->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); - mSpinForSaleMinValue= getChild("min_price"); + mSpinForSaleMinValue = getChild("min_price"); mSpinForSaleMinValue->set((F32)gSavedSettings.getS32("FSAreaSearch_MinimumPrice")); mSpinForSaleMinValue->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitSpin, this)); - mSpinForSaleMaxValue= getChild("max_price"); + mSpinForSaleMaxValue = getChild("max_price"); mSpinForSaleMaxValue->set((F32)gSavedSettings.getS32("FSAreaSearch_MaximumPrice")); mSpinForSaleMaxValue->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitSpin, this)); mComboClickAction = getChild("click_action"); - mComboClickAction->setValue(gSavedSettings.getS32("FSAreaSearch_ClickAction")); + mComboClickAction->setValue(gSavedSettings.getLLSD("FSAreaSearch_ClickAction")); mComboClickAction->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCombo, this)); mCheckboxExcludeAttachment = getChild("exclude_attachment"); @@ -2218,14 +2218,14 @@ bool FSPanelAreaSearchFilter::postBuild() mButtonApply->setClickedCallback(boost::bind(&FSPanelAreaSearchFilter::onButtonClickedSaveAsDefault, this)); mCheckboxDistance = getChild("filter_distance"); - mCheckboxExcludeAttachment->set(gSavedSettings.getBOOL("FSAreaSearch_FilterDistance")); + mCheckboxDistance->set(gSavedSettings.getBOOL("FSAreaSearch_FilterDistance")); mCheckboxDistance->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); mSpinDistanceMinValue = getChild("min_distance"); - mCheckboxDistance->set(gSavedSettings.getS32("FSAreaSearch_MinimumDistance")); + mSpinDistanceMinValue->set((F32)gSavedSettings.getS32("FSAreaSearch_MinimumDistance")); mSpinDistanceMinValue->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitSpin, this)); - mSpinDistanceMaxValue= getChild("max_distance"); + mSpinDistanceMaxValue = getChild("max_distance"); mSpinDistanceMaxValue->set((F32)gSavedSettings.getS32("FSAreaSearch_MaximumDistance")); mSpinDistanceMaxValue->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitSpin, this)); @@ -2254,6 +2254,8 @@ bool FSPanelAreaSearchFilter::postBuild() mCheckboxAgentParcelOnly->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this)); onCommitCheckbox(); + onCommitSpin(); + onCommitCombo(); return LLPanel::postBuild(); } @@ -2372,15 +2374,15 @@ void FSPanelAreaSearchFilter::onButtonClickedSaveAsDefault() gSavedSettings.setBOOL("FSAreaSearch_OnlyAttachments", mCheckboxAttachment->get()); gSavedSettings.setS32("FSAreaSearch_MinimumPrice", (S32)mSpinForSaleMinValue->get()); gSavedSettings.setS32("FSAreaSearch_MaximumPrice", (S32)mSpinForSaleMaxValue->get()); - gSavedSettings.setS32("FSAreaSearch_ClickAction", mComboClickAction->getValue()); + gSavedSettings.setLLSD("FSAreaSearch_ClickAction", mComboClickAction->getValue()); gSavedSettings.setBOOL("FSAreaSearch_ExcludeAttachments", mCheckboxExcludeAttachment->get()); gSavedSettings.setBOOL("FSAreaSearch_ExcludePhysical", mCheckboxExcludePhysics->get()); gSavedSettings.setBOOL("FSAreaSearch_ExcludeTemporary", mCheckboxExcludetemporary->get()); gSavedSettings.setBOOL("FSAreaSearch_ExcludeReflectionProbes", mCheckboxExcludeReflectionProbes->get()); gSavedSettings.setBOOL("FSAreaSearch_ExcludeChildPrims", mCheckboxExcludeChildPrim->get()); gSavedSettings.setBOOL("FSAreaSearch_ExcludeNeighborRegions", mCheckboxExcludeNeighborRegions->get()); - gSavedSettings.setBOOL("FSAreaSearch_FilterDistance", mCheckboxExcludeAttachment->get()); - gSavedSettings.setS32("FSAreaSearch_MinimumDistance", mCheckboxDistance->get()); + gSavedSettings.setBOOL("FSAreaSearch_FilterDistance", mCheckboxDistance->get()); + gSavedSettings.setS32("FSAreaSearch_MinimumDistance", (S32)mSpinDistanceMinValue->get()); gSavedSettings.setS32("FSAreaSearch_MaximumDistance", (S32)mSpinDistanceMaxValue->get()); gSavedSettings.setBOOL("FSAreaSearch_OnlyMOAP", mCheckboxMoaP->get()); gSavedSettings.setBOOL("FSAreaSearch_OnlyReflectionProbes", mCheckboxReflectionProbe->get());