mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Show message when new cloud printers were added to your account but not in Cura yet
This commit is contained in:
parent
112c2266f8
commit
07672fd569
2 changed files with 42 additions and 0 deletions
|
@ -13,6 +13,7 @@ from cura.Settings.GlobalStack import GlobalStack
|
|||
from .CloudApiClient import CloudApiClient
|
||||
from .CloudOutputDevice import CloudOutputDevice
|
||||
from ..Models.Http.CloudClusterResponse import CloudClusterResponse
|
||||
from ..Messages.CloudPrinterDetectedMessage import CloudPrinterDetectedMessage
|
||||
|
||||
|
||||
## The cloud output device manager is responsible for using the Ultimaker Cloud APIs to manage remote clusters.
|
||||
|
@ -108,6 +109,7 @@ class CloudOutputDeviceManager:
|
|||
)
|
||||
self._remote_clusters[device.getId()] = device
|
||||
self.discoveredDevicesChanged.emit()
|
||||
self._checkIfNewClusterWasAdded(device.clusterData.cluster_id)
|
||||
self._connectToActiveMachine()
|
||||
|
||||
def _onDiscoveredDeviceUpdated(self, cluster_data: CloudClusterResponse) -> None:
|
||||
|
@ -179,3 +181,10 @@ class CloudOutputDeviceManager:
|
|||
output_device_manager = CuraApplication.getInstance().getOutputDeviceManager()
|
||||
if device.key not in output_device_manager.getOutputDeviceIds():
|
||||
output_device_manager.addOutputDevice(device)
|
||||
|
||||
## Checks if Cura has a machine stack (printer) for the given cluster ID and shows a message if it hasn't.
|
||||
def _checkIfNewClusterWasAdded(self, cluster_id: str) -> None:
|
||||
container_registry = CuraApplication.getInstance().getContainerRegistry()
|
||||
cloud_machines = container_registry.findContainersMetadata(**{self.META_CLUSTER_ID: "*"}) # all cloud machines
|
||||
if not any(machine[self.META_CLUSTER_ID] == cluster_id for machine in cloud_machines):
|
||||
CloudPrinterDetectedMessage().show()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue