diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index d27569c6b8..7803c3eec9 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -175,6 +175,9 @@ Rectangle height: UM.Theme.getSize("sidebar_header").height onClicked: monitoringPrint = false iconSource: UM.Theme.getIcon("tab_settings"); + property color overlayColor: "transparent" + property string overlayIconSource: "" + checkable: true checked: !monitoringPrint exclusiveGroup: sidebarHeaderBarGroup @@ -203,9 +206,34 @@ Rectangle width: height height: UM.Theme.getSize("sidebar_header").height onClicked: monitoringPrint = true - iconSource: { + iconSource: printerConnected ? UM.Theme.getIcon("tab_monitor_with_status") : UM.Theme.getIcon("tab_monitor") + property color overlayColor: + { + switch(Cura.MachineManager.printerOutputDevices[0].jobState) + { + case "printing": + case "pre_print": + case "wait_cleanup": + case "pausing": + case "resuming": + return UM.Theme.getColor("status_busy"); + case "ready": + case "": + return UM.Theme.getColor("status_ready"); + case "paused": + return UM.Theme.getColor("status_paused"); + case "error": + return UM.Theme.getColor("status_stopped"); + case "offline": + return UM.Theme.getColor("status_offline"); + default: + return UM.Theme.getColor("text_reversed"); + } + } + property string overlayIconSource: + { if(!printerConnected) - return UM.Theme.getIcon("tab_monitor"); + return ""; else if(!printerAcceptsCommands) return UM.Theme.getIcon("tab_monitor_unknown"); @@ -233,6 +261,7 @@ Rectangle return UM.Theme.getIcon("tab_monitor") } } + checkable: true checked: monitoringPrint exclusiveGroup: sidebarHeaderBarGroup diff --git a/resources/themes/cura/icons/tab_monitor.svg b/resources/themes/cura/icons/tab_monitor.svg index 9658a6af5f..2677cec6e2 100644 --- a/resources/themes/cura/icons/tab_monitor.svg +++ b/resources/themes/cura/icons/tab_monitor.svg @@ -1,3 +1,3 @@ - + diff --git a/resources/themes/cura/icons/tab_monitor_busy.svg b/resources/themes/cura/icons/tab_monitor_busy.svg index 84ab2e23f1..cb72fdd623 100644 --- a/resources/themes/cura/icons/tab_monitor_busy.svg +++ b/resources/themes/cura/icons/tab_monitor_busy.svg @@ -1,7 +1,4 @@ - - - - - + diff --git a/resources/themes/cura/icons/tab_monitor_connected.svg b/resources/themes/cura/icons/tab_monitor_connected.svg index ef2bfbf8f5..16ec7d7523 100644 --- a/resources/themes/cura/icons/tab_monitor_connected.svg +++ b/resources/themes/cura/icons/tab_monitor_connected.svg @@ -1,5 +1,4 @@ - - - + diff --git a/resources/themes/cura/icons/tab_monitor_offline.svg b/resources/themes/cura/icons/tab_monitor_offline.svg index 4a16d5a559..850ca1bc03 100644 --- a/resources/themes/cura/icons/tab_monitor_offline.svg +++ b/resources/themes/cura/icons/tab_monitor_offline.svg @@ -1,5 +1,4 @@ - - - + diff --git a/resources/themes/cura/icons/tab_monitor_paused.svg b/resources/themes/cura/icons/tab_monitor_paused.svg index 10cdc9a2a3..feffb7894c 100644 --- a/resources/themes/cura/icons/tab_monitor_paused.svg +++ b/resources/themes/cura/icons/tab_monitor_paused.svg @@ -1,5 +1,4 @@ - - - + diff --git a/resources/themes/cura/icons/tab_monitor_stopped.svg b/resources/themes/cura/icons/tab_monitor_stopped.svg index 6f63c7c2db..86386d3a6b 100644 --- a/resources/themes/cura/icons/tab_monitor_stopped.svg +++ b/resources/themes/cura/icons/tab_monitor_stopped.svg @@ -1,5 +1,51 @@ - - - - + + + + + + image/svg+xml + + + + + + + diff --git a/resources/themes/cura/icons/tab_monitor_unknown.svg b/resources/themes/cura/icons/tab_monitor_unknown.svg index 3d798c7e27..1033b39a4c 100644 --- a/resources/themes/cura/icons/tab_monitor_unknown.svg +++ b/resources/themes/cura/icons/tab_monitor_unknown.svg @@ -1,5 +1,4 @@ - - - + diff --git a/resources/themes/cura/icons/tab_monitor_with_status.svg b/resources/themes/cura/icons/tab_monitor_with_status.svg new file mode 100644 index 0000000000..dc3b373313 --- /dev/null +++ b/resources/themes/cura/icons/tab_monitor_with_status.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index a57f60b387..64b4436622 100644 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -100,12 +100,24 @@ QtObject { } label: Item { - Image { - anchors.centerIn: parent; + UM.RecolorImage { + color: UM.Theme.getColor("text_reversed") + anchors.centerIn: parent opacity: !control.enabled ? 0.2 : 1.0 - source: control.iconSource; - width: Theme.getSize("button_icon").width; - height: Theme.getSize("button_icon").height; + source: control.iconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height + + sourceSize: Theme.getSize("button_icon") + } + UM.RecolorImage { + visible: control.overlayIconSource != "" + color: control.overlayColor + anchors.centerIn: parent + opacity: !control.enabled ? 0.2 : 1.0 + source: control.overlayIconSource + width: Theme.getSize("button_icon").width + height: Theme.getSize("button_icon").height sourceSize: Theme.getSize("button_icon") }