mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 15:07:28 -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.CustomQualityProfilesDropDownMenuModel import CustomQualityProfilesDropDownMenuModel
|
||||
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.FavoriteMaterialsModel import FavoriteMaterialsModel
|
||||
from cura.Machines.Models.FirstStartMachineActionsModel import FirstStartMachineActionsModel
|
||||
|
@ -202,7 +202,7 @@ class CuraApplication(QtApplication):
|
|||
self._quality_management_model = None
|
||||
|
||||
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._welcome_pages_model = WelcomePagesModel(self, parent = self)
|
||||
self._add_printer_pages_model = AddPrinterPagesModel(self, parent = self)
|
||||
|
@ -889,8 +889,8 @@ class CuraApplication(QtApplication):
|
|||
return self._discovered_printer_model
|
||||
|
||||
@pyqtSlot(result=QObject)
|
||||
def getDiscoveredUltimakerCloudPrintersModel(self, *args) -> "DiscoveredUltimakerCloudPrintersModel":
|
||||
return self._discovered_ultimaker_cloud_printers_model
|
||||
def getDiscoveredCloudPrintersModel(self, *args) -> "DiscoveredCloudPrintersModel":
|
||||
return self._discovered_cloud_printers_model
|
||||
|
||||
@pyqtSlot(result = QObject)
|
||||
def getFirstStartMachineActionsModel(self, *args) -> "FirstStartMachineActionsModel":
|
||||
|
@ -1090,7 +1090,7 @@ class CuraApplication(QtApplication):
|
|||
|
||||
self.processEvents()
|
||||
qmlRegisterType(DiscoveredPrintersModel, "Cura", 1, 0, "DiscoveredPrintersModel")
|
||||
qmlRegisterType(DiscoveredUltimakerCloudPrintersModel, "Cura", 1, 7, "DiscoveredUltimakerCloudPrintersModel")
|
||||
qmlRegisterType(DiscoveredCloudPrintersModel, "Cura", 1, 7, "DiscoveredCloudPrintersModel")
|
||||
qmlRegisterSingletonType(QualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
||||
"QualityProfilesDropDownMenuModel", self.getQualityProfilesDropDownMenuModel)
|
||||
qmlRegisterSingletonType(CustomQualityProfilesDropDownMenuModel, "Cura", 1, 0,
|
||||
|
|
|
@ -8,7 +8,7 @@ if TYPE_CHECKING:
|
|||
from cura.CuraApplication import CuraApplication
|
||||
|
||||
|
||||
class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
||||
class DiscoveredCloudPrintersModel(ListModel):
|
||||
DeviceKeyRole = Qt.UserRole + 1
|
||||
DeviceNameRole = Qt.UserRole + 2
|
||||
DeviceTypeRole = Qt.UserRole + 3
|
||||
|
@ -28,14 +28,8 @@ class DiscoveredUltimakerCloudPrintersModel(ListModel):
|
|||
self._new_cloud_printers_detected = False # type: bool
|
||||
self._application = application # type: CuraApplication
|
||||
|
||||
def addDiscoveredUltimakerCloudPrinters(self, new_devices: List[Optional[Dict[str, str]]]) -> None:
|
||||
for device in new_devices:
|
||||
self._discovered_ultimaker_cloud_printers_list.append({
|
||||
"key": device.getId(),
|
||||
"name": device.name,
|
||||
"machine_type": device.printerTypeName,
|
||||
"firmware_version": device.firmwareVersion
|
||||
})
|
||||
def addDiscoveredCloudPrinters(self, new_devices: List[Dict[str, str]]) -> None:
|
||||
self._discovered_ultimaker_cloud_printers_list.extend(new_devices)
|
||||
self._update()
|
||||
|
||||
# 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
|
||||
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 remote_clusters_added:
|
||||
|
|
|
@ -20,7 +20,7 @@ Item
|
|||
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||
|
||||
property bool searchingForCloudPrinters: true
|
||||
property var discoveredCloudPrintersModel: CuraApplication.getDiscoveredUltimakerCloudPrintersModel()
|
||||
property var discoveredCloudPrintersModel: CuraApplication.getDiscoveredCloudPrintersModel()
|
||||
|
||||
Rectangle
|
||||
{
|
||||
|
|
|
@ -203,7 +203,7 @@ Item
|
|||
text: catalog.i18nc("@label", "Add cloud printer")
|
||||
height: UM.Theme.getSize("message_action_button").height
|
||||
onClicked: {
|
||||
CuraApplication.getDiscoveredUltimakerCloudPrintersModel().clear()
|
||||
CuraApplication.getDiscoveredCloudPrintersModel().clear()
|
||||
base.addCloudPrinterButtonClicked()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ Item
|
|||
|
||||
signal cloudPrintersDetected(bool newCloudPrintersDetected)
|
||||
|
||||
Component.onCompleted: CuraApplication.getDiscoveredUltimakerCloudPrintersModel().cloudPrintersDetectedChanged.connect(cloudPrintersDetected)
|
||||
Component.onCompleted: CuraApplication.getDiscoveredCloudPrintersModel().cloudPrintersDetectedChanged.connect(cloudPrintersDetected)
|
||||
|
||||
onCloudPrintersDetected:
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue