mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-13 01:37:51 -06:00
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:
parent
088ea0a768
commit
dd4e1c66b7
4 changed files with 45 additions and 56 deletions
|
@ -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<Item> 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)
|
||||
|
|
|
@ -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:
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue