mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 01:07:52 -06:00
Add sanity check for printers that are online. They must have an online connection type. This can pop up when adding a printer from a 3mf since we do not store the connection_type but we do store is_online=True.
CURA-9277
This commit is contained in:
parent
426a5c3cc5
commit
f3b9040561
1 changed files with 9 additions and 1 deletions
|
@ -11,6 +11,7 @@ from UM.Qt.ListModel import ListModel
|
||||||
from UM.Settings.ContainerStack import ContainerStack
|
from UM.Settings.ContainerStack import ContainerStack
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from UM.Util import parseBool
|
from UM.Util import parseBool
|
||||||
|
from cura.PrinterOutput.PrinterOutputDevice import ConnectionType
|
||||||
|
|
||||||
from cura.Settings.CuraContainerRegistry import CuraContainerRegistry
|
from cura.Settings.CuraContainerRegistry import CuraContainerRegistry
|
||||||
from cura.Settings.GlobalStack import GlobalStack
|
from cura.Settings.GlobalStack import GlobalStack
|
||||||
|
@ -90,10 +91,17 @@ class MachineListModel(ListModel):
|
||||||
if parseBool(container_stack.getMetaDataEntry("hidden", False)):
|
if parseBool(container_stack.getMetaDataEntry("hidden", False)):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# This is required because machines loaded from projects have the is_online="True" but no connection type.
|
||||||
|
# We want to display them the same way as unconnected printers in this case.
|
||||||
|
has_connection = False
|
||||||
|
has_connection |= parseBool(container_stack.getMetaDataEntry("is_abstract_machine", False))
|
||||||
|
for connection_type in [ConnectionType.NetworkConnection.value, ConnectionType.CloudConnection.value]:
|
||||||
|
has_connection |= connection_type in container_stack.configuredConnectionTypes
|
||||||
|
|
||||||
self.appendItem({"name": container_stack.getName(),
|
self.appendItem({"name": container_stack.getName(),
|
||||||
"id": container_stack.getId(),
|
"id": container_stack.getId(),
|
||||||
"metadata": container_stack.getMetaData().copy(),
|
"metadata": container_stack.getMetaData().copy(),
|
||||||
"isOnline": parseBool(container_stack.getMetaDataEntry("is_online", False)),
|
"isOnline": parseBool(container_stack.getMetaDataEntry("is_online", False)) and has_connection,
|
||||||
"isAbstractMachine": parseBool(container_stack.getMetaDataEntry("is_abstract_machine", False)),
|
"isAbstractMachine": parseBool(container_stack.getMetaDataEntry("is_abstract_machine", False)),
|
||||||
"machineCount": machine_count,
|
"machineCount": machine_count,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue