Update drop down to show correct printer icons in header

CURA-9424
This commit is contained in:
Joey de l'Arago 2022-11-11 16:34:22 +01:00
parent 1d34cd01c1
commit 44d9df57e4
2 changed files with 28 additions and 4 deletions

View file

@ -66,6 +66,8 @@ class WorkspaceDialog(QObject):
self._missing_package_metadata: List[Dict[str, str]] = []
self._plugin_registry: PluginRegistry = CuraApplication.getInstance().getPluginRegistry()
self._install_missing_package_dialog: Optional[QObject] = None
self._is_abstract_machine = False
self._is_online_machine = False
machineConflictChanged = pyqtSignal()
qualityChangesConflictChanged = pyqtSignal()
@ -79,6 +81,8 @@ class WorkspaceDialog(QObject):
intentNameChanged = pyqtSignal()
machineNameChanged = pyqtSignal()
updatableMachinesChanged = pyqtSignal()
isAbstractMachineChanged = pyqtSignal()
isOnlineChanged = pyqtSignal()
materialLabelsChanged = pyqtSignal()
objectsOnPlateChanged = pyqtSignal()
numUserSettingsChanged = pyqtSignal()
@ -167,6 +171,24 @@ class WorkspaceDialog(QObject):
self._updatable_machines_model.set_machines_filter(updatable_machines)
self.updatableMachinesChanged.emit()
@pyqtProperty(bool, notify = isAbstractMachineChanged)
def isAbstractMachine(self) -> bool:
return self._is_abstract_machine
@pyqtSlot(bool)
def setIsAbstractMachine(self, is_abstract_machine: bool) -> None:
self._is_abstract_machine = is_abstract_machine
self.isAbstractMachineChanged.emit()
@pyqtProperty(bool, notify = isOnlineChanged)
def isOnline(self) -> bool:
return self._is_online_machine
@pyqtSlot(bool)
def setIsNetworkedMachine(self, is_online_machine: bool) -> None:
self._is_online_machine = is_online_machine
self.isOnlineChanged.emit()
@pyqtProperty(str, notify=qualityTypeChanged)
def qualityType(self) -> str:
return self._quality_type

View file

@ -112,10 +112,10 @@ UM.Dialog
machineListModel: manager.updatableMachinesModel
machineName: manager.machineName
isNetworkPrinter: false
isConnectedCloudPrinter: false
isCloudRegistered: false
isGroup: false
isNetworkPrinter: manager.isOnline
isGroup: manager.isAbstractMachine
minDropDownWidth: machineSelector.width
@ -129,10 +129,10 @@ UM.Dialog
onClicked:
{
machineSelector.machineName = catalog.i18nc("@button", "Create new")
machineSelector.isNetworkPrinter = false
manager.setIsAbstractMachine(false)
manager.setIsNetworkedMachine(false)
machineSelector.isConnectedCloudPrinter = false
machineSelector.isCloudRegistered = false
machineSelector.isGroup = false
toggleContent()
manager.setResolveStrategy("machine", "new")
@ -145,6 +145,8 @@ UM.Dialog
toggleContent();
manager.setResolveStrategy("machine", "override")
manager.setMachineToOverride(machine.id)
manager.setIsAbstractMachine(machine.isAbstractMachine)
manager.setIsNetworkedMachine(machine.isOnline)
machineSelector.machineName = machine.name
}
}