def _readLocalFile(self, file: QUrl) -> None: from UM.FileHandler.ReadFileJob import ReadFileJob filename = file.toLocalFile() job = ReadFileJob( filename, handler=self, add_to_recent_files=self.getAddToRecentFilesHint(filename)) job.finished.connect(self._readWorkspaceFinished) job.start()
def _readLocalFile(self, file: QUrl, add_to_recent_files_hint: bool = True) -> None: from UM.FileHandler.ReadFileJob import ReadFileJob filename = file.toLocalFile() job = ReadFileJob(filename, handler=self, add_to_recent_files=add_to_recent_files_hint) job.finished.connect(self._readWorkspaceFinished) job.start()
def _readWorkspaceFinished(self, job: ReadFileJob) -> None: # Add the loaded nodes to the scene. nodes = job.getResult() if nodes is not None: # Job was not a failure. # Delete all old nodes. self._application.deleteAll() # The name of the project is set after deleting all self._application.workspaceLoaded.emit(job._filename) # Add the loaded nodes to the scene. nodes = job.getResult() for node in nodes: # We need to prevent circular dependency, so do some just in time importing. from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation op = AddSceneNodeOperation(node, self._application.getController().getScene().getRoot()) op.push() self._application.getController().getScene().sceneChanged.emit(node)
def _readWorkspaceFinished(self, job: ReadFileJob) -> None: # Add the loaded nodes to the scene. nodes = job.getResult() if nodes is not None: # Job was not a failure. # Delete all old nodes. self._application.deleteAll() # The name of the project is set after deleting all self._application.workspaceLoaded.emit(job._filename) # Add the loaded nodes to the scene. nodes = job.getResult() for node in nodes: # We need to prevent circular dependency, so do some just in time importing. from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation op = AddSceneNodeOperation(node, self._application.getController().getScene().getRoot()) op.push() self._application.getController().getScene().sceneChanged.emit(node)
def _readWorkspaceFinished(self, job: ReadFileJob) -> None: # Add the loaded nodes to the scene. result = job.getResult() if isinstance(result, tuple): nodes, metadata = result else: nodes = result metadata = {} if nodes is not None: # Job was not a failure. self._application.resetWorkspace() for node in nodes: # We need to prevent circular dependency, so do some just in time importing. from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation op = AddSceneNodeOperation(node, self._application.getController().getScene().getRoot()) op.push() self._application.getWorkspaceMetadataStorage().setAllData(metadata) self._application.workspaceLoaded.emit(cast(WorkspaceReader, self.workspace_reader).workspaceName())
def _readLocalFile(self, file: QUrl) -> None: from UM.FileHandler.ReadFileJob import ReadFileJob job = ReadFileJob(file.toLocalFile(), handler=self) job.finished.connect(self._readWorkspaceFinished) job.start()
def _readLocalFile(self, file: QUrl) -> None: from UM.FileHandler.ReadFileJob import ReadFileJob job = ReadFileJob(file.toLocalFile(), handler = self) job.finished.connect(self._readWorkspaceFinished) job.start()