// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 import QtQuick.Controls 1.1 import UM 1.2 as UM import Cura 1.0 as Cura Button { id: base property var extruder; text: catalog.i18ncp("@label %1 is filled in with the name of an extruder", "Print Selected Model with %1", "Print Selected Models with %1", UM.Selection.selectionCount).arg(extruder.name) style: UM.Theme.styles.toolbar_button iconSource: UM.Theme.getIcon("extruder_button") checked: Cura.ExtruderManager.selectedObjectExtruders.indexOf(extruder.id) != -1 enabled: UM.Selection.hasSelection && extruder.stack.isEnabled property bool isFirstElement: extrudersModel.getItem(0).name == model.name property bool isLastElement: extrudersModel.getItem(extrudersModel.rowCount() - 1).name == model.name Item { anchors.centerIn: parent width: UM.Theme.getSize("default_margin").width height: UM.Theme.getSize("default_margin").height opacity: !base.enabled ? 0.2 : 1.0 Label { anchors.centerIn: parent text: index + 1 color: UM.Theme.getColor("toolbar_button_text") font: UM.Theme.getFont("default_bold") } } // Material colour circle // Only draw the filling colour of the material inside the SVG border. Rectangle { anchors { right: parent.right top: parent.top rightMargin: UM.Theme.getSize("extruder_button_material_margin").width topMargin: UM.Theme.getSize("extruder_button_material_margin").height } color: model.color width: UM.Theme.getSize("extruder_button_material").width height: UM.Theme.getSize("extruder_button_material").height radius: Math.round(width / 2) border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("extruder_button_material_border") opacity: !base.enabled ? 0.2 : 1.0 } onClicked: { forceActiveFocus() //First grab focus, so all the text fields are updated CuraActions.setExtruderForSelection(extruder.id); } }