Merge branch 'main' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2022-08-24 16:52:26 +02:00
commit 22baf8f34e
No known key found for this signature in database
GPG key ID: C85F7A3AF1BAA7C4
11 changed files with 221 additions and 15 deletions

View file

@ -0,0 +1,87 @@
// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
import QtQuick.Controls 2.3
import UM 1.5 as UM
import Cura 1.0 as Cura
Button
{
id: machineListButton
width: parent.width
height: UM.Theme.getSize("large_button").height
leftPadding: UM.Theme.getSize("default_margin").width
rightPadding: UM.Theme.getSize("default_margin").width
checkable: true
hoverEnabled: true
contentItem: Item
{
width: machineListButton.width - machineListButton.leftPadding - machineListButton.rightPadding
height: UM.Theme.getSize("action_button").height
UM.ColorImage
{
id: printerIcon
height: UM.Theme.getSize("medium_button").height
width: UM.Theme.getSize("medium_button").width
color: UM.Theme.getColor("machine_selector_printer_icon")
visible: model.machineType == "abstract_machine" || !model.isOnline
source: model.machineType == "abstract_machine" ? UM.Theme.getIcon("PrinterTriple", "medium") : UM.Theme.getIcon("Printer", "medium")
anchors
{
left: parent.left
verticalCenter: parent.verticalCenter
}
}
UM.Label
{
id: buttonText
anchors
{
left: printerIcon.right
right: printerCount.left
verticalCenter: parent.verticalCenter
leftMargin: UM.Theme.getSize("default_margin").width
}
text: machineListButton.text
font: model.machineType == "abstract_machine" ? UM.Theme.getFont("medium_bold") : UM.Theme.getFont("medium")
visible: text != ""
elide: Text.ElideRight
}
Rectangle
{
id: printerCount
color: UM.Theme.getColor("background_2")
radius: height
width: height
anchors
{
right: parent.right
top: buttonText.top
bottom: buttonText.bottom
}
visible: model.machineType == "abstract_machine"
UM.Label
{
text: model.machineCount
anchors.centerIn: parent
font: UM.Theme.getFont("default_bold")
}
}
}
background: Rectangle
{
id: backgroundRect
color: machineListButton.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent"
}
}

View file

@ -192,7 +192,7 @@ Cura.ExpandablePopup
contentItem: Item
{
id: popup
implicitWidth: UM.Theme.getSize("machine_selector_widget_content").width
implicitWidth: Math.max(machineSelector.width, UM.Theme.getSize("machine_selector_widget_content").width)
implicitHeight: Math.min(machineSelectorList.contentHeight + separator.height + buttonRow.height, UM.Theme.getSize("machine_selector_widget_content").height) //Maximum height is the theme entry.
MachineSelectorList
{
@ -224,6 +224,9 @@ Cura.ExpandablePopup
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
anchors.left: parent.left
anchors.right: parent.right
padding: UM.Theme.getSize("default_margin").width
spacing: UM.Theme.getSize("default_margin").width
@ -236,7 +239,7 @@ Cura.ExpandablePopup
// The maximum width of the button is half of the total space, minus the padding of the parent, the left
// padding of the component and half the spacing because of the space between buttons.
fixedWidthMode: true
width: UM.Theme.getSize("machine_selector_widget_content").width / 2 - leftPadding
width: buttonRow.width / 2 - leftPadding * 1.5
onClicked:
{
toggleContent()
@ -253,7 +256,7 @@ Cura.ExpandablePopup
fixedWidthMode: true
// The maximum width of the button is half of the total space, minus the padding of the parent, the right
// padding of the component and half the spacing because of the space between buttons.
width: UM.Theme.getSize("machine_selector_widget_content").width / 2 - leftPadding
width: buttonRow.width / 2 - rightPadding * 1.5
onClicked:
{
toggleContent()

View file

@ -10,8 +10,8 @@ import Cura 1.0 as Cura
ListView
{
id: listView
model: Cura.GlobalStacksModel {}
section.property: "hasRemoteConnection"
model: Cura.MachineListModel {}
section.property: "isOnline"
property real contentHeight: childrenRect.height
ScrollBar.vertical: UM.ScrollBar
@ -21,7 +21,7 @@ ListView
section.delegate: UM.Label
{
text: section == "true" ? catalog.i18nc("@label", "Connected printers") : catalog.i18nc("@label", "Preset printers")
text: section == "true" ? catalog.i18nc("@label", "Connected printers") : catalog.i18nc("@label", "Other printers")
width: parent.width - scrollBar.width
height: UM.Theme.getSize("action_button").height
leftPadding: UM.Theme.getSize("default_margin").width
@ -29,13 +29,10 @@ ListView
color: UM.Theme.getColor("text_medium")
}
delegate: MachineSelectorButton
delegate: MachineListButton
{
text: model.name ? model.name : ""
width: listView.width - scrollBar.width
outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
checked: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.id == model.id : false
onClicked:
{

View file

@ -2,6 +2,7 @@ module Cura
MachineSelector 1.0 MachineSelector.qml
MachineSelectorButton 1.0 MachineSelectorButton.qml
MachineListButton 1.0 MachineListButton.qml
CustomConfigurationSelector 1.0 CustomConfigurationSelector.qml
PrintSetupSelector 1.0 PrintSetupSelector.qml
ProfileOverview 1.6 ProfileOverview.qml

View file

@ -564,6 +564,9 @@
"medium_button": [2.5, 2.5],
"medium_button_icon": [2, 2],
"large_button": [3.0, 3.0],
"large_button_icon": [2.8, 2.8],
"context_menu": [20, 2],
"icon_indicator": [1, 1],