From 8940097265ded47180d1af1e007c908890e942eb Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 7 Oct 2019 21:35:28 +0200 Subject: [PATCH] Separate black and grey text for quality menu CURA-6846 --- cura/Settings/MachineManager.py | 21 ++++++++++++------- .../Custom/CustomPrintSetup.qml | 18 +++++++++++++--- .../PrintSetupSelectorHeader.qml | 7 ++++++- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 57da690d6d..a4ff8fbbfa 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1592,18 +1592,20 @@ class MachineManager(QObject): if not no_dialog and self.hasUserSettings and self._application.getPreferences().getValue("cura/active_mode") == 1: self._application.discardOrKeepProfileChanges() - # The display name of currently active quality. + # The display name map of currently active quality. + # The display name has 2 parts, a main part and a suffix part. # This display name is: # - For built-in qualities (quality/intent): the quality type name, such as "Fine", "Normal", etc. # - For custom qualities: - - # Examples: # - "my_profile - Fine" (only based on a default quality, no intent involved) # - "my_profile - Engineering - Fine" (based on an intent) - @pyqtProperty(str, notify = activeQualityDisplayNameChanged) - def activeQualityDisplayName(self) -> str: + @pyqtProperty("QVariantMap", notify = activeQualityDisplayNameChanged) + def activeQualityDisplayNameMap(self) -> Dict[str, str]: global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() if global_stack is None: - return "" + return {"main": "", + "suffix": ""} display_name = global_stack.quality.getName() @@ -1612,13 +1614,18 @@ class MachineManager(QObject): intent_display_name = IntentCategoryModel.name_translation.get(intent_category, catalog.i18nc("@label", "Unknown")) display_name = "{intent_name} - {the_rest}".format(intent_name = intent_display_name, - the_rest = display_name) + the_rest = display_name) + + main_part = display_name + suffix_part = "" # Not a custom quality if global_stack.qualityChanges != empty_quality_changes_container: - display_name = self.activeQualityOrQualityChangesName + " - " + display_name + main_part = self.activeQualityOrQualityChangesName + suffix_part = display_name - return display_name + return {"main": main_part, + "suffix": suffix_part} ## Change the intent category of the current printer. # diff --git a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml index a297b0a769..2698089d0c 100644 --- a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml @@ -100,18 +100,30 @@ Item function generateActiveQualityText() { - var result = Cura.MachineManager.activeQualityDisplayName + var resultMap = Cura.MachineManager.activeQualityDisplayNameMap + var resultMain = resultMap["main"] + var resultSuffix = resultMap["suffix"] + var result = "" if (Cura.MachineManager.isActiveQualityExperimental) { - result += " (Experimental)" + resultSuffix += " (Experimental)" } if (Cura.MachineManager.isActiveQualitySupported) { if (Cura.MachineManager.activeQualityLayerHeight > 0) { - result += " " + result = resultMain + if (resultSuffix) + { + result += " - " + } + result += "" + if (resultSuffix) + { + result += resultSuffix + } result += " - " result += Cura.MachineManager.activeQualityLayerHeight + "mm" result += "" diff --git a/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml b/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml index bb3a986929..a23b87fdbe 100644 --- a/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml +++ b/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml @@ -20,7 +20,12 @@ RowLayout { if (Cura.MachineManager.activeStack) { - var text = Cura.MachineManager.activeQualityDisplayName + var resultMap = Cura.MachineManager.activeQualityDisplayNameMap + var text = resultMap["main"] + if (resultMap["suffix"]) + { + text += " - " + resultMap["suffix"] + } if (!Cura.MachineManager.hasNotSupportedQuality) {