mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-09 14:55:03 -06:00
Implement test version of showing cloud connected printers in list
This commit is contained in:
parent
82d2696739
commit
e98f3bff38
5 changed files with 99 additions and 3 deletions
26
resources/qml/Menus/CloudPrinterMenu.qml
Normal file
26
resources/qml/Menus/CloudPrinterMenu.qml
Normal file
|
@ -0,0 +1,26 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.4
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Instantiator {
|
||||
|
||||
model: UM.ContainerStacksModel {
|
||||
filter: {"type": "machine", "um_cloud_cluster_id": "*", "hidden": "False"}
|
||||
}
|
||||
|
||||
MenuItem {
|
||||
// iconSource: UM.Theme.getIcon("printer_single") TODO: use cloud icon here
|
||||
text: model.name
|
||||
checkable: true
|
||||
checked: true // cloud printers are only listed if they are actually online
|
||||
exclusiveGroup: group;
|
||||
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
|
||||
}
|
||||
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
}
|
|
@ -37,6 +37,23 @@ Menu
|
|||
visible: networkPrinterMenu.count > 0
|
||||
}
|
||||
|
||||
MenuItem
|
||||
{
|
||||
text: catalog.i18nc("@label:category menu label", "Cloud enabled printers")
|
||||
enabled: false
|
||||
visible: cloudPrinterMenu.count > 0
|
||||
}
|
||||
|
||||
CloudPrinterMenu
|
||||
{
|
||||
id: cloudPrinterMenu
|
||||
}
|
||||
|
||||
MenuSeparator
|
||||
{
|
||||
visible: cloudPrinterMenu.count > 0
|
||||
}
|
||||
|
||||
MenuItem
|
||||
{
|
||||
text: catalog.i18nc("@label:category menu label", "Local printers")
|
||||
|
|
|
@ -50,6 +50,46 @@ Column
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Cloud connected printers")
|
||||
visible: cloudPrintersModel.items.length > 0
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
|
||||
renderType: Text.NativeRendering
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("text_medium")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: cloudPrinters
|
||||
|
||||
model: UM.ContainerStacksModel
|
||||
{
|
||||
id: cloudPrintersModel
|
||||
filter:
|
||||
{
|
||||
"type": "machine",
|
||||
"um_cloud_cluster_id": "*"
|
||||
}
|
||||
}
|
||||
|
||||
delegate: MachineSelectorButton
|
||||
{
|
||||
text: model.metadata["connect_group_name"]
|
||||
checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Cura.MachineManager
|
||||
onActiveMachineNetworkGroupNameChanged: checked = Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Preset printers")
|
||||
|
@ -71,7 +111,9 @@ Column
|
|||
id: virtualPrintersModel
|
||||
filter:
|
||||
{
|
||||
"type": "machine", "um_network_key": null
|
||||
"type": "machine",
|
||||
"um_network_key": null,
|
||||
"um_cloud_cluster_id": null
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue