Reset openAsUcp at the start of preread

CURA-11403
This commit is contained in:
Saumya Jain 2024-03-06 12:32:05 +01:00
parent 3aefe729ed
commit 831a1d4876
2 changed files with 5 additions and 3 deletions

View file

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

View file

@ -152,8 +152,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
self._machine_info = None self._machine_info = None
self._user_settings = {} self._user_settings = {}
def setOpenAsUcp(self, openAsUcp: bool): def clearOpenAsUcp(self):
self._is_ucp = openAsUcp self._is_ucp = None
def getNewId(self, old_id: str): 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. """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!") raise FileNotFoundError("No global stack file found!")
return global_stack_file_list[0], extruder_stack_file_list return global_stack_file_list[0], extruder_stack_file_list
def _isProjectUcp(self, file_name) -> bool: def _isProjectUcp(self, file_name) -> bool:
if self._is_ucp == None: if self._is_ucp == None:
archive = zipfile.ZipFile(file_name, "r") archive = zipfile.ZipFile(file_name, "r")