From 100e1f4f40e5fe6c9a8587ed08f5f09a1e38e962 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 16 Nov 2016 13:10:42 +0100 Subject: [PATCH] Conflict in quality changes is now handled less naive Instead of only checking ID, we also check values of the QC CURA-1263 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 5 ++++- plugins/3MFReader/WorkspaceDialog.py | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index f2cb4c72a7..998fee5ccb 100644 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -78,7 +78,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader): # Check if quality changes already exists. quality_changes = self._container_registry.findInstanceContainers(id = container_id) if quality_changes: - quality_changes_conflict = True + # Check if there really is a conflict by comparing the values + if quality_changes[0] != instance_container: + quality_changes_conflict = True + break if machine_conflict or quality_changes_conflict: # There is a conflict; User should choose to either update the existing data, add everything as new data or abort diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index c90561e52d..bbac4fb557 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -43,9 +43,11 @@ class WorkspaceDialog(QObject): def setMachineConflict(self, machine_conflict): self._has_machine_conflict = machine_conflict + self.machineConflictChanged.emit() def setQualityChangesConflict(self, quality_changes_conflict): self._has_quality_changes_conflict = quality_changes_conflict + self.qualityChangesConflictChanged.emit() def getResult(self): return self._result