Cura/resources/qml/Preferences/MachinesPage.qml
Arjen Hiemstra d8555fe57d Merge branch 'master' of github.com:ultimaker/Cura into feature_material_editing
* 'master' of github.com:ultimaker/Cura: (38 commits)
  Fixed profile file case-sensitivity.
  Fix UMO Checkup button size
  Remove debug statement and commented-out code CURA-1385
  Show "ready" state when a printer is connected but jobstate is not yet set
  Added deepcopy function
  Made exception handling of slice info plugin way more robust
  Restart timer after slicing is performed when not enabled.
  Update GUID for PLA to match the GUID in the official repository
  Set default extruder index to -1 (so global is default)
  Ensure that the display matches with the backend active extruder data
  Update UM2 Extended build volume height to value published in marketing materials
  Fixed firmware upgrade for um2+
  Capitalise setting label
  CHeckup action now correctly resets every time you start it
  Remove unused name/id when importing a profile from a gcode file
  Just a little typo
  BQ Hephestos2: Heat up nozzle while leveling
  Saving g-code no longer crashes
  Removed update firmware from extensions; This is now handled by machine actions
  Changing active extruder no longer trigger re-slice
  ...
2016-07-07 11:29:18 +02:00

148 lines
4.4 KiB
QML

// 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
}
}
}
}