Warning, /sdk/licensedigger/autotests/testdata/LGPL-3.0-only_OR_LicenseRef-KDE-Accepted-LGPL/ContextualHelpButton.qml is written in an unsupported language. File is not indexed.

0001 /*
0002    SPDX-FileCopyrightText: 2020 Felix Ernst <fe.a.ernst@gmail.com>
0003 
0004    SPDX-License-Identifier: LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 import QtQuick 2.1
0008 import QtQuick.Layouts 1.1
0009 import QtQuick.Controls 2.7 as QtControls
0010 import QtQuick.Dialogs 1.2 as QtDialogs
0011 import org.kde.kirigami 2.3 as Kirigami
0012 import org.kde.kcm 1.0
0013 
0014 
0015 QtControls.Button {
0016     icon.name: "help-contextual"
0017     flat: true
0018     property alias toolTipText: toolTip.text
0019     property var toolTipVisible: false
0020     onReleased: {
0021         toolTipVisible ? toolTip.delay = Kirigami.Units.toolTipDelay : toolTip.delay = 0;
0022         toolTipVisible = !toolTipVisible;
0023     }
0024     onActiveFocusChanged: {
0025         toolTip.delay = Kirigami.Units.toolTipDelay;
0026         toolTipVisible = false;
0027     }
0028     Layout.maximumHeight: parent.height
0029     QtControls.ToolTip {
0030         id: toolTip
0031         implicitWidth: Math.min(21 * Kirigami.Units.gridUnit, root.width) // Wikipedia says anything between 45 and 75 characters per line is acceptable. 21 * Kirigami.Units.gridUnit feels right.
0032         visible: parent.hovered || parent.toolTipVisible
0033         onVisibleChanged: {
0034             if (!visible && parent.toolTipVisible) {
0035                 parent.toolTipVisible = false;
0036                 delay = Kirigami.Units.toolTipDelay;
0037             }
0038         }
0039         timeout: -1
0040     }
0041     MouseArea {
0042         anchors.fill: parent
0043         hoverEnabled: true
0044         cursorShape: Qt.WhatsThisCursor
0045         acceptedButtons: Qt.NoButton
0046     }
0047     Accessible.name: i18nc("@action:button", "Show Contextual Help")
0048 }
0049