mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 17:27:51 -06:00
Add an cloud unavailable icon to the active printer icon
CURA-7437
This commit is contained in:
parent
b135da866a
commit
eef347ed6c
6 changed files with 40 additions and 10 deletions
|
@ -491,6 +491,10 @@ class MachineManager(QObject):
|
||||||
# A cloud connection is only available if any output device actually is a cloud connected device.
|
# A cloud connection is only available if any output device actually is a cloud connected device.
|
||||||
return any(d.connectionType == ConnectionType.CloudConnection for d in self._printer_output_devices)
|
return any(d.connectionType == ConnectionType.CloudConnection for d in self._printer_output_devices)
|
||||||
|
|
||||||
|
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
||||||
|
def activeMachineHasCloudRegistration(self) -> bool:
|
||||||
|
return self.activeMachine is not None and ConnectionType.CloudConnection in self.activeMachine.configuredConnectionTypes
|
||||||
|
|
||||||
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
||||||
def activeMachineIsUsingCloudConnection(self) -> bool:
|
def activeMachineIsUsingCloudConnection(self) -> bool:
|
||||||
return self.activeMachineHasCloudConnection and not self.activeMachineHasNetworkConnection
|
return self.activeMachineHasCloudConnection and not self.activeMachineHasNetworkConnection
|
||||||
|
|
|
@ -106,8 +106,8 @@ class CloudOutputDeviceManager:
|
||||||
self._onDevicesDiscovered(new_clusters)
|
self._onDevicesDiscovered(new_clusters)
|
||||||
|
|
||||||
removed_device_keys = set(self._remote_clusters.keys()) - set(online_clusters.keys())
|
removed_device_keys = set(self._remote_clusters.keys()) - set(online_clusters.keys())
|
||||||
for device_id in removed_device_keys:
|
# for device_id in removed_device_keys:
|
||||||
self._onDiscoveredDeviceRemoved(device_id)
|
# self._onDiscoveredDeviceRemoved(device_id)
|
||||||
|
|
||||||
if new_clusters or removed_device_keys:
|
if new_clusters or removed_device_keys:
|
||||||
self.discoveredDevicesChanged.emit()
|
self.discoveredDevicesChanged.emit()
|
||||||
|
|
|
@ -265,7 +265,7 @@ class LocalClusterOutputDeviceManager:
|
||||||
## Nudge the user to start using Ultimaker Cloud.
|
## Nudge the user to start using Ultimaker Cloud.
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _showCloudFlowMessage(device: LocalClusterOutputDevice) -> None:
|
def _showCloudFlowMessage(device: LocalClusterOutputDevice) -> None:
|
||||||
if CuraApplication.getInstance().getMachineManager().activeMachineIsUsingCloudConnection:
|
if CuraApplication.getInstance().getMachineManager().activeMachineHasCloudRegistration:
|
||||||
# This printer is already cloud connected, so we do not bother the user anymore.
|
# This printer is already cloud connected, so we do not bother the user anymore.
|
||||||
return
|
return
|
||||||
if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn:
|
if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn:
|
||||||
|
|
|
@ -5,14 +5,15 @@ import QtQuick 2.7
|
||||||
import QtQuick.Controls 2.3
|
import QtQuick.Controls 2.3
|
||||||
|
|
||||||
import UM 1.2 as UM
|
import UM 1.2 as UM
|
||||||
import Cura 1.0 as Cura
|
import Cura 1.1 as Cura
|
||||||
|
|
||||||
Cura.ExpandablePopup
|
Cura.ExpandablePopup
|
||||||
{
|
{
|
||||||
id: machineSelector
|
id: machineSelector
|
||||||
|
|
||||||
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasNetworkConnection
|
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasNetworkConnection
|
||||||
property bool isCloudPrinter: Cura.MachineManager.activeMachineHasCloudConnection
|
property bool isConnectedCloudPrinter: Cura.MachineManager.activeMachineHasCloudConnection
|
||||||
|
property bool isCloudRegistered: Cura.MachineManager.activeMachineHasCloudRegistration
|
||||||
property bool isGroup: Cura.MachineManager.activeMachineIsGroup
|
property bool isGroup: Cura.MachineManager.activeMachineIsGroup
|
||||||
|
|
||||||
contentPadding: UM.Theme.getSize("default_lining").width
|
contentPadding: UM.Theme.getSize("default_lining").width
|
||||||
|
@ -44,7 +45,7 @@ Cura.ExpandablePopup
|
||||||
{
|
{
|
||||||
return UM.Theme.getIcon("printer_group")
|
return UM.Theme.getIcon("printer_group")
|
||||||
}
|
}
|
||||||
else if (isNetworkPrinter || isCloudPrinter)
|
else if (isNetworkPrinter || isCloudRegistered)
|
||||||
{
|
{
|
||||||
return UM.Theme.getIcon("printer_single")
|
return UM.Theme.getIcon("printer_single")
|
||||||
}
|
}
|
||||||
|
@ -72,10 +73,14 @@ Cura.ExpandablePopup
|
||||||
{
|
{
|
||||||
return UM.Theme.getIcon("printer_connected")
|
return UM.Theme.getIcon("printer_connected")
|
||||||
}
|
}
|
||||||
else if (isCloudPrinter)
|
else if (isConnectedCloudPrinter)
|
||||||
{
|
{
|
||||||
return UM.Theme.getIcon("printer_cloud_connected")
|
return UM.Theme.getIcon("printer_cloud_connected")
|
||||||
}
|
}
|
||||||
|
else if (isCloudRegistered)
|
||||||
|
{
|
||||||
|
return UM.Theme.getIcon("printer_cloud_not_available")
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return ""
|
return ""
|
||||||
|
@ -85,8 +90,9 @@ Cura.ExpandablePopup
|
||||||
width: UM.Theme.getSize("printer_status_icon").width
|
width: UM.Theme.getSize("printer_status_icon").width
|
||||||
height: UM.Theme.getSize("printer_status_icon").height
|
height: UM.Theme.getSize("printer_status_icon").height
|
||||||
|
|
||||||
color: UM.Theme.getColor("primary")
|
color: source == UM.Theme.getIcon("printer_cloud_not_available") ? UM.Theme.getColor("cloud_unavailable") : UM.Theme.getColor("primary")
|
||||||
visible: isNetworkPrinter || isCloudPrinter
|
|
||||||
|
visible: isNetworkPrinter || isCloudRegistered
|
||||||
|
|
||||||
// Make a themable circle in the background so we can change it in other themes
|
// Make a themable circle in the background so we can change it in other themes
|
||||||
Rectangle
|
Rectangle
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||||
|
<title>Artboard Copy 4</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs>
|
||||||
|
<path d="M6,0 C9.3137085,0 12,2.6862915 12,6 C12,9.3137085 9.3137085,12 6,12 C2.6862915,12 0,9.3137085 0,6 C0,2.6862915 2.6862915,0 6,0 Z M5.2,3 C4.08,3 3.2,3.91666667 3.2,5.08333333 L3.2,5.125 L3.2,5.125 C2.52,5.20833333 2,5.83333333 2,6.54166667 C2,7.33333333 2.64,8 3.4,8 L8.6,8 L8.6,8 C9.36,8 10,7.33333333 10,6.54166667 C10,5.79166667 9.48,5.20833333 8.8,5.08333333 C8.72,4.375 8.12,3.83333333 7.4,3.83333333 C7.2,3.83333333 7.04,3.875 6.88,3.95833333 C6.52,3.375 5.88,3 5.2,3 Z" id="path-1"></path>
|
||||||
|
</defs>
|
||||||
|
<g id="Artboard-Copy-4" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<rect id="Rectangle" fill="#999999" transform="translate(7.187184, 7.187184) scale(-1, 1) rotate(45.000000) translate(-7.187184, -7.187184) " x="6.43718434" y="-0.812815665" width="1.5" height="16" rx="0.75"></rect>
|
||||||
|
<g id="Path" transform="translate(1.000000, 1.000000)">
|
||||||
|
<mask id="mask-2" fill="white">
|
||||||
|
<use xlink:href="#path-1"></use>
|
||||||
|
</mask>
|
||||||
|
<use id="Combined-Shape" fill="#999999" xlink:href="#path-1"></use>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -438,7 +438,9 @@
|
||||||
"monitor_shadow": [200, 200, 200, 255],
|
"monitor_shadow": [200, 200, 200, 255],
|
||||||
|
|
||||||
"monitor_carousel_dot": [216, 216, 216, 255],
|
"monitor_carousel_dot": [216, 216, 216, 255],
|
||||||
"monitor_carousel_dot_current": [119, 119, 119, 255]
|
"monitor_carousel_dot_current": [119, 119, 119, 255],
|
||||||
|
|
||||||
|
"cloud_unavailable": [153, 153, 153, 255]
|
||||||
},
|
},
|
||||||
|
|
||||||
"sizes": {
|
"sizes": {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue