status-desktop/ui/app/AppLayouts/Wallet/controls/HeaderButton.qml

70 lines
1.8 KiB
QML
Raw Normal View History

2020-07-15 19:38:03 +00:00
import QtQuick 2.13
import QtGraphicalEffects 1.13
import utils 1.0
import shared 1.0
import shared.panels 1.0
2020-07-15 19:38:03 +00:00
Rectangle {
id: headerButton
2020-07-15 19:38:03 +00:00
property string text: ""
property url imageSource
property bool flipImage: false
property var onClicked: function () {}
property int margin: 8
2020-07-15 19:38:03 +00:00
width: buttonImage.width + buttonText.width + Style.current.smallPadding * 2
+ (text === "" ? 0 : headerButton.margin)
2020-07-15 19:38:03 +00:00
height: buttonText.height + Style.current.smallPadding * 2
border.width: 0
color: Style.current.transparent
radius: Style.current.radius
SVGImage {
id: buttonImage
height: 18
anchors.left: parent.left
anchors.leftMargin: Style.current.smallPadding
anchors.verticalCenter: parent.verticalCenter
fillMode: Image.PreserveAspectFit
source: imageSource
rotation: flipImage ? 180 : 0
ColorOverlay {
anchors.fill: parent
source: parent
color: Style.current.primary
}
2020-07-15 19:38:03 +00:00
}
StyledText {
id: buttonText
visible: !!headerButton.text
text: headerButton.text
anchors.left: buttonImage.right
anchors.leftMargin: headerButton.margin
2020-07-15 19:38:03 +00:00
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 13
font.family: Style.current.baseFont.name
font.weight: Font.Medium
2020-07-15 19:38:03 +00:00
color: Style.current.blue
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
parent.color = Style.current.secondaryBackground
2020-07-15 19:38:03 +00:00
}
onExited: {
parent.color = Style.current.transparent
}
onClicked: {
headerButton.onClicked()
}
cursorShape: Qt.PointingHandCursor
}
}