mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-11-24 11:21:14 -07:00
CURA-4870 Modify the dropdown look and feel
This commit is contained in:
parent
6952e3f5c1
commit
135208bfee
7 changed files with 176 additions and 148 deletions
72
resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
Normal file
72
resources/qml/Menus/ConfigurationMenu/ConfigurationItem.qml
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: configurationItem
|
||||
|
||||
property var printer: null
|
||||
signal configurationSelected()
|
||||
|
||||
height: childrenRect.height
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: "black"
|
||||
|
||||
Column
|
||||
{
|
||||
id: contentColumn
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
|
||||
Label
|
||||
{
|
||||
text: printer.name
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
id: extruderRow
|
||||
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
Repeater
|
||||
{
|
||||
height: childrenRect.height
|
||||
model: printer.extruders
|
||||
delegate: PrintCoreConfiguration
|
||||
{
|
||||
printCoreConfiguration: modelData
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Rectangle
|
||||
// {
|
||||
// id: buildplateInformation
|
||||
//
|
||||
// Label
|
||||
// {
|
||||
// text: printer.name + "-" + printer.type
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
id: mouse
|
||||
anchors.fill: parent
|
||||
onClicked: configurationSelected()
|
||||
hoverEnabled: true
|
||||
onEntered: parent.border.color = UM.Theme.getColor("primary_hover")
|
||||
onExited: parent.border.color = "black"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Column
|
||||
{
|
||||
id: base
|
||||
property var outputDevice: Cura.MachineManager.printerOutputDevices[0]
|
||||
height: childrenRect.height + 2 * padding
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
|
||||
Label {
|
||||
text: catalog.i18nc("@label:header configurations", "Available configurations")
|
||||
font: UM.Theme.getFont("large")
|
||||
width: parent.width - 2 * parent.padding
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: container
|
||||
width: parent.width - 2 * parent.padding
|
||||
height: childrenRect.height
|
||||
|
||||
Repeater {
|
||||
height: childrenRect.height
|
||||
model: outputDevice != null ? outputDevice.connectedPrintersTypeCount : null
|
||||
delegate: Rectangle
|
||||
{
|
||||
height: childrenRect.height
|
||||
Label
|
||||
{
|
||||
id: printerTypeHeader
|
||||
text: modelData.machine_type
|
||||
font: UM.Theme.getFont("default_bold")
|
||||
}
|
||||
|
||||
ListView
|
||||
{
|
||||
id: grid
|
||||
anchors.top: printerTypeHeader.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
width: container.width
|
||||
height: childrenRect.height
|
||||
model: outputDevice.printers
|
||||
delegate: ConfigurationItem
|
||||
{
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
printer: modelData
|
||||
onConfigurationSelected:
|
||||
{
|
||||
print("SELECCIONANDO IMPRESORA", printer.name)
|
||||
outputDevice.setActivePrinter(printer)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls 2.3 as QQC2
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
{
|
||||
id: configurationSelector
|
||||
property var panelWidth: control.width
|
||||
property var panelVisible: false
|
||||
Button
|
||||
{
|
||||
text: "Matched"
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
color:
|
||||
{
|
||||
if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("sidebar_header_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("sidebar_header_hover");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("sidebar_header_bar");
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: downArrow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.getColor("text_emphasis")
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: sidebarComboBoxLabel
|
||||
color: UM.Theme.getColor("sidebar_header_text_active")
|
||||
text: control.text
|
||||
elide: Text.ElideRight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width * 2
|
||||
anchors.right: downArrow.left
|
||||
anchors.rightMargin: control.rightMargin
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
font: UM.Theme.getFont("large")
|
||||
}
|
||||
}
|
||||
label: Label {}
|
||||
}
|
||||
|
||||
onClicked:
|
||||
{
|
||||
panelVisible = !panelVisible
|
||||
}
|
||||
}
|
||||
|
||||
QQC2.Popup
|
||||
{
|
||||
id: popup
|
||||
y: configurationSelector.height - UM.Theme.getSize("default_lining").height
|
||||
x: configurationSelector.width - width
|
||||
width: panelWidth
|
||||
visible: panelVisible
|
||||
padding: UM.Theme.getSize("default_lining").width
|
||||
|
||||
contentItem: ConfigurationListView {
|
||||
width: panelWidth - 2 * popup.padding
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: UM.Theme.getColor("setting_control")
|
||||
border.color: UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
|
||||
|
||||
Item
|
||||
{
|
||||
id: extruderInfo
|
||||
property var printCoreConfiguration
|
||||
|
||||
height: childrenRect.height
|
||||
|
||||
Label
|
||||
{
|
||||
id: materialLabel
|
||||
text: printCoreConfiguration.activeMaterial != null ? printCoreConfiguration.activeMaterial.name : ""
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
font: UM.Theme.getFont("very_small")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: printCoreLabel
|
||||
text: printCoreConfiguration.hotendID
|
||||
anchors.top: materialLabel.bottom
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
font: UM.Theme.getFont("very_small")
|
||||
opacity: 0.5
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue