123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- // Copyright (c) 2016 Ultimaker B.V.
- // Uranium is released under the terms of the AGPLv3 or higher.
- import QtQuick 2.1
- import QtQuick.Controls 1.1
- import UM 1.2 as UM
- import Cura 1.0 as Cura
- UM.ManagementPage
- {
- id: base;
- title: catalog.i18nc("@title:tab", "Printers");
- model: UM.ContainerStacksModel
- {
- filter: {"type": "machine"}
- }
- activeId: Cura.MachineManager.activeMachineId
- activeIndex: {
- for(var i = 0; i < model.rowCount(); i++) {
- if (model.getItem(i).id == Cura.MachineManager.activeMachineId) {
- return i;
- }
- }
- return -1;
- }
- buttons: [
- Button
- {
- text: catalog.i18nc("@action:button", "Activate");
- iconName: "list-activate";
- enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId
- onClicked: Cura.MachineManager.setActiveMachine(base.currentItem.id)
- },
- Button
- {
- text: catalog.i18nc("@action:button", "Add");
- iconName: "list-add";
- onClicked: Printer.requestAddPrinter()
- },
- Button
- {
- text: catalog.i18nc("@action:button", "Remove");
- iconName: "list-remove";
- enabled: base.currentItem != null && model.rowCount() > 1
- onClicked: confirmDialog.open();
- },
- Button
- {
- text: catalog.i18nc("@action:button", "Rename");
- iconName: "edit-rename";
- enabled: base.currentItem != null
- onClicked: renameDialog.open();
- }
- ]
- Item
- {
- visible: base.currentItem != null
- anchors.fill: parent
- Label
- {
- id: machineName
- text: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
- font: UM.Theme.getFont("large")
- width: parent.width
- elide: Text.ElideRight
- }
- Flow
- {
- id: machineActions
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.top: machineName.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- Repeater
- {
- id: machineActionRepeater
- model: Cura.MachineActionManager.getSupportedActions(Cura.MachineManager.getDefinitionByMachineId(base.currentItem.id))
- Button
- {
- text: machineActionRepeater.model[index].label;
- onClicked:
- {
- actionDialog.content = machineActionRepeater.model[index].displayItem
- machineActionRepeater.model[index].displayItem.reset()
- actionDialog.show()
- }
- }
- }
- }
- UM.Dialog
- {
- id: actionDialog
- property var content
- onContentChanged:
- {
- contents = content;
- content.onCompleted.connect(hide)
- }
- }
- Row
- {
- anchors.top: machineActions.visible ? machineActions.bottom : machineActions.anchors.top
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- anchors.left: parent.left
- anchors.right: parent.right
- spacing: UM.Theme.getSize("default_margin").height
- Label { text: catalog.i18nc("@label", "Type") }
- Label { text: base.currentItem ? base.currentItem.metadata.definition_name : "" }
- }
- UM.I18nCatalog { id: catalog; name: "uranium"; }
- UM.ConfirmRemoveDialog
- {
- id: confirmDialog;
- object: base.currentItem && base.currentItem.name ? base.currentItem.name : "";
- onYes: Cura.MachineManager.removeMachine(base.currentItem.id);
- }
- UM.RenameDialog
- {
- id: renameDialog;
- object: base.currentItem && base.currentItem.name ? base.currentItem.name : "";
- onAccepted:
- {
- Cura.MachineManager.renameMachine(base.currentItem.id, newName.trim());
- //Reselect current item to update details panel
- var index = objectList.currentIndex
- objectList.currentIndex = -1
- objectList.currentIndex = index
- }
- }
- }
- }
|