CURA-4606 CURA-5003 select and activate material after create, duplicate

This commit is contained in:
Jack Ha 2018-02-22 17:14:23 +01:00
parent 68b1a374e0
commit cad6a3bb3d
2 changed files with 29 additions and 2 deletions

View file

@ -77,7 +77,7 @@ Item
iconName: "list-add"
onClicked: {
forceActiveFocus();
Cura.ContainerManager.createMaterial();
base.newRootMaterialIdToSwitchTo = Cura.ContainerManager.createMaterial();
}
}
@ -88,6 +88,7 @@ Item
enabled: base.hasCurrentItem
onClicked: {
forceActiveFocus();
base.newRootMaterialIdToSwitchTo = base.currentItem.root_material_id;
Cura.ContainerManager.duplicateMaterial(base.currentItem.container_node);
}
}
@ -126,6 +127,31 @@ Item
}
}
property string newRootMaterialIdToSwitchTo: ""
// This connection makes sure that we will switch to the new
Connections
{
target: materialsModel
onItemsChanged: {
var currentItemName = base.currentItem == null ? "" : base.currentItem.name;
var position = Cura.ExtruderManager.activeExtruderIndex;
if (base.newRootMaterialIdToSwitchTo != "") {
for (var idx = 0; idx < materialsModel.rowCount(); ++idx) {
var item = materialsModel.getItem(idx);
if (item.root_material_id == base.newRootMaterialIdToSwitchTo) {
// Switch to the newly created profile if needed
materialListView.currentIndex = idx;
Cura.MachineManager.setMaterial(position, item.container_node);
base.newRootMaterialIdToSwitchTo = "";
break;
}
}
}
}
}
MessageDialog
{
id: confirmRemoveMaterialDialog