Make MachineSelector more generic by detaching logic from view

By detaching the logic from the view custom handlers can be added to selecting printers. This was needed as the MachineSelector in the `WorkspaceDialog` needed to do something different from the `PreparMenu`.

CURA-9424
This commit is contained in:
c.lamboo 2022-11-09 12:54:38 +01:00
parent 088ea0a768
commit dd4e1c66b7
4 changed files with 45 additions and 56 deletions

View file

@ -115,42 +115,20 @@ UM.Dialog
height: parent.height
anchors.centerIn: parent
machineListModel: manager.updatableMachinesModel
// onCurrentIndexChanged:
// {
// if (model.getItem(currentIndex).id == "new"
// && model.getItem(currentIndex).type == "default_option")
// {
// manager.setResolveStrategy("machine", "new")
// }
// else
// {
// manager.setResolveStrategy("machine", "override")
// manager.setMachineToOverride(model.getItem(currentIndex).id)
// }
// }
//
// function machineVisibleChanged()
// {
// if (!visible) {return}
//
// currentIndex = 0
// // If the project printer exists in Cura, set it as the default dropdown menu option.
// // No need to check object 0, which is the "Create new" option
// for (var i = 1; i < model.count; i++)
// {
// if (model.getItem(i).name == manager.machineName)
// {
// currentIndex = i
// break
// }
// }
// // The project printer does not exist in Cura. If there is at least one printer of the same
// // type, select the first one, else set the index to "Create new"
// if (currentIndex == 0 && model.count > 1)
// {
// currentIndex = 1
// }
// }
machineName: manager.machineName
isNetworkPrinter: false
isConnectedCloudPrinter: false
isCloudRegistered: false
isGroup: false
onSelectPrinter: function(machine)
{
toggleContent();
manager.setResolveStrategy("machine", "override")
manager.setMachineToOverride(machine.id)
machineSelector.machineName = machine.name
}
}
}