// Copyright (c) 2019 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.1 import QtQuick.Controls 2.15 as NewControls import UM 1.1 as UM UM.Dialog { id: base; title: catalog.i18nc("@title:window", "Print over network"); width: minimumWidth; height: minimumHeight; maximumHeight: minimumHeight; maximumWidth: minimumWidth; minimumHeight: 140 * screenScaleFactor; minimumWidth: 500 * screenScaleFactor; modality: Qt.ApplicationModal; Component.onCompleted: { populateComboBox() } // populates the combo box with the correct printer values function populateComboBox() { comboBoxPrintersModel.clear(); comboBoxPrintersModel.append({ name: "Automatic", key: "" }); // Connect will just do it's thing for (var i in OutputDevice.printers) { comboBoxPrintersModel.append({ name: OutputDevice.printers[i].name, key: OutputDevice.printers[i].uniqueName }); } } leftButtons: [ Button { enabled: true; onClicked: { base.close(); } text: catalog.i18nc("@action:button","Cancel"); } ] rightButtons: [ Button { enabled: true; onClicked: { OutputDevice.selectTargetPrinter(printerComboBox.model.get(printerComboBox.currentIndex).key); base.close(); } text: catalog.i18nc("@action:button","Print"); } ] Column { id: printerSelection; anchors { fill: parent; leftMargin: UM.Theme.getSize("default_margin").width; rightMargin: UM.Theme.getSize("default_margin").width; top: parent.top; topMargin: UM.Theme.getSize("default_margin").height; } height: 50 * screenScaleFactor; UM.I18nCatalog { id: catalog; name: "cura"; } Label { id: manualPrinterSelectionLabel; anchors { left: parent.left; right: parent.right; topMargin: UM.Theme.getSize("default_margin").height; } height: 20 * screenScaleFactor; text: catalog.i18nc("@label", "Printer selection"); wrapMode: Text.Wrap; renderType: Text.NativeRendering; } NewControls.ComboBox { id: printerComboBox; currentIndex: 0; Behavior on height { NumberAnimation { duration: 100 } } height: 40 * screenScaleFactor; model: ListModel { id: comboBoxPrintersModel; } textRole: "name"; width: parent.width; } } }