From 5e50a8fe0bdd903626df477708e422317c4d0bbf Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 13 Apr 2017 00:50:03 +0200 Subject: [PATCH] Show value from definition if it is not defined in the material profile This way you get sane defaults if no value is provided in the material xml file, instead of 0s --- resources/qml/Preferences/MaterialView.qml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index d1b3a76f50..226fd349bf 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -273,17 +273,28 @@ TabView { id: spinBox anchors.left: label.right - value: (provider.properties.value != "None") ? parseFloat(provider.properties.value) : 0 - width: base.secondColumnWidth; + value: { + if (!isNaN(parseFloat(materialPropertyProvider.properties.value))) + { + return parseFloat(materialPropertyProvider.properties.value); + } + if (!isNaN(parseFloat(machinePropertyProvider.properties.value))) + { + return parseFloat(machinePropertyProvider.properties.value); + } + return 0; + } + width: base.secondColumnWidth readOnly: !base.editingEnabled suffix: " " + model.unit maximumValue: 99999 decimals: model.unit == "mm" ? 2 : 0 - onEditingFinished: provider.setPropertyValue("value", value) + onEditingFinished: materialPropertyProvider.setPropertyValue("value", value) } - UM.ContainerPropertyProvider { id: provider; containerId: base.containerId; watchedProperties: [ "value" ]; key: model.key } + UM.ContainerPropertyProvider { id: materialPropertyProvider; containerId: base.containerId; watchedProperties: [ "value" ]; key: model.key } + UM.ContainerPropertyProvider { id: machinePropertyProvider; containerId: Cura.MachineManager.activeDefinitionId; watchedProperties: [ "value" ]; key: model.key } } } }