mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -06:00
Simplify some checks for connection types and group size
This commit is contained in:
parent
2f92f6ef50
commit
af2061cd52
3 changed files with 31 additions and 18 deletions
|
@ -527,10 +527,15 @@ class MachineManager(QObject):
|
|||
|
||||
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
||||
def activeMachineHasRemoteConnection(self) -> bool:
|
||||
if self._global_container_stack:
|
||||
connection_type = self._global_container_stack.getMetaDataEntry("connection_type")
|
||||
return connection_type in [ConnectionType.NetworkConnection.value, ConnectionType.CloudConnection.value]
|
||||
return False
|
||||
return self.activeMachineHasActiveNetworkConnection or self.activeMachineHasActiveCloudConnection
|
||||
# if self._global_container_stack:
|
||||
# connection_type = self._global_container_stack.getMetaDataEntry("connection_type")
|
||||
# return connection_type in [ConnectionType.NetworkConnection.value, ConnectionType.CloudConnection.value]
|
||||
# return False
|
||||
|
||||
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
||||
def activeMachineIsGroup(self) -> bool:
|
||||
return self._printer_output_devices and self._printer_output_devices[0].clusterSize > 1
|
||||
|
||||
@pyqtProperty(bool, notify = printerConnectedStatusChanged)
|
||||
def activeMachineHasActiveNetworkConnection(self) -> bool:
|
||||
|
|
|
@ -121,10 +121,11 @@ class CloudOutputDeviceManager:
|
|||
return
|
||||
|
||||
device = next((c for c in self._remote_clusters.values() if c.matchesNetworkKey(local_network_key)), None)
|
||||
if device:
|
||||
if not device:
|
||||
return
|
||||
|
||||
active_machine.setMetaDataEntry(self.META_CLUSTER_ID, device.key)
|
||||
device.connect()
|
||||
|
||||
Logger.log("i", "Found cluster %s with network key %s", device, local_network_key)
|
||||
|
||||
## Handles an API error received from the cloud.
|
||||
|
|
|
@ -11,10 +11,9 @@ Cura.ExpandablePopup
|
|||
{
|
||||
id: machineSelector
|
||||
|
||||
property var outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
property bool isPrinterConnected: Cura.MachineManager.printerConnected
|
||||
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasActiveNetworkConnection
|
||||
property bool isCloudPrinter: Cura.MachineManager.activeMachineHasActiveCloudConnection
|
||||
property bool isGroup: Cura.MachineManager.activeMachineIsGroup
|
||||
|
||||
contentPadding: UM.Theme.getSize("default_lining").width
|
||||
contentAlignment: Cura.ExpandablePopup.ContentAlignment.AlignLeft
|
||||
|
@ -30,16 +29,14 @@ Cura.ExpandablePopup
|
|||
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
|
||||
source:
|
||||
{
|
||||
if (isNetworkPrinter)
|
||||
{
|
||||
if (machineSelector.outputDevice != null && machineSelector.outputDevice.clusterSize > 1)
|
||||
{
|
||||
if (isGroup) {
|
||||
return UM.Theme.getIcon("printer_group")
|
||||
}
|
||||
} else if (isNetworkPrinter || isCloudPrinter) {
|
||||
return UM.Theme.getIcon("printer_single")
|
||||
}
|
||||
} else {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
font: UM.Theme.getFont("medium")
|
||||
iconColor: UM.Theme.getColor("machine_selector_printer_icon")
|
||||
iconSize: source != "" ? UM.Theme.getSize("machine_selector_icon").width: 0
|
||||
|
@ -53,12 +50,22 @@ Cura.ExpandablePopup
|
|||
leftMargin: UM.Theme.getSize("thick_margin").width
|
||||
}
|
||||
|
||||
source: machineSelector.isCloudPrinter ? UM.Theme.getIcon("printer_cloud_connected") : UM.Theme.getIcon("printer_connected")
|
||||
source:
|
||||
{
|
||||
if (isNetworkPrinter) {
|
||||
return UM.Theme.getIcon("printer_connected")
|
||||
} else if (isCloudPrinter) {
|
||||
return UM.Theme.getIcon("printer_cloud_connected")
|
||||
} else {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
width: UM.Theme.getSize("printer_status_icon").width
|
||||
height: UM.Theme.getSize("printer_status_icon").height
|
||||
|
||||
color: UM.Theme.getColor("primary")
|
||||
visible: isNetworkPrinter && isPrinterConnected
|
||||
visible: isNetworkPrinter || isCloudPrinter
|
||||
|
||||
// Make a themable circle in the background so we can change it in other themes
|
||||
Rectangle
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue