Просмотр исходного кода

Reset openAsUcp at the start of preread

CURA-11403
Saumya Jain 1 год назад
Родитель
Сommit
831a1d4876
2 измененных файлов с 5 добавлено и 3 удалено
  1. 2 1
      cura/CuraApplication.py
  2. 3 2
      plugins/3MFReader/ThreeMFWorkspaceReader.py

+ 2 - 1
cura/CuraApplication.py

@@ -1986,7 +1986,6 @@ class CuraApplication(QtApplication):
             Logger.warning(f"Workspace reader not found, cannot read file {file_name}.")
             return
 
-        workspace_reader.getReaderForFile(file_name).setOpenAsUcp(True)
         workspace_reader.readLocalFile(file, add_to_recent_files)
 
     @pyqtSlot(QUrl, str, bool)
@@ -2209,6 +2208,8 @@ class CuraApplication(QtApplication):
         if workspace_reader is None:
             return False  # non-project files won't get a reader
         try:
+            if workspace_reader.getPluginId() == "3MFReader":
+                workspace_reader.clearOpenAsUcp()
             result = workspace_reader.preRead(file_path, show_dialog=False)
             return result == WorkspaceReader.PreReadResult.accepted
         except:

+ 3 - 2
plugins/3MFReader/ThreeMFWorkspaceReader.py

@@ -152,8 +152,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
         self._machine_info = None
         self._user_settings = {}
 
-    def setOpenAsUcp(self, openAsUcp: bool):
-        self._is_ucp =  openAsUcp
+    def clearOpenAsUcp(self):
+        self._is_ucp =  None
 
     def getNewId(self, old_id: str):
         """Get a unique name based on the old_id. This is different from directly calling the registry in that it caches results.
@@ -208,6 +208,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
             raise FileNotFoundError("No global stack file found!")
 
         return global_stack_file_list[0], extruder_stack_file_list
+
     def _isProjectUcp(self, file_name) -> bool:
         if self._is_ucp == None:
             archive = zipfile.ZipFile(file_name, "r")