From 77c894694e1c37d2442db8ed4653f30008e8bf3a Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Tue, 2 Jul 2024 13:48:09 +0200 Subject: [PATCH] BIM: Fixed possible filename ambiguity in Layers - fixes #15038 --- src/Mod/BIM/Resources/Arch.qrc | 2 +- .../Resources/ui/{dialogLayers.ui => dialogLayersIFC.ui} | 0 src/Mod/BIM/bimcommands/BimLayers.py | 8 ++++++-- 3 files changed, 7 insertions(+), 3 deletions(-) rename src/Mod/BIM/Resources/ui/{dialogLayers.ui => dialogLayersIFC.ui} (100%) diff --git a/src/Mod/BIM/Resources/Arch.qrc b/src/Mod/BIM/Resources/Arch.qrc index 417015ba01..4e57e98778 100644 --- a/src/Mod/BIM/Resources/Arch.qrc +++ b/src/Mod/BIM/Resources/Arch.qrc @@ -179,7 +179,7 @@ ui/dialogIfcPropertiesRedux.ui ui/dialogIfcQuantities.ui ui/dialogImport.ui - ui/dialogLayers.ui + ui/dialogLayersIFC.ui ui/dialogLibrary.ui ui/dialogListWidget.ui ui/dialogMaterialChooser.ui diff --git a/src/Mod/BIM/Resources/ui/dialogLayers.ui b/src/Mod/BIM/Resources/ui/dialogLayersIFC.ui similarity index 100% rename from src/Mod/BIM/Resources/ui/dialogLayers.ui rename to src/Mod/BIM/Resources/ui/dialogLayersIFC.ui diff --git a/src/Mod/BIM/bimcommands/BimLayers.py b/src/Mod/BIM/bimcommands/BimLayers.py index 9f7e47f130..27dd6bbb66 100644 --- a/src/Mod/BIM/bimcommands/BimLayers.py +++ b/src/Mod/BIM/bimcommands/BimLayers.py @@ -73,7 +73,7 @@ class BIM_Layers: self.assignList = {} # create the dialog - self.dialog = FreeCADGui.PySideUic.loadUi(":/ui/dialogLayers.ui") + self.dialog = FreeCADGui.PySideUic.loadUi(":/ui/dialogLayersIFC.ui") # store the ifc icon self.ifcicon = QtGui.QIcon(":/icons/IFC.svg") @@ -166,6 +166,10 @@ class BIM_Layers: changed = True if self.model.item(row, 1).icon().isNull(): obj = Draft.make_layer(self.model.item(row, 1).text()) + # By default BIM layers should not swallow their children otherwise + # they will disappear from the tree root + obj.ViewObject.addProperty("App::PropertyBool", "HideChildren", "Layer") + obj.ViewObject.HideChildren = True else: from nativeifc import ifc_tools import FreeCADGui @@ -510,7 +514,7 @@ class BIM_Layers: self.assignList.setdefault(target.Name, []) for i in selected: if i not in self.assignList[target.Name]: - self.ssignList[target.Name].append(i) + self.assignList[target.Name].append(i) if FreeCAD.GuiUp: