mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 06:19:05 +08:00
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:
parent
bab9e8a28a
commit
0fdd9279bb
@ -2705,6 +2705,7 @@
|
|||||||
"raft": "Raft"
|
"raft": "Raft"
|
||||||
},
|
},
|
||||||
"default_value": "brim",
|
"default_value": "brim",
|
||||||
|
"resolve": "'raft' if 'raft' in extruderValues('adhesion_type') else ('brim' if 'brim' in extruderValues('adhesion_type') else 'skirt')",
|
||||||
"settable_per_mesh": false,
|
"settable_per_mesh": false,
|
||||||
"settable_per_extruder": false
|
"settable_per_extruder": false
|
||||||
},
|
},
|
||||||
@ -3296,6 +3297,7 @@
|
|||||||
"type": "bool",
|
"type": "bool",
|
||||||
"enabled": "machine_extruder_count > 1",
|
"enabled": "machine_extruder_count > 1",
|
||||||
"default_value": false,
|
"default_value": false,
|
||||||
|
"resolve": "max(extruderValues('prime_tower_enable'))",
|
||||||
"settable_per_mesh": false,
|
"settable_per_mesh": false,
|
||||||
"settable_per_extruder": false
|
"settable_per_extruder": false
|
||||||
},
|
},
|
||||||
|
@ -20,18 +20,40 @@ SettingItem
|
|||||||
|
|
||||||
property bool checked:
|
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":
|
case "True":
|
||||||
return true
|
return true;
|
||||||
case "False":
|
case "False":
|
||||||
return false
|
return false;
|
||||||
default:
|
default:
|
||||||
return propertyProvider.properties.value
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onClicked: { forceActiveFocus(); propertyProvider.setPropertyValue("value", !checked) }
|
onClicked:
|
||||||
|
{
|
||||||
|
forceActiveFocus();
|
||||||
|
propertyProvider.setPropertyValue("value", !checked);
|
||||||
|
}
|
||||||
|
|
||||||
Rectangle
|
Rectangle
|
||||||
{
|
{
|
||||||
|
@ -96,8 +96,19 @@ SettingItem
|
|||||||
}
|
}
|
||||||
|
|
||||||
function updateCurrentIndex() {
|
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) {
|
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;
|
currentIndex = i;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user