mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 03:07:53 -06:00
Merge pull request #2224 from fieldOfView/fix_multiextruder_menus
Fix multiextruder menus
This commit is contained in:
commit
9363f93467
3 changed files with 31 additions and 23 deletions
|
@ -504,16 +504,6 @@ class MachineManager(QObject):
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@pyqtProperty("QVariantList", notify = activeVariantChanged)
|
|
||||||
def activeMaterialIds(self):
|
|
||||||
result = []
|
|
||||||
if ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() is not None:
|
|
||||||
for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks():
|
|
||||||
if stack.variant and stack.variant != self._empty_variant_container:
|
|
||||||
result.append(stack.variant.getId())
|
|
||||||
|
|
||||||
return result
|
|
||||||
|
|
||||||
@pyqtProperty("QVariantList", notify = activeMaterialChanged)
|
@pyqtProperty("QVariantList", notify = activeMaterialChanged)
|
||||||
def activeMaterialNames(self):
|
def activeMaterialNames(self):
|
||||||
result = []
|
result = []
|
||||||
|
|
|
@ -39,17 +39,20 @@ Menu
|
||||||
visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex
|
visible: printerConnected && Cura.MachineManager.printerOutputDevices[0].materialNames.length > extruderIndex
|
||||||
onTriggered:
|
onTriggered:
|
||||||
{
|
{
|
||||||
var material_id = Cura.MachineManager.printerOutputDevices[0].materialIds[extruderIndex];
|
var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
|
||||||
|
ExtruderManager.setActiveExtruderIndex(extruderIndex);
|
||||||
|
var materialId = Cura.MachineManager.printerOutputDevices[0].materialIds[extruderIndex];
|
||||||
var items = materialsModel.items;
|
var items = materialsModel.items;
|
||||||
// materialsModel.find cannot be used because we need to look inside the metadata property of items
|
// materialsModel.find cannot be used because we need to look inside the metadata property of items
|
||||||
for(var i in items)
|
for(var i in items)
|
||||||
{
|
{
|
||||||
if (items[i]["metadata"]["GUID"] == material_id)
|
if (items[i]["metadata"]["GUID"] == materialId)
|
||||||
{
|
{
|
||||||
Cura.MachineManager.setActiveMaterial(items[i].id);
|
Cura.MachineManager.setActiveMaterial(items[i].id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,12 +67,15 @@ Menu
|
||||||
MenuItem
|
MenuItem
|
||||||
{
|
{
|
||||||
text: model.name
|
text: model.name
|
||||||
checkable: true;
|
checkable: true
|
||||||
checked: model.id == Cura.MachineManager.activeMaterialId;
|
checked: model.id == Cura.MachineManager.allActiveMaterialIds[ExtruderManager.extruderIds[extruderIndex]]
|
||||||
exclusiveGroup: group;
|
exclusiveGroup: group
|
||||||
onTriggered:
|
onTriggered:
|
||||||
{
|
{
|
||||||
|
var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
|
||||||
|
ExtruderManager.setActiveExtruderIndex(extruderIndex);
|
||||||
Cura.MachineManager.setActiveMaterial(model.id);
|
Cura.MachineManager.setActiveMaterial(model.id);
|
||||||
|
ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onObjectAdded: menu.insertItem(index, object)
|
onObjectAdded: menu.insertItem(index, object)
|
||||||
|
@ -102,12 +108,15 @@ Menu
|
||||||
MenuItem
|
MenuItem
|
||||||
{
|
{
|
||||||
text: model.name
|
text: model.name
|
||||||
checkable: true;
|
checkable: true
|
||||||
checked: model.id == Cura.MachineManager.activeMaterialId;
|
checked: model.id == Cura.MachineManager.allActiveMaterialIds[ExtruderManager.extruderIds[extruderIndex]]
|
||||||
exclusiveGroup: group;
|
exclusiveGroup: group
|
||||||
onTriggered:
|
onTriggered:
|
||||||
{
|
{
|
||||||
|
var activeExtruderIndex = ExtruderManager.activeExtruderIndex;
|
||||||
|
ExtruderManager.setActiveExtruderIndex(extruderIndex);
|
||||||
Cura.MachineManager.setActiveMaterial(model.id);
|
Cura.MachineManager.setActiveMaterial(model.id);
|
||||||
|
ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onObjectAdded: brandMaterialsMenu.insertItem(index, object)
|
onObjectAdded: brandMaterialsMenu.insertItem(index, object)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue