mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
Transfer cloudPrintersDetectedChanged in DiscoveredUltimakerCloudPrintersModel
CURA-7022
This commit is contained in:
parent
0ad9464131
commit
ea404af973
4 changed files with 15 additions and 11 deletions
|
@ -29,7 +29,6 @@ class Account(QObject):
|
||||||
# Signal emitted when user logged in or out.
|
# Signal emitted when user logged in or out.
|
||||||
loginStateChanged = pyqtSignal(bool)
|
loginStateChanged = pyqtSignal(bool)
|
||||||
accessTokenChanged = pyqtSignal()
|
accessTokenChanged = pyqtSignal()
|
||||||
cloudPrintersDetectedChanged = pyqtSignal(bool)
|
|
||||||
|
|
||||||
def __init__(self, application: "CuraApplication", parent = None) -> None:
|
def __init__(self, application: "CuraApplication", parent = None) -> None:
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
@ -76,10 +75,6 @@ class Account(QObject):
|
||||||
def isLoggedIn(self) -> bool:
|
def isLoggedIn(self) -> bool:
|
||||||
return self._logged_in
|
return self._logged_in
|
||||||
|
|
||||||
@pyqtProperty(bool, notify=cloudPrintersDetectedChanged)
|
|
||||||
def newCloudPrintersDetected(self) -> bool:
|
|
||||||
return self._new_cloud_printers_detected
|
|
||||||
|
|
||||||
def _onLoginStateChanged(self, logged_in: bool = False, error_message: Optional[str] = None) -> None:
|
def _onLoginStateChanged(self, logged_in: bool = False, error_message: Optional[str] = None) -> None:
|
||||||
if error_message:
|
if error_message:
|
||||||
if self._error_message:
|
if self._error_message:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from typing import Optional, TYPE_CHECKING
|
from typing import Optional, TYPE_CHECKING
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSlot, Qt
|
from PyQt5.QtCore import QObject, pyqtSlot, Qt, pyqtSignal, pyqtProperty
|
||||||
|
|
||||||
from UM.Qt.ListModel import ListModel
|
from UM.Qt.ListModel import ListModel
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||||
DeviceTypeRole = Qt.UserRole + 3
|
DeviceTypeRole = Qt.UserRole + 3
|
||||||
DeviceFirmwareVersionRole = Qt.UserRole + 4
|
DeviceFirmwareVersionRole = Qt.UserRole + 4
|
||||||
|
|
||||||
|
cloudPrintersDetectedChanged = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None) -> None:
|
def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None) -> None:
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
|
@ -23,6 +25,7 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||||
self.addRoleName(self.DeviceFirmwareVersionRole, "firmware_version")
|
self.addRoleName(self.DeviceFirmwareVersionRole, "firmware_version")
|
||||||
|
|
||||||
self._discovered_ultimaker_cloud_printers_list = []
|
self._discovered_ultimaker_cloud_printers_list = []
|
||||||
|
self._new_cloud_printers_detected = False
|
||||||
self._application = application
|
self._application = application
|
||||||
|
|
||||||
def addDiscoveredUltimakerCloudPrinters(self, new_devices) -> None:
|
def addDiscoveredUltimakerCloudPrinters(self, new_devices) -> None:
|
||||||
|
@ -35,10 +38,16 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||||
})
|
})
|
||||||
self._update()
|
self._update()
|
||||||
|
|
||||||
|
# Inform whether new cloud printers have been detected. If they have, the welcome wizard can close.
|
||||||
|
self._new_cloud_printers_detected = len(new_devices) > 0
|
||||||
|
self.cloudPrintersDetectedChanged.emit()
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self._discovered_ultimaker_cloud_printers_list = []
|
self._discovered_ultimaker_cloud_printers_list = []
|
||||||
self._update()
|
self._update()
|
||||||
|
self._new_cloud_printers_detected = False
|
||||||
|
self.cloudPrintersDetectedChanged.emit()
|
||||||
|
|
||||||
def _update(self):
|
def _update(self):
|
||||||
items = []
|
items = []
|
||||||
|
@ -51,3 +60,7 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||||
|
|
||||||
filtered_items.sort(key = lambda k: k["name"])
|
filtered_items.sort(key = lambda k: k["name"])
|
||||||
self.setItems(filtered_items)
|
self.setItems(filtered_items)
|
||||||
|
|
||||||
|
@pyqtProperty(bool, notify = cloudPrintersDetectedChanged)
|
||||||
|
def newCloudPrintersDetected(self) -> bool:
|
||||||
|
return self._new_cloud_printers_detected
|
||||||
|
|
|
@ -106,10 +106,6 @@ class CloudOutputDeviceManager:
|
||||||
|
|
||||||
self._onDevicesDiscovered(new_clusters)
|
self._onDevicesDiscovered(new_clusters)
|
||||||
|
|
||||||
# Inform whether new cloud printers have been detected. If they have, the welcome wizard can close.
|
|
||||||
self._account._new_cloud_printers_detected = len(new_clusters) > 0
|
|
||||||
self._account.cloudPrintersDetectedChanged.emit(len(new_clusters) > 0)
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
|
@ -15,7 +15,7 @@ Item
|
||||||
{
|
{
|
||||||
UM.I18nCatalog { id: catalog; name: "cura" }
|
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||||
|
|
||||||
property bool newCloudPrintersDetected: Cura.API.account.newCloudPrintersDetected
|
property bool newCloudPrintersDetected: CuraApplication.getDiscoveredUltimakerCloudPrintersModel().newCloudPrintersDetected
|
||||||
|
|
||||||
onNewCloudPrintersDetectedChanged:
|
onNewCloudPrintersDetectedChanged:
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue