diff --git a/cura/Settings/QualitySettingsModel.py b/cura/Settings/QualitySettingsModel.py index e57e09e862..d0ba7f4e11 100644 --- a/cura/Settings/QualitySettingsModel.py +++ b/cura/Settings/QualitySettingsModel.py @@ -16,8 +16,9 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): LabelRole = Qt.UserRole + 2 UnitRole = Qt.UserRole + 3 ProfileValueRole = Qt.UserRole + 4 - UserValueRole = Qt.UserRole + 5 - CategoryRole = Qt.UserRole + 6 + ProfileValueSourceRole = Qt.UserRole + 5 + UserValueRole = Qt.UserRole + 6 + CategoryRole = Qt.UserRole + 7 def __init__(self, parent = None): super().__init__(parent = parent) @@ -33,6 +34,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): self.addRoleName(self.LabelRole, "label") self.addRoleName(self.UnitRole, "unit") self.addRoleName(self.ProfileValueRole, "profile_value") + self.addRoleName(self.ProfileValueSourceRole, "profile_value_source") self.addRoleName(self.UserValueRole, "user_value") self.addRoleName(self.CategoryRole, "category") @@ -170,9 +172,11 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): continue profile_value = None + profile_value_source = "" for container in containers: new_value = container.getProperty(definition.key, "value") if new_value is not None: + profile_value_source = container.getMetaDataEntry("type") profile_value = new_value user_value = None @@ -201,6 +205,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel): "label": definition.label, "unit": definition.unit, "profile_value": "" if profile_value is None else str(profile_value), # it is for display only + "profile_value_source": profile_value_source, "user_value": "" if user_value is None else str(user_value), "category": current_category }) diff --git a/resources/qml/Preferences/ProfileTab.qml b/resources/qml/Preferences/ProfileTab.qml index 630d524871..4a7192d4a7 100644 --- a/resources/qml/Preferences/ProfileTab.qml +++ b/resources/qml/Preferences/ProfileTab.qml @@ -32,6 +32,26 @@ Tab role: "profile_value" title: catalog.i18nc("@title:column", "Profile") width: parent.width * 0.18 + delegate: Rectangle + { + property var setting: qualitySettings.getItem(styleData.row) + height: childrenRect.height + color: "transparent" + width: (parent != null) ? parent.width : 0 + Label + { + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("default_margin").width + anchors.right: parent.right + text: styleData.value + font.weight: (setting.profile_value_source == "quality_changes") ? Font.Bold : Font.Normal + font.strikeout: quality == Cura.MachineManager.activeQualityId && setting.user_value != "" + opacity: font.strikeout ? 0.5 : 1 + color: styleData.textColor + elide: Text.ElideRight + } + } + } TableViewColumn { @@ -56,10 +76,13 @@ Tab model: Cura.QualitySettingsModel { + id: qualitySettings extruderId: base.extruderId extruderDefinition: base.extruderDefinition quality: base.quality != null ? base.quality : "" material: base.material != null ? base.material : "" } + + SystemPalette { id: palette } } }