Fix setting variant of non-active extruder through menu

This commit is contained in:
fieldOfView 2017-08-08 11:41:15 +02:00
parent 8d72ba5fe7
commit 0630559472

View File

@ -30,12 +30,15 @@ Menu
visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].hotendIds.length > extruderIndex
onTriggered: onTriggered:
{ {
var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
ExtruderManager.setActiveExtruderIndex(extruderIndex);
var hotendId = Cura.MachineManager.printerOutputDevices[0].hotendIds[extruderIndex]; var hotendId = Cura.MachineManager.printerOutputDevices[0].hotendIds[extruderIndex];
var itemIndex = nozzleInstantiator.model.find("name", hotendId); var itemIndex = nozzleInstantiator.model.find("name", hotendId);
if(itemIndex > -1) if(itemIndex > -1)
{ {
Cura.MachineManager.setActiveVariant(nozzleInstantiator.model.getItem(itemIndex).id) Cura.MachineManager.setActiveVariant(nozzleInstantiator.model.getItem(itemIndex).id);
} }
ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
} }
} }
@ -56,11 +59,17 @@ Menu
} }
} }
MenuItem { MenuItem {
text: model.name; text: model.name
checkable: true; checkable: true
checked: model.id == Cura.MachineManager.activeVariantId; checked: model.id == Cura.MachineManager.allActiveVariantIds[ExtruderManager.extruderIds[extruderIndex]]
exclusiveGroup: group exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveVariant(model.id) onTriggered:
{
var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
ExtruderManager.setActiveExtruderIndex(extruderIndex);
Cura.MachineManager.setActiveVariant(model.id);
ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
}
} }
onObjectAdded: menu.insertItem(index, object) onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem(object) onObjectRemoved: menu.removeItem(object)