Replace progress bar with actual ProgressBar element

QML has this progress bar that has more functionality than the progress bar we're using. We need an indeterminate state for the pausing and resuming states, so instead of implementing that myself, I'm using the QML ProgressBar element.

Contributes to issue CURA-2060.
This commit is contained in:
Ghostkeeper 2016-09-27 13:48:07 +02:00
parent 3b2c173cd6
commit f4d13713a2
No known key found for this signature in database
GPG Key ID: 701948C5954A7385

View File

@ -143,26 +143,44 @@ Rectangle
visible: showProgress visible: showProgress
} }
Rectangle ProgressBar
{ {
id: progressBar id: progressBar;
width: parent.width - 2 * UM.Theme.getSize("default_margin").width minimumValue: 0;
height: UM.Theme.getSize("progressbar").height maximumValue: 100;
anchors.top: statusLabel.bottom value: 0;
anchors.topMargin: UM.Theme.getSize("default_margin").height / 4
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
radius: UM.Theme.getSize("progressbar_radius").width
color: UM.Theme.getColor("progressbar_background")
visible: showProgress
Rectangle //Doing this in an explicit binding since the implicit binding breaks on occasion.
Binding
{ {
width: Math.max(parent.width * base.progress / 100) target: progressBar;
height: parent.height property: "value";
color: base.statusColor value: base.progress;
radius: UM.Theme.getSize("progressbar_radius").width
} }
visible: showProgress;
indeterminate:
{
switch(Cura.MachineManager.printerOutputDevices[0].jobState)
{
case "pausing":
case "resuming":
return true;
default:
return false;
}
}
style: UM.Theme.styles.progressbar;
property string backgroundColor: UM.Theme.getColor("progressbar_background");
property string controlColor: base.statusColor;
width: parent.width - 2 * UM.Theme.getSize("default_margin").width;
height: UM.Theme.getSize("progressbar").height;
anchors.top: statusLabel.bottom;
anchors.topMargin: UM.Theme.getSize("default_margin").height / 4;
anchors.left: parent.left;
anchors.leftMargin: UM.Theme.getSize("default_margin").width;
} }
Row { Row {