diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.cpp b/src/Mod/Sketcher/Gui/SketcherSettings.cpp index 0696f76b7d..33e72b09ca 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.cpp +++ b/src/Mod/Sketcher/Gui/SketcherSettings.cpp @@ -111,6 +111,7 @@ void SketcherSettings::saveSettings() ui->checkBoxAutoRemoveRedundants->onSave(); ui->checkBoxUnifiedCoincident->onSave(); ui->checkBoxHorVerAuto->onSave(); + ui->checkBoxLineGroup->onSave(); ui->checkBoxAddExtGeo->onSave(); enum @@ -186,6 +187,8 @@ void SketcherSettings::loadSettings() ui->checkBoxHorVerAuto->onRestore(); setProperty("checkBoxHorVerAuto", ui->checkBoxHorVerAuto->isChecked()); ui->checkBoxAddExtGeo->onRestore(); + setProperty("checkBoxLineGroup", ui->checkBoxLineGroup->isChecked()); + ui->checkBoxAddExtGeo->onRestore(); // Dimensioning constraints mode ui->dimensioningMode->clear(); @@ -246,6 +249,9 @@ void SketcherSettings::checkForRestart() if (property("checkBoxHorVerAuto").toBool() != ui->checkBoxHorVerAuto->isChecked()) { SketcherSettings::requireRestart(); } + if (property("checkBoxLineGroup").toBool() != ui->checkBoxLineGroup->isChecked()) { + SketcherSettings::requireRestart(); + } } /** diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.ui b/src/Mod/Sketcher/Gui/SketcherSettings.ui index 8a7b37cfc5..3492cc5ef8 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.ui +++ b/src/Mod/Sketcher/Gui/SketcherSettings.ui @@ -197,6 +197,25 @@ Requires to re-enter edit mode to take effect. + + + + If checked, show a command group button that contains both the polyline and line commands. Otherwise, each command has its own separate button. + + + Group the polyline and line commands + + + false + + + UnifiedLineCommands + + + Mod/Sketcher/Commands + + + diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 75d8d1a3bf..12440499ce 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -298,8 +298,16 @@ inline void SketcherAddWorkspaceLines(Gui::MenuItem& geom) template<> inline void SketcherAddWorkspaceLines(Gui::ToolBarItem& geom) { - geom << "Sketcher_CreatePolyline" - << "Sketcher_CreateLine"; + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Sketcher/Commands"); + + if (hGrp->GetBool("UnifiedLineCommands", false)) { + geom << "Sketcher_CompLine"; + } + else { + geom << "Sketcher_CreatePolyline" + << "Sketcher_CreateLine"; + } } template