Clean up section property logic

CURA-9424
This commit is contained in:
c.lamboo 2022-11-09 17:11:31 +01:00
parent 79a7b1e064
commit 06a2886139
2 changed files with 33 additions and 20 deletions

View file

@ -130,17 +130,21 @@ class MachineListModel(ListModel):
if len(abstract_machine_stacks) > 0:
if self._show_cloud_printers:
self.appendItem({"componentType": "HIDE_BUTTON",
"isOnline": True,
"isAbstractMachine": False,
"machineCount": 0
})
self.appendItem({
"componentType": "HIDE_BUTTON",
"isOnline": True,
"isAbstractMachine": False,
"machineCount": 0,
"catergory": "connected",
})
else:
self.appendItem({"componentType": "SHOW_BUTTON",
"isOnline": True,
"isAbstractMachine": False,
"machineCount": 0
})
self.appendItem({
"componentType": "SHOW_BUTTON",
"isOnline": True,
"isAbstractMachine": False,
"machineCount": 0,
"catergory": "connected",
})
for stack in other_machine_stacks:
self.addItem(stack, False)
@ -150,11 +154,12 @@ class MachineListModel(ListModel):
return
self.appendItem({
"componentType": "MACHINE",
"name": container_stack.getName(),
"id": container_stack.getId(),
"metadata": container_stack.getMetaData().copy(),
"isOnline": is_online,
"isAbstractMachine": parseBool(container_stack.getMetaDataEntry("is_abstract_machine", False)),
"machineCount": machine_count,
})
"componentType": "MACHINE",
"name": container_stack.getName(),
"id": container_stack.getId(),
"metadata": container_stack.getMetaData().copy(),
"isOnline": is_online,
"isAbstractMachine": parseBool(container_stack.getMetaDataEntry("is_abstract_machine", False)),
"machineCount": machine_count,
"catergory": "connected" if is_online else "other",
})

View file

@ -10,7 +10,7 @@ import Cura 1.0 as Cura
ListView
{
id: listView
section.property: "isOnline"
section.property: "category"
property real contentHeight: childrenRect.height
property var onSelectPrinter
@ -21,7 +21,15 @@ ListView
section.delegate: UM.Label
{
text: section == "true" ? catalog.i18nc("@label", "Connected printers") : catalog.i18nc("@label", "Other printers")
text: {
switch (section)
{
case "connected":
return catalog.i18nc("@label", "Connected printers");
case "other":
return catalog.i18nc("@label", "Other printers");
}
}
height: UM.Theme.getSize("action_button").height
width: parent.width - scrollBar.width
leftPadding: UM.Theme.getSize("default_margin").width