mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-24 06:39:38 +08:00
66 lines
2.3 KiB
QML
66 lines
2.3 KiB
QML
// Copyright (c) 2021 Ultimaker B.V.
|
|
// Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import QtQuick 2.7
|
|
import QtQuick.Controls 2.3
|
|
|
|
import UM 1.1 as UM
|
|
|
|
//
|
|
// MenuItem with Cura styling.
|
|
//
|
|
MenuItem
|
|
{
|
|
id: menuItem
|
|
|
|
implicitHeight: UM.Theme.getSize("setting_control").height + UM.Theme.getSize("narrow_margin").height
|
|
opacity: enabled ? 1.0 : 0.5
|
|
|
|
arrow: UM.RecolorImage
|
|
{
|
|
visible: menuItem.subMenu
|
|
height: UM.Theme.getSize("default_arrow").height
|
|
width: height
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
source: UM.Theme.getIcon("arrow_right")
|
|
color: UM.Theme.getColor("setting_control_text")
|
|
}
|
|
|
|
indicator: UM.RecolorImage
|
|
{
|
|
id: check
|
|
visible: menuItem.checkable && menuItem.checked
|
|
height: UM.Theme.getSize("default_arrow").height
|
|
width: height
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
source: UM.Theme.getIcon("check")
|
|
color: UM.Theme.getColor("setting_control_text")
|
|
}
|
|
|
|
contentItem: Text {
|
|
leftPadding: menuItem.checkable ? menuItem.indicator.width + UM.Theme.getSize("default_margin").width : UM.Theme.getSize("thin_margin").width
|
|
rightPadding: menuItem.subMenu ? menuItem.arrow.width + UM.Theme.getSize("default_margin").width : UM.Theme.getSize("thin_margin").width
|
|
text: menuItem.text
|
|
|
|
textFormat: Text.PlainText
|
|
renderType: Text.NativeRendering
|
|
color: UM.Theme.getColor("setting_control_text")
|
|
font: UM.Theme.getFont("default")
|
|
elide: Text.ElideRight
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
|
|
background: Rectangle {
|
|
x: UM.Theme.getSize("default_lining").width
|
|
y: UM.Theme.getSize("default_lining").width
|
|
width: menuItem.width - 2 * UM.Theme.getSize("default_lining").width
|
|
height: menuItem.height - 2 * UM.Theme.getSize("default_lining").height
|
|
|
|
color: menuItem.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent"
|
|
border.color: menuItem.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent"
|
|
}
|
|
} |