From 504c3174880d6103452949aa9837ce9444d81651 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Wed, 3 Jul 2024 18:33:57 +0200 Subject: [PATCH 1/2] Sketcher: add SketcherSettings::resetSettingsToDefaults to reset correctly some settings. --- src/Mod/Sketcher/Gui/SketcherSettings.cpp | 23 +++++++++++++++++++++++ src/Mod/Sketcher/Gui/SketcherSettings.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.cpp b/src/Mod/Sketcher/Gui/SketcherSettings.cpp index 8b5c2a29dd..5ddf096770 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.cpp +++ b/src/Mod/Sketcher/Gui/SketcherSettings.cpp @@ -261,6 +261,29 @@ void SketcherSettings::changeEvent(QEvent* e) } } +void SketcherSettings::resetSettingsToDefaults() +{ + ParameterGrp::handle hGrp; + + hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Sketcher/dimensioning"); + // reset "Dimension tools" parameters + hGrp->RemoveBool("SingleDimensioningTool"); + hGrp->RemoveBool("SeparatedDimensioningTools"); + + // reset "radius/diameter mode for dimensioning" parameter + hGrp->RemoveBool("DimensioningDiameter"); + hGrp->RemoveBool("DimensioningRadius"); + + hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Sketcher/Tools"); + // reset "OVP visibility" parameter + hGrp->RemoveInt("OnViewParameterVisibility"); + + // finally reset all the parameters associated to Gui::Pref* widgets + PreferencePage::resetSettingsToDefaults(); +} + /* TRANSLATOR SketcherGui::SketcherSettingsGrid */ SketcherSettingsGrid::SketcherSettingsGrid(QWidget* parent) diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.h b/src/Mod/Sketcher/Gui/SketcherSettings.h index 49b569c040..d417b119c8 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.h +++ b/src/Mod/Sketcher/Gui/SketcherSettings.h @@ -49,6 +49,8 @@ public: void saveSettings() override; void loadSettings() override; + void resetSettingsToDefaults() override; + protected: void changeEvent(QEvent* e) override; void dimensioningModeChanged(int index); From 923cbffcb06bd84572ca6e94b5e74c72f3e67847 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 4 Jul 2024 09:36:33 +0200 Subject: [PATCH 2/2] TechDraw: add DlgPrefsTechDrawDimensionsImp::resetSettingsToDefaults to reset correctly some settings. --- .../Gui/DlgPrefsTechDrawDimensionsImp.cpp | 18 ++++++++++++++++++ .../Gui/DlgPrefsTechDrawDimensionsImp.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp index 1b0c99a248..cca5036cbb 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp @@ -208,6 +208,24 @@ void DlgPrefsTechDrawDimensionsImp::changeEvent(QEvent *e) } } +void DlgPrefsTechDrawDimensionsImp::resetSettingsToDefaults() +{ + ParameterGrp::handle hGrp; + + hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/TechDraw/dimensioning"); + // reset "Dimension tools" parameters + hGrp->RemoveBool("SingleDimensioningTool"); + hGrp->RemoveBool("SeparatedDimensioningTools"); + + // reset "radius/diameter mode for dimensioning" parameter + hGrp->RemoveBool("DimensioningDiameter"); + hGrp->RemoveBool("DimensioningRadius"); + + // finally reset all the parameters associated to Gui::Pref* widgets + PreferencePage::resetSettingsToDefaults(); +} + int DlgPrefsTechDrawDimensionsImp::prefArrowStyle() const { return PreferencesGui::dimArrowStyle(); diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.h b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.h index c06dcb0d6c..5fa89fe846 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.h +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.h @@ -41,6 +41,7 @@ public: explicit DlgPrefsTechDrawDimensionsImp( QWidget* parent = nullptr ); ~DlgPrefsTechDrawDimensionsImp() override; + void resetSettingsToDefaults() override; protected: void saveSettings() override; void loadSettings() override;