Improve cloud connection or not checking

Contributes to CL-1165
This commit is contained in:
Ian Paschal 2019-02-12 12:12:59 +01:00
parent 9d8cf5ddde
commit 3c2791fefe
4 changed files with 10 additions and 6 deletions

View file

@ -541,15 +541,19 @@ class MachineManager(QObject):
return bool(self._printer_output_devices) and len(self._printer_output_devices[0].printers) > 1 return bool(self._printer_output_devices) and len(self._printer_output_devices[0].printers) > 1
@pyqtProperty(bool, notify = printerConnectedStatusChanged) @pyqtProperty(bool, notify = printerConnectedStatusChanged)
def activeMachineHasActiveNetworkConnection(self) -> bool: def activeMachineHasNetworkConnection(self) -> bool:
# A network connection is only available if any output device is actually a network connected device. # A network connection is only available if any output device is actually a network connected device.
return any(d.connectionType == ConnectionType.NetworkConnection for d in self._printer_output_devices) return any(d.connectionType == ConnectionType.NetworkConnection for d in self._printer_output_devices)
@pyqtProperty(bool, notify = printerConnectedStatusChanged) @pyqtProperty(bool, notify = printerConnectedStatusChanged)
def activeMachineHasActiveCloudConnection(self) -> bool: def activeMachineHasCloudConnection(self) -> bool:
# 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 activeMachineIsUsingCloudConnection(self) -> bool:
return self.activeMachineHasCloudConnection and not self.activeMachineHasNetworkConnection
def activeMachineNetworkKey(self) -> str: def activeMachineNetworkKey(self) -> str:
if self._global_container_stack: if self._global_container_stack:
return self._global_container_stack.getMetaDataEntry("um_network_key", "") return self._global_container_stack.getMetaDataEntry("um_network_key", "")

View file

@ -24,7 +24,7 @@ Item
// If the printer is a cloud printer or not. Other items base their enabled state off of this boolean. In the future // If the printer is a cloud printer or not. Other items base their enabled state off of this boolean. In the future
// they might not need to though. // they might not need to though.
property bool cloudConnection: Cura.MachineManager.activeMachineHasActiveCloudConnection property bool cloudConnection: Cura.MachineManager.activeMachineIsUsingCloudConnection
width: parent.width width: parent.width
height: childrenRect.height height: childrenRect.height

View file

@ -30,7 +30,7 @@ Item
// If the printer is a cloud printer or not. Other items base their enabled state off of this boolean. In the future // If the printer is a cloud printer or not. Other items base their enabled state off of this boolean. In the future
// they might not need to though. // they might not need to though.
property bool cloudConnection: Cura.MachineManager.activeMachineHasActiveCloudConnection property bool cloudConnection: Cura.MachineManager.activeMachineIsUsingCloudConnection
width: 834 * screenScaleFactor // TODO: Theme! width: 834 * screenScaleFactor // TODO: Theme!
height: childrenRect.height height: childrenRect.height

View file

@ -11,8 +11,8 @@ Cura.ExpandablePopup
{ {
id: machineSelector id: machineSelector
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasActiveNetworkConnection property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasNetworkConnection
property bool isCloudPrinter: Cura.MachineManager.activeMachineHasActiveCloudConnection property bool isCloudPrinter: Cura.MachineManager.activeMachineHasCloudConnection
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