diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index c7a15e043e..ac94282136 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -41,18 +41,11 @@ class ThreeMFReader(MeshReader): MimeTypeDatabase.addMimeType( MimeType( - name = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"] ) ) - MimeTypeDatabase.addMimeType( - MimeType( - name="application/x-ucp", - comment="UCP", - suffixes=["3mf"] - ) - ) self._supported_extensions = [".3mf"] self._root = None diff --git a/plugins/3MFWriter/UCPDialog.py b/plugins/3MFWriter/UCPDialog.py index 8e62666818..b2ad5834eb 100644 --- a/plugins/3MFWriter/UCPDialog.py +++ b/plugins/3MFWriter/UCPDialog.py @@ -29,15 +29,21 @@ class UCPDialog(QObject): plugin_path = os.path.dirname(__file__) dialog_path = os.path.join(plugin_path, 'UCPDialog.qml') self._model = SettingsExportModel() - self._view = CuraApplication.getInstance().createQmlComponent(dialog_path, - {"manager": self, - "settingsExportModel": self._model}) + self._view = CuraApplication.getInstance().createQmlComponent( + dialog_path, + { + "manager": self, + "settingsExportModel": self._model + } + ) self._view.accepted.connect(self._onAccepted) self._view.rejected.connect(self._onRejected) self._finished = False self._accepted = False def show(self) -> None: + self._finished = False + self._accepted = False self._view.show() def getModel(self) -> SettingsExportModel: @@ -67,8 +73,13 @@ class UCPDialog(QObject): file_name = CuraApplication.getInstance().getPrintInformation().baseName try: - device.requestWrite(nodes, file_name, ["application/x-ucp"], workspace_handler, - preferred_mimetype_list="application/x-ucp") + device.requestWrite( + nodes, + file_name, + ["application/vnd.ms-package.3dmanufacturing-3dmodel+xml"], + workspace_handler, + preferred_mimetype_list="application/vnd.ms-package.3dmanufacturing-3dmodel+xml" + ) except OutputDeviceError.UserCanceledError: self._onRejected() except Exception as e: @@ -90,11 +101,13 @@ class UCPDialog(QObject): self._onFinished() def _onFinished(self): - if not self._finished: # Make sure we don't send the finished signal twice, whatever happens - self._finished = True + # Make sure we don't send the finished signal twice, whatever happens + if self._finished: + return + self._finished = True - # Reset the model to the workspace writer - mesh_writer = CuraApplication.getInstance().getInstance().getWorkspaceFileHandler().getWriter("3MFWriter") - mesh_writer.setExportModel(None) + # Reset the model to the workspace writer + mesh_writer = CuraApplication.getInstance().getInstance().getWorkspaceFileHandler().getWriter("3MFWriter") + mesh_writer.setExportModel(None) - self.finished.emit(self._accepted) + self.finished.emit(self._accepted) diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 1cecf4c3f8..0b2976c386 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -32,12 +32,6 @@ def getMetaData(): "description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"), "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode - }, - { - "extension": "3mf", - "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), - "mime_type": "application/x-ucp", - "mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode } ] } @@ -48,12 +42,6 @@ def getMetaData(): "description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"), "mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode - }, - { - "extension": "3mf", - "description": i18n_catalog.i18nc("@item:inlistbox", "Universal Cura Project"), - "mime_type": "application/x-ucp", - "mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode } ] }