Browse Source

Format calculated functions in QualitySettingsModel itself

That way we don't have to re-format it in the display in the table.

Contributes to issue CURA-8686.
Ghostkeeper 3 years ago
parent
commit
5e5e0febb9
1 changed files with 8 additions and 2 deletions
  1. 8 2
      cura/Machines/Models/QualitySettingsModel.py

+ 8 - 2
cura/Machines/Models/QualitySettingsModel.py

@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Ultimaker B.V.
+# Copyright (c) 2022 Ultimaker B.V.
 # Cura is released under the terms of the LGPLv3 or higher.
 
 from PyQt5.QtCore import pyqtProperty, pyqtSignal, Qt
@@ -9,6 +9,7 @@ from UM import i18nCatalog
 from UM.Logger import Logger
 from UM.Qt.ListModel import ListModel
 from UM.Settings.ContainerRegistry import ContainerRegistry
+from UM.Settings.SettingFunction import SettingFunction  # To format setting functions differently.
 
 import os
 
@@ -174,11 +175,16 @@ class QualitySettingsModel(ListModel):
             if self._i18n_catalog:
                 label = self._i18n_catalog.i18nc(definition.key + " label", label)
 
+            if isinstance(profile_value, SettingFunction):
+                profile_value_display = self._i18n_catalog.i18nc("@info:status", "Calculated")
+            else:
+                profile_value_display = "" if profile_value is None else str(profile_value)
+
             items.append({
                 "key": definition.key,
                 "label": label,
                 "unit": definition.unit,
-                "profile_value": "" if profile_value is None else str(profile_value),  # it is for display only
+                "profile_value": profile_value_display,
                 "profile_value_source": profile_value_source,
                 "user_value": "" if user_value is None else str(user_value),
                 "category": current_category