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

68 lines
1.8 KiB
QML
Raw Normal View History

2021-08-13 20:04:04 +00:00
import QtQuick 2.13
import QtGraphicalEffects 1.13
import utils 1.0
2021-08-13 20:04:04 +00:00
import "../../../../shared"
Rectangle {
id: headerButton
width: buttonImage.width + buttonText.width + Style.current.smallPadding * 2
+ (text === "" ? 0 : headerButton.btnMargin)
2021-08-13 20:04:04 +00:00
height: buttonText.height + Style.current.smallPadding * 2
border.width: 0
color: Style.current.transparent
radius: Style.current.radius
property int btnMargin
property string text: ""
property url imageSource
property bool flipImage: false
signal clicked()
2021-08-13 20:04:04 +00:00
SVGImage {
id: buttonImage
height: 18
anchors.left: parent.left
anchors.leftMargin: Style.current.smallPadding
anchors.verticalCenter: parent.verticalCenter
fillMode: Image.PreserveAspectFit
source: headerButton.imageSource
2021-08-13 20:04:04 +00:00
rotation: flipImage ? 180 : 0
ColorOverlay {
anchors.fill: parent
source: parent
color: Style.current.primary
}
}
StyledText {
id: buttonText
visible: !!headerButton.text
text: headerButton.text
anchors.left: buttonImage.right
anchors.leftMargin: headerButton.btnMargin
2021-08-13 20:04:04 +00:00
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 13
font.family: Style.current.fontMedium.name
font.weight: Font.Medium
color: Style.current.blue
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
2021-08-13 20:04:04 +00:00
onEntered: {
headerButton.color = Style.current.secondaryBackground;
2021-08-13 20:04:04 +00:00
}
onExited: {
headerButton.color = Style.current.transparent;
2021-08-13 20:04:04 +00:00
}
onClicked: {
headerButton.clicked();
2021-08-13 20:04:04 +00:00
}
}
}