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