123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- // Copyright (c) 2016 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.2
- import QtQuick.Controls 2.1
- import QtQuick.Dialogs 1.2
- import QtQuick.Window 2.1
- import UM 1.5 as UM
- import Cura 1.0 as Cura
- Menu
- {
- id: base
- property bool shouldShowExtruders: machineExtruderCount.properties.value > 1;
- property var multiBuildPlateModel: CuraApplication.getMultiBuildPlateModel()
- // Selection-related actions.
- Cura.MenuItem { action: Cura.Actions.centerSelection; }
- Cura.MenuItem { action: Cura.Actions.deleteSelection; }
- Cura.MenuItem { action: Cura.Actions.multiplySelection; }
- // Extruder selection - only visible if there is more than 1 extruder
- Cura.MenuSeparator { visible: base.shouldShowExtruders }
- Cura.MenuItem
- {
- id: extruderHeader
- text: catalog.i18ncp("@label", "Print Selected Model With:", "Print Selected Models With:", UM.Selection.selectionCount)
- enabled: false
- visible: base.shouldShowExtruders
- }
- Instantiator
- {
- model: CuraApplication.getExtrudersModel()
- Cura.MenuItem
- {
- text: "%1: %2 - %3".arg(model.name).arg(model.material).arg(model.variant)
- visible: base.shouldShowExtruders
- enabled: UM.Selection.hasSelection && model.enabled
- checkable: true
- checked: Cura.ExtruderManager.selectedObjectExtruders.indexOf(model.id) != -1
- onTriggered: CuraActions.setExtruderForSelection(model.id)
- shortcut: "Ctrl+" + (model.index + 1)
- }
- // Add it to the fifth position (and above) as we want it to be added after the extruder header.
- onObjectAdded: base.insertItem(index + 5, object)
- onObjectRemoved: base.removeItem(object)
- }
- // Global actions
- Cura.MenuSeparator {}
- Cura.MenuItem { action: Cura.Actions.selectAll }
- Cura.MenuItem { action: Cura.Actions.arrangeAll }
- Cura.MenuItem { action: Cura.Actions.deleteAll }
- Cura.MenuItem { action: Cura.Actions.reloadAll }
- Cura.MenuItem { action: Cura.Actions.resetAllTranslation }
- Cura.MenuItem { action: Cura.Actions.resetAll }
- // Group actions
- Cura.MenuSeparator {}
- Cura.MenuItem { action: Cura.Actions.groupObjects }
- Cura.MenuItem { action: Cura.Actions.mergeObjects }
- Cura.MenuItem { action: Cura.Actions.unGroupObjects }
- Connections
- {
- target: UM.Controller
- function onContextMenuRequested() { base.popup() }
- }
- Connections
- {
- target: Cura.Actions.multiplySelection
- function onTriggered() { multiplyDialog.open() }
- }
- UM.SettingPropertyProvider
- {
- id: machineExtruderCount
- containerStack: Cura.MachineManager.activeMachine
- key: "machine_extruder_count"
- watchedProperties: [ "value" ]
- }
- Dialog
- {
- id: multiplyDialog
- modality: Qt.ApplicationModal
- title: catalog.i18ncp("@title:window", "Multiply Selected Model", "Multiply Selected Models", UM.Selection.selectionCount)
- onAccepted: CuraActions.multiplySelection(copiesField.value)
- signal reset()
- onReset:
- {
- copiesField.value = 1;
- copiesField.focus = true;
- }
- onVisibleChanged:
- {
- copiesField.forceActiveFocus();
- }
- standardButtons: StandardButton.Ok | StandardButton.Cancel
- Row
- {
- spacing: UM.Theme.getSize("default_margin").width
- Label
- {
- text: catalog.i18nc("@label", "Number of Copies")
- anchors.verticalCenter: copiesField.verticalCenter
- }
- SpinBox
- {
- id: copiesField
- focus: true
- from: 1
- to: 99
- }
- }
- }
- }
|