mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
Make the discovered cloud printers model generic
Removed the dependency of the DiscoveredCloudPrintersModel on CloudOutputDevice, which is Ultimaker specific. This can allow even external plugins to add to this model in the future. CURA-7022
This commit is contained in:
parent
fb328bd307
commit
eda868f938
6 changed files with 19 additions and 18 deletions
|
@ -56,7 +56,7 @@ from cura.Machines.MachineErrorChecker import MachineErrorChecker
|
||||||
from cura.Machines.Models.BuildPlateModel import BuildPlateModel
|
from cura.Machines.Models.BuildPlateModel import BuildPlateModel
|
||||||
from cura.Machines.Models.CustomQualityProfilesDropDownMenuModel import CustomQualityProfilesDropDownMenuModel
|
from cura.Machines.Models.CustomQualityProfilesDropDownMenuModel import CustomQualityProfilesDropDownMenuModel
|
||||||
from cura.Machines.Models.DiscoveredPrintersModel import DiscoveredPrintersModel
|
from cura.Machines.Models.DiscoveredPrintersModel import DiscoveredPrintersModel
|
||||||
from cura.Machines.Models.DiscoveredUltimakerCloudPrintersModel import DiscoveredUltimakerCloudPrintersModel
|
from cura.Machines.Models.DiscoveredCloudPrintersModel import DiscoveredCloudPrintersModel
|
||||||
from cura.Machines.Models.ExtrudersModel import ExtrudersModel
|
from cura.Machines.Models.ExtrudersModel import ExtrudersModel
|
||||||
from cura.Machines.Models.FavoriteMaterialsModel import FavoriteMaterialsModel
|
from cura.Machines.Models.FavoriteMaterialsModel import FavoriteMaterialsModel
|
||||||
from cura.Machines.Models.FirstStartMachineActionsModel import FirstStartMachineActionsModel
|
from cura.Machines.Models.FirstStartMachineActionsModel import FirstStartMachineActionsModel
|
||||||
|
@ -202,7 +202,7 @@ class CuraApplication(QtApplication):
|
||||||
self._quality_management_model = None
|
self._quality_management_model = None
|
||||||
|
|
||||||
self._discovered_printer_model = DiscoveredPrintersModel(self, parent = self)
|
self._discovered_printer_model = DiscoveredPrintersModel(self, parent = self)
|
||||||
self._discovered_ultimaker_cloud_printers_model = DiscoveredUltimakerCloudPrintersModel(self, parent = self)
|
self._discovered_cloud_printers_model = DiscoveredCloudPrintersModel(self, parent = self)
|
||||||
self._first_start_machine_actions_model = None
|
self._first_start_machine_actions_model = None
|
||||||
self._welcome_pages_model = WelcomePagesModel(self, parent = self)
|
self._welcome_pages_model = WelcomePagesModel(self, parent = self)
|
||||||
self._add_printer_pages_model = AddPrinterPagesModel(self, parent = self)
|
self._add_printer_pages_model = AddPrinterPagesModel(self, parent = self)
|
||||||
|
@ -889,8 +889,8 @@ class CuraApplication(QtApplication):
|
||||||
return self._discovered_printer_model
|
return self._discovered_printer_model
|
||||||
|
|
||||||
@pyqtSlot(result=QObject)
|
@pyqtSlot(result=QObject)
|
||||||
def getDiscoveredUltimakerCloudPrintersModel(self, *args) -> "DiscoveredUltimakerCloudPrintersModel":
|
def getDiscoveredCloudPrintersModel(self, *args) -> "DiscoveredCloudPrintersModel":
|
||||||
return self._discovered_ultimaker_cloud_printers_model
|
return self._discovered_cloud_printers_model
|
||||||
|
|
||||||
@pyqtSlot(result = QObject)
|
@pyqtSlot(result = QObject)
|
||||||
def getFirstStartMachineActionsModel(self, *args) -> "FirstStartMachineActionsModel":
|
def getFirstStartMachineActionsModel(self, *args) -> "FirstStartMachineActionsModel":
|
||||||
|
@ -1090,7 +1090,7 @@ class CuraApplication(QtApplication):
|
||||||
|
|
||||||
self.processEvents()
|
self.processEvents()
|
||||||
qmlRegisterType(DiscoveredPrintersModel, "Cura", 1, 0, "DiscoveredPrintersModel")
|
qmlRegisterType(DiscoveredPrintersModel, "Cura", 1, 0, "DiscoveredPrintersModel")
|
||||||
qmlRegisterType(DiscoveredUltimakerCloudPrintersModel, "Cura", 1, 7, "DiscoveredUltimakerCloudPrintersModel")
|
qmlRegisterType(DiscoveredCloudPrintersModel, "Cura", 1, 7, "DiscoveredCloudPrintersModel")
|
||||||
qmlRegisterSingletonType(QualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
qmlRegisterSingletonType(QualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
||||||
"QualityProfilesDropDownMenuModel", self.getQualityProfilesDropDownMenuModel)
|
"QualityProfilesDropDownMenuModel", self.getQualityProfilesDropDownMenuModel)
|
||||||
qmlRegisterSingletonType(CustomQualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
qmlRegisterSingletonType(CustomQualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
||||||
|
|
|
@ -8,7 +8,7 @@ if TYPE_CHECKING:
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
|
|
||||||
|
|
||||||
class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
class DiscoveredCloudPrintersModel(ListModel):
|
||||||
DeviceKeyRole = Qt.UserRole + 1
|
DeviceKeyRole = Qt.UserRole + 1
|
||||||
DeviceNameRole = Qt.UserRole + 2
|
DeviceNameRole = Qt.UserRole + 2
|
||||||
DeviceTypeRole = Qt.UserRole + 3
|
DeviceTypeRole = Qt.UserRole + 3
|
||||||
|
@ -28,14 +28,8 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||||
self._new_cloud_printers_detected = False # type: bool
|
self._new_cloud_printers_detected = False # type: bool
|
||||||
self._application = application # type: CuraApplication
|
self._application = application # type: CuraApplication
|
||||||
|
|
||||||
def addDiscoveredUltimakerCloudPrinters(self, new_devices: List[Optional[Dict[str, str]]]) -> None:
|
def addDiscoveredCloudPrinters(self, new_devices: List[Dict[str, str]]) -> None:
|
||||||
for device in new_devices:
|
self._discovered_ultimaker_cloud_printers_list.extend(new_devices)
|
||||||
self._discovered_ultimaker_cloud_printers_list.append({
|
|
||||||
"key": device.getId(),
|
|
||||||
"name": device.name,
|
|
||||||
"machine_type": device.printerTypeName,
|
|
||||||
"firmware_version": device.firmwareVersion
|
|
||||||
})
|
|
||||||
self._update()
|
self._update()
|
||||||
|
|
||||||
# Inform whether new cloud printers have been detected. If they have, the welcome wizard can close.
|
# Inform whether new cloud printers have been detected. If they have, the welcome wizard can close.
|
|
@ -142,7 +142,14 @@ class CloudOutputDeviceManager:
|
||||||
self._remote_clusters[device.getId()] = device
|
self._remote_clusters[device.getId()] = device
|
||||||
remote_clusters_added = True
|
remote_clusters_added = True
|
||||||
|
|
||||||
CuraApplication.getInstance().getDiscoveredUltimakerCloudPrintersModel().addDiscoveredUltimakerCloudPrinters(new_devices)
|
# Inform the Cloud printers model about new devices.
|
||||||
|
new_devices_list_of_dicts = [{
|
||||||
|
"key": d.getId(),
|
||||||
|
"name": d.name,
|
||||||
|
"machine_type": d.printerTypeName,
|
||||||
|
"firmware_version": d.firmwareVersion} for d in new_devices]
|
||||||
|
discovered_cloud_printers_model = CuraApplication.getInstance().getDiscoveredCloudPrintersModel()
|
||||||
|
discovered_cloud_printers_model.addDiscoveredCloudPrinters(new_devices_list_of_dicts)
|
||||||
|
|
||||||
if not new_devices:
|
if not new_devices:
|
||||||
if remote_clusters_added:
|
if remote_clusters_added:
|
||||||
|
|
|
@ -20,7 +20,7 @@ Item
|
||||||
UM.I18nCatalog { id: catalog; name: "cura" }
|
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||||
|
|
||||||
property bool searchingForCloudPrinters: true
|
property bool searchingForCloudPrinters: true
|
||||||
property var discoveredCloudPrintersModel: CuraApplication.getDiscoveredUltimakerCloudPrintersModel()
|
property var discoveredCloudPrintersModel: CuraApplication.getDiscoveredCloudPrintersModel()
|
||||||
|
|
||||||
Rectangle
|
Rectangle
|
||||||
{
|
{
|
||||||
|
|
|
@ -203,7 +203,7 @@ Item
|
||||||
text: catalog.i18nc("@label", "Add cloud printer")
|
text: catalog.i18nc("@label", "Add cloud printer")
|
||||||
height: UM.Theme.getSize("message_action_button").height
|
height: UM.Theme.getSize("message_action_button").height
|
||||||
onClicked: {
|
onClicked: {
|
||||||
CuraApplication.getDiscoveredUltimakerCloudPrintersModel().clear()
|
CuraApplication.getDiscoveredCloudPrintersModel().clear()
|
||||||
base.addCloudPrinterButtonClicked()
|
base.addCloudPrinterButtonClicked()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ Item
|
||||||
|
|
||||||
signal cloudPrintersDetected(bool newCloudPrintersDetected)
|
signal cloudPrintersDetected(bool newCloudPrintersDetected)
|
||||||
|
|
||||||
Component.onCompleted: CuraApplication.getDiscoveredUltimakerCloudPrintersModel().cloudPrintersDetectedChanged.connect(cloudPrintersDetected)
|
Component.onCompleted: CuraApplication.getDiscoveredCloudPrintersModel().cloudPrintersDetectedChanged.connect(cloudPrintersDetected)
|
||||||
|
|
||||||
onCloudPrintersDetected:
|
onCloudPrintersDetected:
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue