2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2019 The Qt Company Ltd.
|
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
2019-11-26 11:25:12 +02:00
|
|
|
|
|
|
|
|
import QtQuick 2.12
|
|
|
|
|
import QtQuick 2.0
|
|
|
|
|
import QtQuick.Controls 2.0
|
|
|
|
|
|
|
|
|
|
Rectangle {
|
|
|
|
|
property bool toggled: false
|
|
|
|
|
property string tooltip
|
|
|
|
|
property bool toggleBackground: false // show a black background for the toggled state
|
|
|
|
|
property var states: [] // array of 2 state-objects, idx 0: untoggled, idx 1: toggled
|
|
|
|
|
|
|
|
|
|
id: root
|
|
|
|
|
color: toggleBackground && toggled ? "#aa000000" : mouseArea.containsMouse ? "#44000000" : "#00000000"
|
2020-03-12 17:22:51 +02:00
|
|
|
width: txt.width + 5
|
|
|
|
|
height: 16
|
2019-11-26 11:25:12 +02:00
|
|
|
|
|
|
|
|
Text {
|
|
|
|
|
id: txt
|
|
|
|
|
color: "#b5b5b5"
|
|
|
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
|
|
|
text: root.states[toggled ? 1 : 0].text
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ToolTip {
|
|
|
|
|
text: tooltip
|
|
|
|
|
visible: mouseArea.containsMouse
|
|
|
|
|
delay: 1000
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MouseArea {
|
|
|
|
|
id: mouseArea
|
|
|
|
|
cursorShape: "PointingHandCursor"
|
|
|
|
|
hoverEnabled: true
|
|
|
|
|
anchors.fill: parent
|
|
|
|
|
onClicked: root.toggled = !root.toggled
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|