diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index e5a2219c8f..5a11538763 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -135,6 +135,23 @@ UM.MainWindow { MenuSeparator { } + Instantiator { + model: UM.MachineVariantsModel { } + MenuItem { + text: model.name; + checkable: true; + checked: model.active; + exclusiveGroup: machineVariantsGroup; + onTriggered: UM.MachineManager.setActiveMachineVariant(model.name) + } + onObjectAdded: machineMenu.insertItem(index, object) + onObjectRemoved: machineMenu.removeItem(object) + } + + ExclusiveGroup { id: machineVariantsGroup; } + + MenuSeparator { visible: UM.MachineManager.hasVariants; } + MenuItem { action: actions.addMachine; } MenuItem { action: actions.configureMachines; } } diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index e46cfbe501..36798c2c73 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -6,7 +6,7 @@ import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Layouts 1.1 -import UM 1.0 as UM +import UM 1.1 as UM Rectangle { id: base; @@ -60,6 +60,28 @@ Rectangle { onCurrentModeIndexChanged: UM.Preferences.setValue("cura/active_mode", currentModeIndex); } + Item { + Layout.fillWidth: true; + implicitHeight: UM.Theme.sizes.setting.height; + + visible: UM.MachineManager.hasVariants; + + Row { + spacing: UM.Theme.sizes.default_margin.width; + Label { + anchors.verticalCenter: parent.verticalCenter; + text: "Variant"; + } + + ComboBox { + anchors.verticalCenter: parent.verticalCenter; + model: UM.MachineVariantsModel { } + textRole: "name" + onActivated: UM.MachineManager.setActiveMachineVariant(model.getItem(index).name); + } + } + } + Item { Layout.fillWidth: true; implicitHeight: UM.Theme.sizes.setting.height; @@ -83,6 +105,7 @@ Rectangle { } } } + Loader { id: sidebarContents;