From b940863353b3db502eb33e56850f7af148f20cef Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Mar 2025 12:08:56 +0100 Subject: [PATCH 1/6] Sketcher: Add parameter to combine line and polyline --- src/Mod/Sketcher/Gui/Workbench.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 75d8d1a3bf..3bfb390606 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 From fde9be13bcc1464e5d9e42fe93c47d1dd35ad566 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 11:12:28 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/Mod/Sketcher/Gui/Workbench.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 3bfb390606..12440499ce 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -306,7 +306,7 @@ inline void SketcherAddWorkspaceLines(Gui::ToolBarItem& geom) } else { geom << "Sketcher_CreatePolyline" - << "Sketcher_CreateLine"; + << "Sketcher_CreateLine"; } } From 8ae1d9bbde2d2b120209eb1fd0bd5c2a007f2b8a Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Mar 2025 14:45:40 +0100 Subject: [PATCH 3/6] add line group checkbox in SketcherSettings.ui --- src/Mod/Sketcher/Gui/SketcherSettings.ui | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.ui b/src/Mod/Sketcher/Gui/SketcherSettings.ui index 8a7b37cfc5..15273bcada 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. + + + + Use the line command group instead of separate commands. This create a command group in which you have the polyline and line tool. + + + Group polyline and line + + + false + + + UnifiedLineCommands + + + Mod/Sketcher/Commands + + + From 255949134f8442f3b6cbcd86c27366f979657275 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Mar 2025 14:47:02 +0100 Subject: [PATCH 4/6] Add line group checkbox to SketcherSettings.cpp --- src/Mod/Sketcher/Gui/SketcherSettings.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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(); + } } /** From 2d5d1397a977d77f391cb471fda9985dc383ac0a Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Mar 2025 15:04:52 +0100 Subject: [PATCH 5/6] Update src/Mod/Sketcher/Gui/SketcherSettings.ui Co-authored-by: Furgo <148809153+furgo16@users.noreply.github.com> --- src/Mod/Sketcher/Gui/SketcherSettings.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.ui b/src/Mod/Sketcher/Gui/SketcherSettings.ui index 15273bcada..718263d71a 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.ui +++ b/src/Mod/Sketcher/Gui/SketcherSettings.ui @@ -200,7 +200,7 @@ Requires to re-enter edit mode to take effect. - Use the line command group instead of separate commands. This create a command group in which you have the polyline and line tool. + If checked, show a command group button that contains both the polyline and line commands. Otherwise, each command has its own separate button. Group polyline and line From 0814df748813fafad5e91d2f3b35acf746b2bd7e Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Mar 2025 15:05:00 +0100 Subject: [PATCH 6/6] Update src/Mod/Sketcher/Gui/SketcherSettings.ui Co-authored-by: Furgo <148809153+furgo16@users.noreply.github.com> --- src/Mod/Sketcher/Gui/SketcherSettings.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.ui b/src/Mod/Sketcher/Gui/SketcherSettings.ui index 718263d71a..3492cc5ef8 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.ui +++ b/src/Mod/Sketcher/Gui/SketcherSettings.ui @@ -203,7 +203,7 @@ 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 polyline and line + Group the polyline and line commands false