QGCToolBarButton.qml 1.99 KB
Newer Older
1 2 3 4 5 6 7 8
/****************************************************************************
 *
 *   (c) 2009-2016 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.
 *
 ****************************************************************************/
9

10
import QtQuick          2.3
Gus Grubba's avatar
Gus Grubba committed
11
import QtQuick.Controls 2.4
12

13 14 15
import QGroundControl.Controls      1.0
import QGroundControl.Palette       1.0
import QGroundControl.ScreenTools   1.0
16

Gus Grubba's avatar
Gus Grubba committed
17 18 19
Button {
    id:                 button
    height:             ScreenTools.defaultFontPixelHeight * 3
Don Gagne's avatar
Don Gagne committed
20 21
    leftPadding:        _horizontalMargin
    rightPadding:       _horizontalMargin
Gus Grubba's avatar
Gus Grubba committed
22
    autoExclusive:      true
dogmaphobic's avatar
dogmaphobic committed
23

24 25
    property bool logo: false

Don Gagne's avatar
Don Gagne committed
26 27
    property real _horizontalMargin: ScreenTools.defaultFontPixelWidth

Gus Grubba's avatar
Gus Grubba committed
28 29
    background: Rectangle {
        anchors.fill: parent
30
        color:  logo ? qgcPal.brandingPurple : (checked ? qgcPal.buttonHighlight : Qt.rgba(0,0,0,0))
dogmaphobic's avatar
dogmaphobic committed
31 32
    }

Gus Grubba's avatar
Gus Grubba committed
33
    contentItem: Row {
Don Gagne's avatar
Don Gagne committed
34 35
        spacing:                ScreenTools.defaultFontPixelWidth
        anchors.verticalCenter: button.verticalCenter
Gus Grubba's avatar
Gus Grubba committed
36 37 38 39 40 41
        QGCColoredImage {
            id:                     _icon
            height:                 ScreenTools.defaultFontPixelHeight * 2
            width:                  height
            sourceSize.height:      parent.height
            fillMode:               Image.PreserveAspectFit
42
            color:                  logo ? "white" : (button.checked ? qgcPal.buttonHighlightText : qgcPal.buttonText)
Gus Grubba's avatar
Gus Grubba committed
43 44 45 46 47
            source:                 button.icon.source
            anchors.verticalCenter: parent.verticalCenter
        }
        Label {
            id:                     _label
48
            visible:                text !== ""
Gus Grubba's avatar
Gus Grubba committed
49 50 51
            text:                   button.text
            color:                  button.checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
            anchors.verticalCenter: parent.verticalCenter
dogmaphobic's avatar
dogmaphobic committed
52 53 54
        }
    }
}