From 6110d90876fd399eff391cfbbbaa7112cac888e8 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Wed, 12 Nov 2025 18:03:06 +0100 Subject: [PATCH 1/2] Gui: Save previous default for overlay widgets For some reason the empty layout was not saved for users with existing config. To ensure that the change does not affect existing users and is persistent for current ones we need to save value with older default before using it. Previous solution did not work correctly as the widgets were not persisted correctly. --- src/Gui/OverlayWidgets.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Gui/OverlayWidgets.cpp b/src/Gui/OverlayWidgets.cpp index 74d8e44ae6..89f2c7590b 100644 --- a/src/Gui/OverlayWidgets.cpp +++ b/src/Gui/OverlayWidgets.cpp @@ -801,14 +801,14 @@ void OverlayTabWidget::restore(ParameterGrp::handle handle) return; } - const char* defaultWidgets = ""; - // If overlay was ever used and disabled by the user it should respect that choice - if (handle->GetInt("Width", 0) == 0 || handle->GetInt("Height", 0) == 0) { - defaultWidgets = getDockArea() == Qt::RightDockWidgetArea ? "Tasks," : ""; + if (handle->GetInt("Width", 0) != 0 || handle->GetInt("Height", 0) != 0) { + // save current value with old default to prevent layout change + handle->SetASCII("Widgets", handle->GetASCII("Widgets", "")); } - std::string widgets = handle->GetASCII("Widgets", defaultWidgets); + std::string widgets + = handle->GetASCII("Widgets", getDockArea() == Qt::RightDockWidgetArea ? "Tasks," : ""); for (auto& name : QString::fromUtf8(widgets.c_str()).split(QLatin1Char(','))) { if (name.isEmpty()) { From b54f49e7b07a709d70e35d3f0c9391d8edb2c42a Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 13 Nov 2025 12:05:17 +0100 Subject: [PATCH 2/2] Assembly: BOM: fix settings not applied (#25269) --- src/Mod/Assembly/CommandCreateBom.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Mod/Assembly/CommandCreateBom.py b/src/Mod/Assembly/CommandCreateBom.py index a84354dd00..7ab6af08d4 100644 --- a/src/Mod/Assembly/CommandCreateBom.py +++ b/src/Mod/Assembly/CommandCreateBom.py @@ -125,10 +125,6 @@ class TaskAssemblyCreateBom(QtCore.QObject): self.addColItem(name) self.bomObj = bomObj - self.form.CheckBox_onlyParts.setChecked(bomObj.onlyParts) - self.form.CheckBox_detailParts.setChecked(bomObj.detailParts) - self.form.CheckBox_detailSubAssemblies.setChecked(bomObj.detailSubAssemblies) - else: App.setActiveTransaction("Create Bill Of Materials") @@ -137,11 +133,13 @@ class TaskAssemblyCreateBom(QtCore.QObject): self.addColItem(name) self.createBomObject() - self.form.CheckBox_onlyParts.setChecked(pref.GetBool("BOMOnlyParts", False)) - self.form.CheckBox_detailParts.setChecked(pref.GetBool("BOMDetailParts", True)) - self.form.CheckBox_detailSubAssemblies.setChecked( - pref.GetBool("BOMDetailSubAssemblies", True) - ) + self.bomObj.onlyParts = pref.GetBool("BOMOnlyParts", False) + self.bomObj.detailParts = pref.GetBool("BOMDetailParts", True) + self.bomObj.detailSubAssemblies = pref.GetBool("BOMDetailSubAssemblies", True) + + self.form.CheckBox_onlyParts.setChecked(self.bomObj.onlyParts) + self.form.CheckBox_detailParts.setChecked(self.bomObj.detailParts) + self.form.CheckBox_detailSubAssemblies.setChecked(self.bomObj.detailSubAssemblies) self.form.columnList.model().rowsMoved.connect(self.onItemsReordered) self.form.columnList.itemChanged.connect(self.itemUpdated)