12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // Copyright (c) 2017 Ultimaker B.V.
- // Cura is released under the terms of the AGPLv3 or higher.
- import QtQuick 2.2
- import QtQuick.Controls 1.1
- import UM 1.2 as UM
- import Cura 1.0 as Cura
- Menu
- {
- id: menu
- title: "Nozzle"
- property int extruderIndex: 0
- property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
- MenuItem
- {
- id: automaticNozzle
- text:
- {
- if(printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex)
- {
- var nozzleName = Cura.MachineManager.printerOutputDevices[0].hotendIds[extruderIndex];
- return catalog.i18nc("@title:menuitem %1 is the nozzle currently loaded in the printer", "Automatic: %1").arg(nozzleName);
- }
- return "";
- }
- visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex
- onTriggered:
- {
- var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
- ExtruderManager.setActiveExtruderIndex(extruderIndex);
- var hotendId = Cura.MachineManager.printerOutputDevices[0].hotendIds[extruderIndex];
- var itemIndex = nozzleInstantiator.model.find("name", hotendId);
- if(itemIndex > -1)
- {
- Cura.MachineManager.setActiveVariant(nozzleInstantiator.model.getItem(itemIndex).id);
- }
- ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
- }
- }
- MenuSeparator
- {
- visible: automaticNozzle.visible
- }
- Instantiator
- {
- id: nozzleInstantiator
- model: UM.InstanceContainersModel
- {
- filter:
- {
- "type": "variant",
- "definition": Cura.MachineManager.activeQualityDefinitionId //Only show variants of this machine
- }
- }
- MenuItem {
- text: model.name
- checkable: true
- checked: model.id == Cura.MachineManager.allActiveVariantIds[ExtruderManager.extruderIds[extruderIndex]]
- exclusiveGroup: group
- onTriggered:
- {
- var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
- ExtruderManager.setActiveExtruderIndex(extruderIndex);
- Cura.MachineManager.setActiveVariant(model.id);
- ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
- }
- }
- onObjectAdded: menu.insertItem(index, object)
- onObjectRemoved: menu.removeItem(object)
- }
- ExclusiveGroup { id: group }
- }
|