mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-05-01 08:14:22 +08:00
111 lines
2.8 KiB
QML
111 lines
2.8 KiB
QML
// Copyright (c) 2015 Ultimaker B.V.
|
|
// Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import QtQuick 2.2
|
|
import QtQuick.Window 2.2
|
|
import QtQuick.Controls 1.2
|
|
|
|
import UM 1.1 as UM
|
|
|
|
UM.Dialog
|
|
{
|
|
id: base;
|
|
|
|
minimumWidth: 500 * screenScaleFactor
|
|
minimumHeight: 140 * screenScaleFactor
|
|
maximumWidth: minimumWidth
|
|
maximumHeight: minimumHeight
|
|
width: minimumWidth
|
|
height: minimumHeight
|
|
|
|
visible: true
|
|
modality: Qt.ApplicationModal
|
|
onVisibleChanged:
|
|
{
|
|
if(visible)
|
|
{
|
|
resetPrintersModel()
|
|
}
|
|
}
|
|
title: catalog.i18nc("@title:window", "Print over network")
|
|
|
|
property var printersModel: ListModel{}
|
|
function resetPrintersModel() {
|
|
printersModel.clear()
|
|
printersModel.append({ name: "Automatic", key: ""})
|
|
|
|
for (var index in OutputDevice.printers)
|
|
{
|
|
printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key})
|
|
}
|
|
}
|
|
|
|
Column
|
|
{
|
|
id: printerSelection
|
|
anchors.fill: parent
|
|
anchors.top: parent.top
|
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
height: 50 * screenScaleFactord
|
|
Label
|
|
{
|
|
id: manualPrinterSelectionLabel
|
|
anchors
|
|
{
|
|
left: parent.left
|
|
topMargin: UM.Theme.getSize("default_margin").height
|
|
right: parent.right
|
|
}
|
|
text: catalog.i18nc("@label", "Printer selection")
|
|
wrapMode: Text.Wrap
|
|
height: 20 * screenScaleFactor
|
|
}
|
|
|
|
ComboBox
|
|
{
|
|
id: printerSelectionCombobox
|
|
model: base.printersModel
|
|
textRole: "name"
|
|
|
|
width: parent.width
|
|
height: 40 * screenScaleFactor
|
|
Behavior on height { NumberAnimation { duration: 100 } }
|
|
}
|
|
|
|
SystemPalette
|
|
{
|
|
id: palette
|
|
}
|
|
|
|
UM.I18nCatalog { id: catalog; name: "cura"; }
|
|
}
|
|
|
|
leftButtons: [
|
|
Button
|
|
{
|
|
text: catalog.i18nc("@action:button","Cancel")
|
|
enabled: true
|
|
onClicked: {
|
|
base.visible = false;
|
|
printerSelectionCombobox.currentIndex = 0
|
|
}
|
|
}
|
|
]
|
|
|
|
rightButtons: [
|
|
Button
|
|
{
|
|
text: catalog.i18nc("@action:button","Print")
|
|
enabled: true
|
|
onClicked: {
|
|
base.visible = false;
|
|
OutputDevice.sendPrintJob(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key)
|
|
// reset to defaults
|
|
printerSelectionCombobox.currentIndex = 0
|
|
}
|
|
}
|
|
]
|
|
}
|