testdiff2/spiri_src/added/custom/res/Custom/Widgets/CustomQuickButton.qml

57 lines
1.9 KiB
QML
Raw Permalink Normal View History

2023-12-06 13:51:14 -04:00
/****************************************************************************
*
* (c) 2009-2019 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
* @file
* @author Gus Grubba <gus@auterion.com>
*/
import QtQuick 2.11
import QtQuick.Controls 2.4
import QGroundControl 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
Button {
id: control
autoExclusive: true
checkable: true
property string iconSource: ""
property real iconRatio: 0.5
property real buttonRadius: ScreenTools.defaultFontPixelWidth * 0.5
background: Rectangle {
width: control.width
height: width
anchors.centerIn: parent
color: (mouseArea.pressed || control.checked) ? qgcPal.buttonHighlight : (qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.5) : Qt.rgba(0,0,0,0.5))
radius: control.buttonRadius
}
contentItem: Item {
anchors.fill: control
QGCColoredImage {
source: iconSource
color: (mouseArea.pressed || control.checked) ? qgcPal.buttonHighlightText : qgcPal.buttonText
width: control.width * iconRatio
height: width
anchors.centerIn: parent
sourceSize.height: height
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: {
if(checkable)
checked = true
control.clicked()
}
}
}