diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 6b6f28a46b..03f274b632 100644 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -145,6 +145,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._dialog.setActiveMode(active_mode) self._dialog.setMachineName(machine_name) self._dialog.setMaterialLabels(material_labels) + self._dialog.setHasObjectsOnPlate(Application.getInstance().getPlatformActivity) self._dialog.show() # Block until the dialog is closed. diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index cea935ba18..6db3a5cc97 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -38,6 +38,7 @@ class WorkspaceDialog(QObject): self._quality_type = "" self._machine_name = "" self._material_labels = [] + self._objects_on_plate = False machineConflictChanged = pyqtSignal() qualityChangesConflictChanged = pyqtSignal() @@ -49,6 +50,15 @@ class WorkspaceDialog(QObject): qualityTypeChanged = pyqtSignal() machineNameChanged = pyqtSignal() materialLabelsChanged = pyqtSignal() + objectsOnPlateChanged = pyqtSignal() + + @pyqtProperty(bool, notify=objectsOnPlateChanged) + def hasObjectsOnPlate(self): + return self._objects_on_plate + + def setHasObjectsOnPlate(self, objects_on_plate): + self._objects_on_plate = objects_on_plate + self.objectsOnPlateChanged.emit() @pyqtProperty("QVariantList", notify = materialLabelsChanged) def materialLabels(self): diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 5b5de4c84d..9ec437d247 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -284,6 +284,19 @@ UM.Dialog width: parent.width / 3 } } + Item // Spacer + { + height: spacerHeight + width: height + } + Label + { + text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the buildplate") + visible: manager.hasObjectsOnPlate + color: "red" + width: parent.width + wrapMode: Text.Wrap + } } } rightButtons: [