Browse Source

Small cleanups for discard or keep behavior - CURA-4447

ChrisTerBeke 7 years ago
parent
commit
e9336b9b9e
2 changed files with 5 additions and 6 deletions
  1. 3 3
      cura/CuraApplication.py
  2. 2 3
      cura/Settings/MachineManager.py

+ 3 - 3
cura/CuraApplication.py

@@ -409,12 +409,10 @@ class CuraApplication(QtApplication):
 
     @pyqtSlot(str)
     def discardOrKeepProfileChangesClosed(self, option):
-        self.getMachineManager().activeQualityChanged.emit()
         if option == "discard":
             global_stack = self.getGlobalContainerStack()
             for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()):
                 extruder.getTop().clear()
-
             global_stack.getTop().clear()
 
         # if the user decided to keep settings then the user settings should be re-calculated and validated for errors
@@ -423,7 +421,6 @@ class CuraApplication(QtApplication):
             global_stack = self.getGlobalContainerStack()
             for extruder in ExtruderManager.getInstance().getMachineExtruders(global_stack.getId()):
                 user_extruder_container = extruder.getTop()
-
                 if user_extruder_container:
                     user_extruder_container.update()
 
@@ -431,6 +428,9 @@ class CuraApplication(QtApplication):
             if user_global_container:
                 user_global_container.update()
 
+        # notify listeners that quality has changed (after user selected discard or keep)
+        self.getMachineManager().activeQualityChanged.emit()
+
     @pyqtSlot(int)
     def messageBoxClosed(self, button):
         if self._message_box_callback:

+ 2 - 3
cura/Settings/MachineManager.py

@@ -815,6 +815,7 @@ class MachineManager(QObject):
     #   \param quality_id The quality_id of either a quality or a quality_changes
     @pyqtSlot(str)
     def setActiveQuality(self, quality_id: str):
+        print("set active quality")
         with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue):
             self.blurSettings.emit()
 
@@ -858,10 +859,9 @@ class MachineManager(QObject):
             for stack in name_changed_connect_stacks:
                 stack.nameChanged.connect(self._onQualityNameChanged)
 
-            has_user_interaction = False
             if self.hasUserSettings and Preferences.getInstance().getValue("cura/active_mode") == 1:
                 # Show the keep/discard user settings dialog
-                has_user_interaction = Application.getInstance().discardOrKeepProfileChanges()
+                Application.getInstance().discardOrKeepProfileChanges()
             else:
                 # If the user doesn't have any of adjusted settings then slicing will be triggered by emit()
                 # Send emits that are postponed in replaceContainer.
@@ -869,7 +869,6 @@ class MachineManager(QObject):
                 for setting_info in new_quality_settings_list:
                     setting_info["stack"].sendPostponedEmits()
 
-            if not has_user_interaction:
                 self.activeQualityChanged.emit()
 
     ##  Determine the quality and quality changes settings for the current machine for a quality name.