Close welcome wizard when user has cloud printers

If the user signs in during the welcome process, if he/she has cloud
printers connected to his/her account, then the welcome wizard will
close so that the user will not be asked to add local printers.

CURA-7019
This commit is contained in:
Kostas Karmas 2020-04-20 15:06:31 +02:00
parent 7377dd551c
commit 7b464e5550

View File

@ -88,6 +88,14 @@ class CloudOutputDeviceManager:
## Callback for when the request for getting the clusters is finished.
def _onGetRemoteClustersFinished(self, clusters: List[CloudClusterResponse]) -> None:
online_clusters = {c.cluster_id: c for c in clusters if c.is_online} # type: Dict[str, CloudClusterResponse]
# If the user signs in from the welcome dialog, then we will search for cloud printers and if any of them are
# found, the welcome screen will close. This way we avoid prompting the user to add printers if he/she already
# has cloud printers
welcome_pages_model = CuraApplication.getInstance().getWelcomePagesModel()
cloud_page_idx = welcome_pages_model.getPageIndexById("cloud")
if welcome_pages_model.currentPageIndex == cloud_page_idx and online_clusters:
CuraApplication.getWelcomePagesModel().atEnd()
for device_id, cluster_data in online_clusters.items():
if device_id not in self._remote_clusters:
self._onDeviceDiscovered(cluster_data)