123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // Copyright (c) 2023 UltiMaker
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.10
- import QtQuick.Controls 2.3
- import QtQuick.Layouts 2.10
- import UM 1.5 as UM
- import Cura 1.7 as Cura
- Rectangle
- {
- id: base
- height: 60
- Layout.fillWidth: true
- color: mouseArea.containsMouse || selected ? UM.Theme.getColor("background_3") : UM.Theme.getColor("background_1")
- property bool selected: false
- property string profileName: ""
- property string icon: ""
- property string custom_icon: ""
- property alias tooltipText: tooltip.text
- signal clicked()
- MouseArea
- {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
- onClicked: base.clicked()
- }
- UM.ToolTip
- {
- id: tooltip
- visible: mouseArea.containsMouse
- targetPoint: Qt.point(base.x + (base.width / 2), base.y + (base.height / 2))
- width: UM.Theme.getSize("tooltip").width
- }
- Item
- {
- width: intentIcon.width
- anchors
- {
- top: parent.top
- bottom: qualityLabel.top
- horizontalCenter: parent.horizontalCenter
- topMargin: UM.Theme.getSize("narrow_margin").height
- }
- Item
- {
- id: intentIcon
- width: UM.Theme.getSize("recommended_button_icon").width
- height: UM.Theme.getSize("recommended_button_icon").height
- UM.ColorImage
- {
- anchors.fill: parent
- anchors.centerIn: parent
- visible: icon !== ""
- source: UM.Theme.getIcon(icon)
- color: UM.Theme.getColor("icon")
- }
- UM.ColorImage
- {
- anchors.fill: parent
- anchors.centerIn: parent
- visible: custom_icon !== ""
- source: custom_icon
- color: UM.Theme.getColor("icon")
- }
- Rectangle
- {
- id: circle
- anchors.fill: parent
- radius: width
- anchors.verticalCenter: parent.verticalCenter
- visible: icon === "" && custom_icon === ""
- border.width: UM.Theme.getSize("thick_lining").width
- border.color: UM.Theme.getColor("text")
- color: "transparent"
- UM.Label
- {
- id: initialLabel
- anchors.centerIn: parent
- text: profileName.charAt(0).toUpperCase()
- font: UM.Theme.getFont("small_bold")
- horizontalAlignment: Text.AlignHCenter
- }
- }
- }
- }
- UM.Label
- {
- id: qualityLabel
- text: profileName
- anchors
- {
- bottom: parent.bottom
- horizontalCenter: parent.horizontalCenter
- bottomMargin: UM.Theme.getSize("narrow_margin").height
- }
- }
- }
|