Merge pull request #18754 from Ultimaker/CURA-11783-enum-instead-of-text-value

Cura 11783 enum instead of text value
This commit is contained in:
HellAholic 2024-03-29 15:26:51 +01:00 committed by GitHub
commit 6d5966472c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 42 additions and 6 deletions

View file

@ -3,6 +3,7 @@
from PyQt6.QtCore import Qt, pyqtSignal
from UM import i18nCatalog
from UM.Logger import Logger
from UM.Settings.SettingDefinition import SettingDefinition
from UM.Qt.ListModel import ListModel
@ -19,7 +20,7 @@ class SpecificSettingsModel(ListModel):
self.addRoleName(self.LabelRole, "label")
self.addRoleName(self.ValueRole, "value")
self._i18n_catalog = None
self._settings_catalog = i18nCatalog("fdmprinter.def.json")
self._update()
modelChanged = pyqtSignal()
@ -32,13 +33,24 @@ class SpecificSettingsModel(ListModel):
setting_type = stack.getProperty(setting, "type")
if setting_type is not None:
# This is not very good looking, but will do for now
value = str(SettingDefinition.settingValueToString(setting_type, value)) + " " + str(unit)
value = str(SettingDefinition.settingValueToString(setting_type, value))
if unit:
value += " " + str(unit)
if setting_type == "enum":
options = stack.getProperty(setting, "options")
value_msgctxt = f"{str(setting)} option {str(value)}"
value_msgid = options[stack.getProperty(setting, "value")]
value = self._settings_catalog.i18nc(value_msgctxt, value_msgid)
else:
value = str(value)
label_msgctxt = f"{str(setting)} label"
label_msgid = stack.getProperty(setting, "label")
label = self._settings_catalog.i18nc(label_msgctxt, label_msgid)
self.appendItem({
"category": category,
"label": stack.getProperty(setting, "label"),
"label": label,
"value": value
})
self.modelChanged.emit()

View file

@ -216,6 +216,16 @@ UM.Dialog
headers: ["category", "label", "value"]
rows: manager.exportedSettingModelItems
}
Connections
{
target: manager
function onExportedSettingModelChanged()
{
tableModel.clear()
tableModel.rows = manager.exportedSettingModelItems
}
}
}
}