Resolvement strategy for bed adhesion and prime tower enable.

Contributes to CURA-2232 No resolvement strategy for prime_tower_enable and platform adhesion
This commit is contained in:
Simon Edwards 2016-09-13 14:04:49 +02:00
parent bab9e8a28a
commit 0fdd9279bb
3 changed files with 41 additions and 6 deletions

View file

@ -20,18 +20,40 @@ SettingItem
property bool checked:
{
switch(propertyProvider.properties.value)
// FIXME this needs to go away once 'resolve' is combined with 'value' in our data model.
// Stacklevels
// 0: user -> unsaved change
// 1: quality changes -> saved change
// 2: quality
// 3: material -> user changed material in materials page
// 4: variant
// 5: machine
var value;
if ((propertyProvider.properties.resolve != "None") && (stackLevel != 0) && (stackLevel != 1)) {
// We have a resolve function. Indicates that the setting is not settable per extruder and that
// we have to choose between the resolved value (default) and the global value
// (if user has explicitly set this).
value = propertyProvider.properties.resolve;
} else {
value = propertyProvider.properties.value;
}
switch(value)
{
case "True":
return true
return true;
case "False":
return false
return false;
default:
return propertyProvider.properties.value
return value;
}
}
onClicked: { forceActiveFocus(); propertyProvider.setPropertyValue("value", !checked) }
onClicked:
{
forceActiveFocus();
propertyProvider.setPropertyValue("value", !checked);
}
Rectangle
{

View file

@ -96,8 +96,19 @@ SettingItem
}
function updateCurrentIndex() {
// FIXME this needs to go away once 'resolve' is combined with 'value' in our data model.
var value;
if ((propertyProvider.properties.resolve != "None") && (stackLevel != 0) && (stackLevel != 1)) {
// We have a resolve function. Indicates that the setting is not settable per extruder and that
// we have to choose between the resolved value (default) and the global value
// (if user has explicitly set this).
value = propertyProvider.properties.resolve;
} else {
value = propertyProvider.properties.value;
}
for(var i = 0; i < definition.options.length; ++i) {
if(definition.options[i].key == propertyProvider.properties.value) {
if(definition.options[i].key == value) {
currentIndex = i;
return;
}