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); 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;