Revision control
++ // Copyright (C) 2023 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ import QtQuick
++ import QtQuick.Controls as QQC2
++ import WearableStyle
++ import QtQuick.Shapes
++
++ Item {
++ id: header
++ property alias title: labelText.text
++ signal backClicked()
++
++ height: 50
++
++ Shape {//Shape because Rectangle does not support diagonal gradient
++ id: background
++ preferredRendererType: Shape.CurveRenderer
++
++ ShapePath {
++ strokeWidth: 0
++
++ startX: 0
++ startY: 0
++ PathLine {
++ x: header.width
++ y: 0
++ }
++ PathLine {
++ x: header.width
++ y: header.height
++ }
++ PathLine {
++ x: 0
++ y: header.height
++ }
++ fillGradient: LinearGradient {
++ x1: header.width / 3
++ y1: 0
++ x2: header.width
++ y2: 1.3 * header.parent.height
++ GradientStop {
++ position: 0.0
++ color: UIStyle.background1
++ }
++ GradientStop {
++ position: 0.5
++ color: UIStyle.background2
++ }
++ GradientStop {
++ position: 1.0
++ color: UIStyle.background3
++ }
++ }
++ }
++ }
++
++ QQC2.AbstractButton {
++ id: backButton
++ anchors.verticalCenter: parent.verticalCenter
++ anchors.left: parent.left
++ anchors.topMargin: 0
++ anchors.leftMargin: 0
++
++ width: height
++ height: 40
++
++ onClicked: header.backClicked()
++
++ Image {
++ width: 40
++ height: 40
++ anchors.centerIn: parent
++ source: UIStyle.iconPath("back")
++ }
++ }
++
++ QQC2.Label {
++ id: labelText
++ anchors.verticalCenter: parent.verticalCenter
++ anchors.horizontalCenter: parent.horizontalCenter
++ color: UIStyle.textColor
++ font: UIStyle.h2
++ }
++
++ transform: Translate {
++ Behavior on y { NumberAnimation { } }
++ y: header.enabled ? 0 : -52
++ }
++
++
++ }