123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // 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 QtQuick.Layouts 1.3
- import UM 1.5 as UM
- import Cura 1.1 as Cura
- Control
- {
- id: root
- property alias text: link_text.text
- property alias imageSource: image.source
- property var onClicked
- states:
- [
- State
- {
- name: "hovered";
- when: mouse_area.containsMouse
- PropertyChanges
- {
- target: background
- color: UM.Theme.getColor("monitor_card_hover")
- }
- PropertyChanges
- {
- target: link_text
- font.underline: true
- }
- }
- ]
- MouseArea
- {
- id: mouse_area
- anchors.fill: parent
- hoverEnabled: true
- onClicked: root.onClicked && root.onClicked()
- }
- rightPadding: UM.Theme.getSize("wide_margin").width
- bottomPadding: UM.Theme.getSize("wide_margin").height
- leftPadding: UM.Theme.getSize("wide_margin").width
- background: Rectangle
- {
- id: background
- height: parent.height
- border.color: UM.Theme.getColor("primary_button")
- color: "transparent"
- border.width: 1
- radius: 3
- }
- contentItem: ColumnLayout
- {
- id: column
- spacing: UM.Theme.getSize("wide_margin").height
- height: childrenRect.height
- width: childrenRect.width
- Image
- {
- id: image
- source: imageSource
- width: 180 * screenScaleFactor
- sourceSize.width: width
- sourceSize.height: height
- }
- UM.Label
- {
- id: link_text
- Layout.fillWidth: true
- font: UM.Theme.getFont("medium")
- color: UM.Theme.getColor("text_link")
- horizontalAlignment: Text.AlignHCenter
- }
- }
- }
|