Assembly: CommandInsertLink: Hide hidden objects

This commit is contained in:
PaddleStroke
2024-10-24 23:08:05 -05:00
committed by Chris Hennes
parent 72316d0f96
commit a76027ce91
+21
View File
@@ -92,6 +92,7 @@ class TaskAssemblyInsertLink(QtCore.QObject):
self.assembly = assembly
self.view = view
self.doc = App.ActiveDocument
self.showHidden = False
self.form = Gui.PySideUic.loadUi(":/panels/TaskAssemblyInsertLink.ui")
self.form.installEventFilter(self)
@@ -172,6 +173,9 @@ class TaskAssemblyInsertLink(QtCore.QObject):
continue # Prevent dependency loop.
# For instance if asm1/asm2 with asm2 active, we don't want to have asm1 in the list
if not obj.ViewObject.ShowInTree and not self.showHidden:
continue
if (
obj.isDerivedFrom("Part::Feature")
or obj.isDerivedFrom("App::Part")
@@ -541,9 +545,26 @@ class TaskAssemblyInsertLink(QtCore.QObject):
self.form.partList.setItemSelected(item, False)
return True
else:
menu = QtWidgets.QMenu()
# Add the checkbox action
showHiddenAction = QtWidgets.QAction("Show objects hidden in tree view", menu)
showHiddenAction.setCheckable(True)
showHiddenAction.setChecked(self.showHidden)
# Connect the action to toggle `self.showHidden`
showHiddenAction.toggled.connect(self.toggleShowHidden)
menu.addAction(showHiddenAction)
menu.exec_(event.globalPos())
return True
return super().eventFilter(watched, event)
def toggleShowHidden(self, checked):
self.showHidden = checked
self.buildPartList()
def getTranslationVec(self, part):
bb = part.Shape.BoundBox
if bb: