mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-24 15:13:56 -06:00
Merge branch 'master' into CURA-4333_Notification_icon_for_recommended_mode
This commit is contained in:
commit
b59b245bff
35 changed files with 673 additions and 295 deletions
|
@ -204,7 +204,7 @@ Item
|
|||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2)
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height / 2)
|
||||
color: (Cura.MachineManager.activeMachine != null && Cura.ProfilesModel.getItem(index).available) ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
|
||||
text:
|
||||
{
|
||||
|
@ -223,13 +223,13 @@ Item
|
|||
// Make sure the text aligns correctly with each tick
|
||||
if (qualityModel.totalTicks == 0) {
|
||||
// If there is only one tick, align it centrally
|
||||
return parseInt(((base.width * 0.55) - width) / 2)
|
||||
return Math.floor(((base.width * 0.55) - width) / 2)
|
||||
} else if (index == 0) {
|
||||
return (base.width * 0.55 / qualityModel.totalTicks) * index
|
||||
} else if (index == qualityModel.totalTicks) {
|
||||
return (base.width * 0.55 / qualityModel.totalTicks) * index - width
|
||||
} else {
|
||||
return parseInt((base.width * 0.55 / qualityModel.totalTicks) * index - (width / 2))
|
||||
return Math.floor((base.width * 0.55 / qualityModel.totalTicks) * index - (width / 2))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -373,10 +373,13 @@ Item
|
|||
anchors.top: speedSlider.bottom
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.right: speedSlider.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
text: catalog.i18nc("@label", "Print Speed")
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
Label
|
||||
|
@ -442,7 +445,7 @@ Item
|
|||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height * 2
|
||||
anchors.left: parent.left
|
||||
|
||||
width: UM.Theme.getSize("sidebar").width * .45 - UM.Theme.getSize("sidebar_margin").width
|
||||
width: Math.floor(UM.Theme.getSize("sidebar").width * .45 - UM.Theme.getSize("sidebar_margin").width)
|
||||
|
||||
Label
|
||||
{
|
||||
|
@ -452,7 +455,7 @@ Item
|
|||
color: UM.Theme.getColor("text")
|
||||
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height * 1.7
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height * 1.7)
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
}
|
||||
|
@ -463,7 +466,7 @@ Item
|
|||
id: infillCellRight
|
||||
|
||||
height: infillSlider.height + UM.Theme.getSize("sidebar_margin").height + enableGradualInfillCheckBox.visible * (enableGradualInfillCheckBox.height + UM.Theme.getSize("sidebar_margin").height)
|
||||
width: UM.Theme.getSize("sidebar").width * .55
|
||||
width: Math.floor(UM.Theme.getSize("sidebar").width * .55)
|
||||
|
||||
anchors.left: infillCellLeft.right
|
||||
anchors.top: infillCellLeft.top
|
||||
|
@ -474,10 +477,10 @@ Item
|
|||
|
||||
//anchors.top: parent.top
|
||||
anchors.left: infillSlider.left
|
||||
anchors.leftMargin: (infillSlider.value / infillSlider.stepSize) * (infillSlider.width / (infillSlider.maximumValue / infillSlider.stepSize)) - 10 * screenScaleFactor
|
||||
anchors.leftMargin: Math.floor((infillSlider.value / infillSlider.stepSize) * (infillSlider.width / (infillSlider.maximumValue / infillSlider.stepSize)) - 10 * screenScaleFactor)
|
||||
anchors.right: parent.right
|
||||
|
||||
text: parseInt(infillDensity.properties.value) + "%"
|
||||
text: Math.floor(infillDensity.properties.value) + "%"
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
|
||||
color: infillSlider.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
|
||||
|
@ -487,7 +490,7 @@ Item
|
|||
Binding {
|
||||
target: infillSlider
|
||||
property: "value"
|
||||
value: parseInt(infillDensity.properties.value)
|
||||
value: Math.floor(infillDensity.properties.value)
|
||||
}
|
||||
|
||||
Slider
|
||||
|
@ -500,7 +503,7 @@ Item
|
|||
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
|
||||
height: UM.Theme.getSize("sidebar_margin").height
|
||||
width: infillCellRight.width - UM.Theme.getSize("sidebar_margin").width - style.handleWidth
|
||||
width: Math.floor(infillCellRight.width - UM.Theme.getSize("sidebar_margin").width - style.handleWidth)
|
||||
|
||||
minimumValue: 0
|
||||
maximumValue: 100
|
||||
|
@ -508,15 +511,15 @@ Item
|
|||
tickmarksEnabled: true
|
||||
|
||||
// disable slider when gradual support is enabled
|
||||
enabled: parseInt(infillSteps.properties.value) == 0
|
||||
enabled: Math.floor(infillSteps.properties.value) == 0
|
||||
|
||||
// set initial value from stack
|
||||
value: parseInt(infillDensity.properties.value)
|
||||
value: Math.floor(infillDensity.properties.value)
|
||||
|
||||
onValueChanged: {
|
||||
|
||||
// Don't round the value if it's already the same
|
||||
if (parseInt(infillDensity.properties.value) == infillSlider.value) {
|
||||
if (Math.floor(infillDensity.properties.value) == infillSlider.value) {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -585,7 +588,7 @@ Item
|
|||
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2)
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height / 2)
|
||||
|
||||
// we loop over all density icons and only show the one that has the current density and steps
|
||||
Repeater
|
||||
|
@ -596,8 +599,8 @@ Item
|
|||
|
||||
property int activeIndex: {
|
||||
for (var i = 0; i < infillModel.count; i++) {
|
||||
var density = parseInt(infillDensity.properties.value)
|
||||
var steps = parseInt(infillSteps.properties.value)
|
||||
var density = Math.floor(infillDensity.properties.value)
|
||||
var steps = Math.floor(infillSteps.properties.value)
|
||||
var infillModelItem = infillModel.get(i)
|
||||
|
||||
if (density >= infillModelItem.percentageMin
|
||||
|
@ -636,13 +639,13 @@ Item
|
|||
property alias _hovered: enableGradualInfillMouseArea.containsMouse
|
||||
|
||||
anchors.top: infillSlider.bottom
|
||||
anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height / 2) // closer to slider since it belongs to the same category
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height / 2) // closer to slider since it belongs to the same category
|
||||
anchors.left: infillCellRight.left
|
||||
|
||||
style: UM.Theme.styles.checkbox
|
||||
enabled: base.settingsEnabled
|
||||
visible: infillSteps.properties.enabled == "True"
|
||||
checked: parseInt(infillSteps.properties.value) > 0
|
||||
checked: Math.floor(infillSteps.properties.value) > 0
|
||||
|
||||
MouseArea {
|
||||
id: enableGradualInfillMouseArea
|
||||
|
@ -651,18 +654,18 @@ Item
|
|||
hoverEnabled: true
|
||||
enabled: true
|
||||
|
||||
property var previousInfillDensity: parseInt(infillDensity.properties.value)
|
||||
property var previousInfillDensity: Math.floor(infillDensity.properties.value)
|
||||
|
||||
onClicked: {
|
||||
// Set to 90% only when enabling gradual infill
|
||||
if (parseInt(infillSteps.properties.value) == 0) {
|
||||
previousInfillDensity = parseInt(infillDensity.properties.value)
|
||||
if (Math.floor(infillSteps.properties.value) == 0) {
|
||||
previousInfillDensity = Math.floor(infillDensity.properties.value)
|
||||
infillDensity.setPropertyValue("value", String(90))
|
||||
} else {
|
||||
infillDensity.setPropertyValue("value", String(previousInfillDensity))
|
||||
}
|
||||
|
||||
infillSteps.setPropertyValue("value", (parseInt(infillSteps.properties.value) == 0) ? 5 : 0)
|
||||
infillSteps.setPropertyValue("value", (Math.floor(infillSteps.properties.value) == 0) ? 5 : 0)
|
||||
}
|
||||
|
||||
onEntered: {
|
||||
|
@ -678,7 +681,7 @@ Item
|
|||
Label {
|
||||
id: gradualInfillLabel
|
||||
anchors.left: enableGradualInfillCheckBox.right
|
||||
anchors.leftMargin: parseInt(UM.Theme.getSize("sidebar_margin").width / 2)
|
||||
anchors.leftMargin: Math.floor(UM.Theme.getSize("sidebar_margin").width / 2)
|
||||
text: catalog.i18nc("@label", "Enable gradual")
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
|
@ -739,7 +742,7 @@ Item
|
|||
visible: enableSupportCheckBox.visible
|
||||
|
||||
anchors.top: infillCellRight.bottom
|
||||
anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height * 1.5)
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height * 1.5)
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.verticalCenter: enableSupportCheckBox.verticalCenter
|
||||
|
@ -948,7 +951,7 @@ Item
|
|||
{
|
||||
id: tipsCell
|
||||
anchors.top: adhesionCheckBox.visible ? adhesionCheckBox.bottom : (enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom)
|
||||
anchors.topMargin: parseInt(UM.Theme.getSize("sidebar_margin").height * 2)
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("sidebar_margin").height * 2)
|
||||
anchors.left: parent.left
|
||||
width: parent.width
|
||||
height: tipsText.contentHeight * tipsText.lineCount
|
||||
|
@ -979,6 +982,35 @@ Item
|
|||
storeIndex: 0
|
||||
}
|
||||
|
||||
Binding
|
||||
{
|
||||
target: infillDensity
|
||||
property: "containerStackId"
|
||||
value: {
|
||||
|
||||
// not settable per extruder or there only is global, so we must pick global
|
||||
if (machineExtruderCount.properties.value == 1) {
|
||||
return Cura.MachineManager.activeStackId
|
||||
}
|
||||
|
||||
// return the ID of the extruder when the infill is limited to an extruder
|
||||
if (infillInheritStackProvider.properties.limit_to_extruder != null && infillInheritStackProvider.properties.limit_to_extruder >= 0) {
|
||||
return ExtruderManager.extruderIds[String(infillInheritStackProvider.properties.limit_to_extruder)]
|
||||
}
|
||||
|
||||
// default to the global stack
|
||||
return Cura.MachineManager.activeStackId
|
||||
}
|
||||
}
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: infillInheritStackProvider
|
||||
containerStackId: Cura.MachineManager.activeMachineId
|
||||
key: "infill_sparse_density"
|
||||
watchedProperties: [ "limit_to_extruder" ]
|
||||
}
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: infillDensity
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue