forked from qt-creator/qt-creator
This adds the QML source for the Qt Design Studio Welcome page. The source code was private before. Change-Id: I5dcb900ed9a17b1bc3bbcaf50f649ebeb61cc8bf Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
109 lines
3.0 KiB
QML
109 lines
3.0 KiB
QML
// Copyright (C) 2024 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
|
|
import QtQuick
|
|
import QtQuick.Templates
|
|
import WelcomeScreen 1.0
|
|
|
|
Button {
|
|
id: control
|
|
|
|
implicitWidth: Math.max(
|
|
buttonBackground ? buttonBackground.implicitWidth : 0,
|
|
textItem.implicitWidth + leftPadding + rightPadding)
|
|
implicitHeight: Math.max(
|
|
buttonBackground ? buttonBackground.implicitHeight : 0,
|
|
textItem.implicitHeight + topPadding + bottomPadding)
|
|
leftPadding: 4
|
|
rightPadding: 4
|
|
|
|
text: "My Button"
|
|
checkable: true
|
|
state: "normal"
|
|
|
|
property bool decorated: false
|
|
|
|
background: Rectangle {
|
|
id: buttonBackground
|
|
color: "#00000000"
|
|
implicitWidth: 100
|
|
implicitHeight: 40
|
|
opacity: buttonBackground.enabled ? 1 : 0.3
|
|
radius: 2
|
|
border.color: "#047eff"
|
|
anchors.fill: parent
|
|
}
|
|
|
|
contentItem: Text {
|
|
id: textItem
|
|
text: control.text
|
|
font.pixelSize: 18
|
|
opacity: textItem.enabled ? 1.0 : 0.3
|
|
color: "#047eff"
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
|
|
Rectangle {
|
|
id: decoration
|
|
width: 10
|
|
visible: control.decorated
|
|
color: Constants.currentBrand
|
|
border.color: Constants.currentBrand
|
|
anchors.right: parent.right
|
|
anchors.top: parent.top
|
|
anchors.bottom: parent.bottom
|
|
anchors.rightMargin: 1
|
|
anchors.bottomMargin: 1
|
|
anchors.topMargin: 1
|
|
}
|
|
|
|
states: [
|
|
State {
|
|
name: "normal"
|
|
when: !control.down && !control.hovered && !control.checked
|
|
|
|
PropertyChanges {
|
|
target: buttonBackground
|
|
color: Constants.currentPushButtonNormalBackground
|
|
border.color: Constants.currentPushButtonNormalOutline
|
|
}
|
|
|
|
PropertyChanges {
|
|
target: textItem
|
|
color: Constants.currentGlobalText
|
|
}
|
|
},
|
|
State {
|
|
name: "hover"
|
|
when: control.hovered && !control.checked && !control.down
|
|
|
|
PropertyChanges {
|
|
target: textItem
|
|
color: Constants.currentGlobalText
|
|
}
|
|
|
|
PropertyChanges {
|
|
target: buttonBackground
|
|
color: Constants.currentPushButtonHoverBackground
|
|
border.color: Constants.currentPushButtonHoverOutline
|
|
}
|
|
},
|
|
State {
|
|
name: "active"
|
|
when: control.checked || control.down
|
|
|
|
PropertyChanges {
|
|
target: textItem
|
|
color: Constants.darkActiveGlobalText
|
|
}
|
|
|
|
PropertyChanges {
|
|
target: buttonBackground
|
|
color: Constants.currentBrand
|
|
border.color: "#00000000"
|
|
}
|
|
}
|
|
]
|
|
}
|