123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- // Copyright (c) 2015 Ultimaker B.V.
- // Cura is released under the terms of the AGPLv3 or higher.
- import QtQuick 2.2
- import QtQuick.Controls 1.1
- import QtQuick.Controls.Styles 1.1
- import UM 1.1 as UM
- Item
- {
- id: base;
- // Machine Setup
- property Action addMachineAction;
- property Action configureMachinesAction;
- UM.I18nCatalog { id: catalog; name:"cura"}
- property int totalHeightHeader: childrenRect.height
- Rectangle {
- id: sidebarTabRow
- width: base.width
- height: 0
- anchors.top: parent.top
- color: UM.Theme.getColor("sidebar_header_bar")
- }
- Label{
- id: printjobTabLabel
- text: catalog.i18nc("@label:listbox","Print Job");
- anchors.left: parent.left
- anchors.leftMargin: UM.Theme.getSize("default_margin").width;
- anchors.top: sidebarTabRow.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- width: parent.width/100*45
- font: UM.Theme.getFont("large");
- color: UM.Theme.getColor("text")
- }
- Rectangle {
- id: machineSelectionRow
- width: base.width
- height: UM.Theme.getSize("sidebar_setup").height
- anchors.top: printjobTabLabel.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- anchors.horizontalCenter: parent.horizontalCenter
- Label{
- id: machineSelectionLabel
- //: Machine selection label
- text: catalog.i18nc("@label:listbox","Printer:");
- anchors.left: parent.left
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- anchors.verticalCenter: parent.verticalCenter
- font: UM.Theme.getFont("default");
- color: UM.Theme.getColor("text");
- }
- ToolButton {
- id: machineSelection
- text: UM.MachineManager.activeMachineInstance;
- width: parent.width/100*55
- height: UM.Theme.getSize("setting_control").height
- tooltip: UM.MachineManager.activeMachineInstance;
- anchors.right: parent.right
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- anchors.verticalCenter: parent.verticalCenter
- style: UM.Theme.styles.sidebar_header_button
- menu: Menu
- {
- id: machineSelectionMenu
- Instantiator
- {
- // model: UM.MachineInstancesModel { }
- MenuItem
- {
- text: model.name;
- checkable: true;
- checked: model.active;
- exclusiveGroup: machineSelectionMenuGroup;
- onTriggered: UM.MachineManager.setActiveMachineInstance(model.name);
- }
- onObjectAdded: machineSelectionMenu.insertItem(index, object)
- onObjectRemoved: machineSelectionMenu.removeItem(object)
- }
- ExclusiveGroup { id: machineSelectionMenuGroup; }
- MenuSeparator { }
- MenuItem { action: base.addMachineAction; }
- MenuItem { action: base.configureMachinesAction; }
- }
- }
- }
- Rectangle {
- id: variantRow
- anchors.top: machineSelectionRow.bottom
- anchors.topMargin: visible ? UM.Theme.getSize("default_margin").height : 0
- width: base.width
- height: visible ? UM.Theme.getSize("sidebar_setup").height : 0
- visible: UM.MachineManager.hasVariants || UM.MachineManager.hasMaterials
- Label{
- id: variantLabel
- text: (UM.MachineManager.hasVariants && UM.MachineManager.hasMaterials) ? catalog.i18nc("@label","Nozzle & Material:"):
- UM.MachineManager.hasVariants ? catalog.i18nc("@label","Nozzle:") : catalog.i18nc("@label","Material:");
- anchors.left: parent.left
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- anchors.verticalCenter: parent.verticalCenter
- width: parent.width/100*45
- font: UM.Theme.getFont("default");
- color: UM.Theme.getColor("text");
- }
- Rectangle {
- anchors.right: parent.right
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- anchors.verticalCenter: parent.verticalCenter
- width: parent.width/100*55
- height: UM.Theme.getSize("setting_control").height
- ToolButton {
- id: variantSelection
- text: UM.MachineManager.activeMachineVariant
- tooltip: UM.MachineManager.activeMachineVariant;
- visible: UM.MachineManager.hasVariants
- height: UM.Theme.getSize("setting_control").height
- width: materialSelection.visible ? (parent.width - UM.Theme.getSize("default_margin").width) / 2 : parent.width
- anchors.left: parent.left
- style: UM.Theme.styles.sidebar_header_button
- menu: Menu
- {
- id: variantsSelectionMenu
- Instantiator
- {
- id: variantSelectionInstantiator
- // model: UM.MachineVariantsModel { id: variantsModel }
- MenuItem
- {
- text: model.name;
- checkable: true;
- checked: model.active;
- exclusiveGroup: variantSelectionMenuGroup;
- onTriggered:
- {
- UM.MachineManager.setActiveMachineVariant(variantsModel.getItem(index).name);
- if (typeof(model) !== "undefined" && !model.active) {
- //Selecting a variant was canceled; undo menu selection
- variantSelectionInstantiator.model.setProperty(index, "active", false);
- var activeMachineVariantName = UM.MachineManager.activeMachineVariant;
- var activeMachineVariantIndex = variantSelectionInstantiator.model.find("name", activeMachineVariantName);
- variantSelectionInstantiator.model.setProperty(activeMachineVariantIndex, "active", true);
- }
- }
- }
- onObjectAdded: variantsSelectionMenu.insertItem(index, object)
- onObjectRemoved: variantsSelectionMenu.removeItem(object)
- }
- ExclusiveGroup { id: variantSelectionMenuGroup; }
- }
- }
- ToolButton {
- id: materialSelection
- text: UM.MachineManager.activeMaterial
- tooltip: UM.MachineManager.activeMaterial
- visible: UM.MachineManager.hasMaterials
- height: UM.Theme.getSize("setting_control").height
- width: variantSelection.visible ? (parent.width - UM.Theme.getSize("default_margin").width) / 2 : parent.width
- anchors.right: parent.right
- style: UM.Theme.styles.sidebar_header_button
- menu: Menu
- {
- id: materialSelectionMenu
- Instantiator
- {
- id: materialSelectionInstantiator
- // model: UM.MachineMaterialsModel { id: machineMaterialsModel }
- MenuItem
- {
- text: model.name;
- checkable: true;
- checked: model.active;
- exclusiveGroup: materialSelectionMenuGroup;
- onTriggered:
- {
- UM.MachineManager.setActiveMaterial(machineMaterialsModel.getItem(index).name);
- if (typeof(model) !== "undefined" && !model.active) {
- //Selecting a material was canceled; undo menu selection
- materialSelectionInstantiator.model.setProperty(index, "active", false);
- var activeMaterialName = UM.MachineManager.activeMaterial;
- var activeMaterialIndex = materialSelectionInstantiator.model.find("name", activeMaterialName);
- materialSelectionInstantiator.model.setProperty(activeMaterialIndex, "active", true);
- }
- }
- }
- onObjectAdded: materialSelectionMenu.insertItem(index, object)
- onObjectRemoved: materialSelectionMenu.removeItem(object)
- }
- ExclusiveGroup { id: materialSelectionMenuGroup; }
- }
- }
- }
- }
- }
|