Re-Add the material & printcore selection to the configuration selector

CURA-5785
This commit is contained in:
Jaime van Kessel 2018-11-09 16:59:10 +01:00
parent 2c7bdba7d0
commit 1602bf0999

View file

@ -4,6 +4,9 @@
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.11
import QtQuick.Controls 1.1 as OldControls
import UM 1.2 as UM
import Cura 1.0 as Cura
@ -12,33 +15,28 @@ import Cura 1.0 as Cura
Cura.ExpandableComponent
{
id: base
Cura.ExtrudersModel
{
id: extrudersModel
}
headerItem: Item
{
Cura.ExtrudersModel
{
id: extrudersModel
}
// Horizontal list that shows the extruders
ListView
{
// Horizontal list that shows the extruders
id: extrudersList
orientation: ListView.Horizontal
anchors.fill: parent
model: extrudersModel
Connections
{
target: Cura.MachineManager
onGlobalContainerChanged: forceActiveFocus() // Changing focus applies the currently-being-typed values so it can change the displayed setting values.
}
delegate: Item
{
height: parent.height
width: Math.round(ListView.view.width / extrudersModel.rowCount())
// Extruder icon. Shows extruder index and has the same color as the active material.
Cura.ExtruderIcon
{
id: extruderIcon
@ -47,6 +45,7 @@ Cura.ExpandableComponent
width: height
}
// Label for the human readable material color name
Label
{
id: brandNameLabel
@ -62,6 +61,8 @@ Cura.ExpandableComponent
rightMargin: UM.Theme.getSize("default_margin").width
}
}
// Label that shows the brand of the material
Label
{
text: model.color_name
@ -80,7 +81,150 @@ Cura.ExpandableComponent
}
}
popupItem: Item
{
width: base.width
height: 200
TabBar
{
id: tabBar
onCurrentIndexChanged: Cura.ExtruderManager.setActiveExtruderIndex(currentIndex)
width: parent.width
height: 50
Repeater
{
model: extrudersModel
delegate: TabButton
{
width: Math.round(ListView.view.width / extrudersModel.rowCount())
height: parent.height
contentItem: Item
{
Cura.ExtruderIcon
{
anchors.horizontalCenter: parent.horizontalCenter
materialColor: model.color
width: parent.height
height: parent.height
}
}
}
}
}
Item
{
id: tabControl
width: parent.width
anchors.top: tabBar.bottom
anchors.bottom: parent.bottom
property var model: extrudersModel.items[tabBar.currentIndex]
property real textWidth: Math.round(width * 0.3)
property real controlWidth: Math.round(width * 0.7)
Column
{
spacing: UM.Theme.getSize("default_margin").height
Row
{
height: UM.Theme.getSize("print_setup_item").height
Label
{
text: "Enabled"
verticalAlignment: Text.AlignVCenter
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
height: parent.height
width: tabControl.textWidth
}
OldControls.CheckBox
{
checked: Cura.MachineManager.getExtruder(parent.model.index).isEnabled
onClicked: Cura.MachineManager.setExtruderEnabled(parent.model.index, checked)
height: UM.Theme.getSize("setting_control").height
style: UM.Theme.styles.checkbox
}
}
Row
{
height: UM.Theme.getSize("print_setup_item").height
Label
{
text: "Material"
verticalAlignment: Text.AlignVCenter
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
height: parent.height
width: tabControl.textWidth
}
OldControls.ToolButton
{
id: materialSelection
property var activeExtruder: Cura.MachineManager.activeStack
property var hasActiveExtruder: activeExtruder != null
property var currentRootMaterialName: hasActiveExtruder ? activeExtruder.material.name : ""
property var valueError: hasActiveExtruder ? Cura.ContainerManager.getContainerMetaDataEntry(activeExtruder.material.id, "compatible", "") != "True" : true
property var valueWarning: ! Cura.MachineManager.isActiveQualitySupported
text: currentRootMaterialName
tooltip: currentRootMaterialName
visible: Cura.MachineManager.hasMaterials
enabled: !extrudersList.visible || Cura.ExtruderManager.activeExtruderIndex > -1
height: UM.Theme.getSize("setting_control").height
width: tabControl.controlWidth
style: UM.Theme.styles.sidebar_header_button
activeFocusOnPress: true
menu: Cura.MaterialMenu
{
extruderIndex: Cura.ExtruderManager.activeExtruderIndex
}
}
}
Row
{
height: UM.Theme.getSize("print_setup_item").height
Label
{
text: Cura.MachineManager.activeDefinitionVariantsName
verticalAlignment: Text.AlignVCenter
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
height: parent.height
width: tabControl.textWidth
}
OldControls.ToolButton
{
id: variantSelection
text: Cura.MachineManager.activeVariantName
tooltip: Cura.MachineManager.activeVariantName;
visible: Cura.MachineManager.hasVariants
height: UM.Theme.getSize("setting_control").height
width: tabControl.controlWidth
style: UM.Theme.styles.sidebar_header_button
activeFocusOnPress: true;
menu: Cura.NozzleMenu { extruderIndex: Cura.ExtruderManager.activeExtruderIndex }
}
}
}
}
}
}
/*Item