mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 15:44:04 -06:00
Add the label and the icon indicating when Cura is unable to slice.
Contributes to CURA-5786.
This commit is contained in:
parent
8fee8eeb5e
commit
79ed15aee1
3 changed files with 80 additions and 11 deletions
|
@ -37,6 +37,7 @@ Rectangle
|
|||
}
|
||||
|
||||
Behavior on height { NumberAnimation { duration: 100 } }
|
||||
Behavior on width { NumberAnimation { duration: 100 } }
|
||||
|
||||
Component
|
||||
{
|
||||
|
|
|
@ -12,7 +12,9 @@ Column
|
|||
{
|
||||
id: widget
|
||||
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("action_panel_button").width
|
||||
|
||||
spacing: UM.Theme.getSize("thin_margin").height
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
|
@ -23,30 +25,84 @@ Column
|
|||
property real progress: UM.Backend.progress
|
||||
property int backendState: UM.Backend.state
|
||||
|
||||
Rectangle
|
||||
Item
|
||||
{
|
||||
id: message
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
visible: widget.backendState == 4
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: warningImage
|
||||
|
||||
anchors.left: parent.left
|
||||
|
||||
source: UM.Theme.getIcon("warning")
|
||||
width: UM.Theme.getSize("section_icon").width
|
||||
height: UM.Theme.getSize("section_icon").height
|
||||
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
|
||||
color: UM.Theme.getColor("warning")
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: unableToSliceLabel
|
||||
anchors.left: warningImage.right
|
||||
anchors.leftMargin: UM.Theme.getSize("thin_margin").width
|
||||
text: catalog.i18nc("@label:PrintjobStatus", "Unable to Slice")
|
||||
color: UM.Theme.getColor("warning")
|
||||
font: UM.Theme.getFont("very_small")
|
||||
}
|
||||
}
|
||||
|
||||
// Progress bar, only visible when the backend is in the process of slice the printjob
|
||||
ProgressBar
|
||||
{
|
||||
id: progressBar
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("progressbar").height
|
||||
value: progress
|
||||
visible: widget.backendState == 2
|
||||
radius: UM.Theme.getSize("progressbar_radius").width
|
||||
color: UM.Theme.getColor("progressbar_background")
|
||||
|
||||
Rectangle
|
||||
background: Rectangle
|
||||
{
|
||||
width: Math.max(parent.width * base.progress)
|
||||
height: parent.height
|
||||
anchors.fill: parent
|
||||
radius: UM.Theme.getSize("progressbar_radius").width
|
||||
color: UM.Theme.getColor("progressbar_control")
|
||||
color: UM.Theme.getColor("progressbar_background")
|
||||
}
|
||||
|
||||
contentItem: Item
|
||||
{
|
||||
anchors.fill: parent
|
||||
Rectangle
|
||||
{
|
||||
width: progressBar.visualPosition * parent.width
|
||||
height: parent.height
|
||||
radius: UM.Theme.getSize("progressbar_radius").width
|
||||
color: UM.Theme.getColor("progressbar_control")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Cura.ActionButton
|
||||
{
|
||||
id: prepareButton
|
||||
width: UM.Theme.getSize("action_panel_button").width
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("action_panel_button").height
|
||||
text: widget.backendState == 1 ? catalog.i18nc("@button", "Prepare") : catalog.i18nc("@button", "Cancel")
|
||||
text: autoSlice ? catalog.i18nc("@button", "Auto slicing...") : (widget.backendState == 1 ? catalog.i18nc("@button", "Slice") : catalog.i18nc("@button", "Cancel"))
|
||||
enabled: !autoSlice
|
||||
|
||||
// Get the current value from the preferences
|
||||
property bool autoSlice: UM.Preferences.getValue("general/auto_slice")
|
||||
|
||||
disabledColor: "transparent"
|
||||
textDisabledColor: UM.Theme.getColor("primary")
|
||||
outlineDisabledColor: "transparent"
|
||||
|
||||
onClicked:
|
||||
{
|
||||
if ([1, 5].indexOf(widget.backendState) != -1)
|
||||
|
@ -59,4 +115,15 @@ Column
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// React when the user changes the preference of having the auto slice enabled
|
||||
Connections
|
||||
{
|
||||
target: UM.Preferences
|
||||
onPreferenceChanged:
|
||||
{
|
||||
var autoSlice = UM.Preferences.getValue("general/auto_slice")
|
||||
prepareButton.autoSlice = autoSlice
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -116,6 +116,7 @@
|
|||
"text_scene_hover": [70, 84, 113, 255],
|
||||
|
||||
"error": [255, 140, 0, 255],
|
||||
"warning": [255, 190, 35, 255],
|
||||
|
||||
"button": [31, 36, 39, 255],
|
||||
"button_hover": [68, 72, 75, 255],
|
||||
|
@ -210,7 +211,7 @@
|
|||
"material_compatibility_warning": [0, 0, 0, 255],
|
||||
|
||||
"progressbar_background": [245, 245, 245, 255],
|
||||
"progressbar_control": [31, 36, 39, 255],
|
||||
"progressbar_control": [50, 130, 255, 255],
|
||||
|
||||
"slider_groove": [245, 245, 245, 255],
|
||||
"slider_groove_border": [127, 127, 127, 255],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue