diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 64444004d5..97cd2eed51 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -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 + } } } diff --git a/plugins/PrepareStage/PrepareMenu.qml b/plugins/PrepareStage/PrepareMenu.qml index 719c598469..59508dd102 100644 --- a/plugins/PrepareStage/PrepareMenu.qml +++ b/plugins/PrepareStage/PrepareMenu.qml @@ -56,6 +56,13 @@ Item Layout.fillWidth: true Layout.fillHeight: true + machineManager: Cura.MachineManager + onSelectPrinter: function(machine) + { + toggleContent(); + Cura.MachineManager.setActiveMachine(machine.id); + } + machineListModel: Cura.MachineListModel {} buttons: [ diff --git a/resources/qml/PrinterSelector/MachineSelector.qml b/resources/qml/PrinterSelector/MachineSelector.qml index a395ea3913..8bf5e3cf1d 100644 --- a/resources/qml/PrinterSelector/MachineSelector.qml +++ b/resources/qml/PrinterSelector/MachineSelector.qml @@ -11,12 +11,25 @@ Cura.ExpandablePopup { id: machineSelector - property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasNetworkConnection - property bool isConnectedCloudPrinter: Cura.MachineManager.activeMachineHasCloudConnection - property bool isCloudRegistered: Cura.MachineManager.activeMachineHasCloudRegistration - property bool isGroup: Cura.MachineManager.activeMachineIsGroup + property Cura.MachineManager machineManager + property bool isNetworkPrinter: machineManager.activeMachineHasNetworkConnection + property bool isConnectedCloudPrinter: machineManager.activeMachineHasCloudConnection + property bool isCloudRegistered: machineManager.activeMachineHasCloudRegistration + property bool isGroup: machineManager.activeMachineIsGroup + property string machineName: { + if (isNetworkPrinter && machineManager.activeMachineNetworkGroupName != "") + { + return machineManager.activeMachineNetworkGroupName + } + if (machineManager.activeMachine != null) + { + return machineManager.activeMachine.name + } + return "" + } property alias machineListModel: machineSelectorList.model + property alias onSelectPrinter: machineSelectorList.onSelectPrinter property list buttons @@ -46,7 +59,7 @@ Cura.ExpandablePopup { if (Cura.API.account.isLoggedIn) { - if (Cura.MachineManager.activeMachineIsLinkedToCurrentAccount) + if (machineManager.activeMachineIsLinkedToCurrentAccount) { return catalog.i18nc("@status", "The cloud printer is offline. Please check if the printer is turned on and connected to the internet.") } @@ -59,7 +72,8 @@ Cura.ExpandablePopup { return catalog.i18nc("@status", "The cloud connection is currently unavailable. Please sign in to connect to the cloud printer.") } - } else + } + else { return catalog.i18nc("@status", "The cloud connection is currently unavailable. Please check your internet connection.") } @@ -81,18 +95,8 @@ Cura.ExpandablePopup headerItem: Cura.IconWithText { - text: - { - if (isNetworkPrinter && Cura.MachineManager.activeMachineNetworkGroupName != "") - { - return Cura.MachineManager.activeMachineNetworkGroupName - } - if(Cura.MachineManager.activeMachine != null) - { - return Cura.MachineManager.activeMachine.name - } - return "" - } + text: machineName + source: { if (isGroup) diff --git a/resources/qml/PrinterSelector/MachineSelectorList.qml b/resources/qml/PrinterSelector/MachineSelectorList.qml index 0fa19a51ff..1b0264929d 100644 --- a/resources/qml/PrinterSelector/MachineSelectorList.qml +++ b/resources/qml/PrinterSelector/MachineSelectorList.qml @@ -12,6 +12,7 @@ ListView id: listView section.property: "isOnline" property real contentHeight: childrenRect.height + property var onSelectPrinter ScrollBar.vertical: UM.ScrollBar { @@ -42,8 +43,7 @@ ListView listView.model.setShowCloudPrinters(true); break; case "MACHINE": - toggleContent() - Cura.MachineManager.setActiveMachine(model.id) + if (typeof onSelectPrinter === "function") onSelectPrinter(model); break; default: }