Warning, /frameworks/kcmutils/src/qml/components/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-2.0-or-later
0005 */
0006 
0007 import QtQuick 2.1
0008 import QtQuick.Layouts 1.1
0009 import QtQuick.Controls 2.7 as QQC2
0010 import QtQuick.Window 2.15
0011 import org.kde.kirigami 2.3 as Kirigami
0012 
0013 QQC2.Button {
0014     id: root
0015 
0016     icon.name: "help-contextual"
0017     flat: true
0018     property alias toolTipText: toolTip.text
0019     property var toolTipVisible: false
0020 
0021     onReleased: {
0022         toolTipVisible ? toolTip.delay = Kirigami.Units.toolTipDelay : toolTip.delay = 0;
0023         toolTipVisible = !toolTipVisible;
0024     }
0025     onActiveFocusChanged: {
0026         toolTip.delay = Kirigami.Units.toolTipDelay;
0027         toolTipVisible = false;
0028     }
0029     Layout.maximumHeight: parent.height
0030     QQC2.ToolTip {
0031         id: toolTip
0032         implicitWidth: Math.min(21 * Kirigami.Units.gridUnit, root.Window.width) // Wikipedia says anything between 45 and 75 characters per line is acceptable. 21 * Kirigami.Units.gridUnit feels right.
0033         visible: parent.hovered || parent.toolTipVisible
0034         onVisibleChanged: {
0035             if (!visible && parent.toolTipVisible) {
0036                 parent.toolTipVisible = false;
0037                 delay = Kirigami.Units.toolTipDelay;
0038             }
0039         }
0040         timeout: -1
0041     }
0042     MouseArea {
0043         anchors.fill: parent
0044         hoverEnabled: true
0045         cursorShape: Qt.WhatsThisCursor
0046         acceptedButtons: Qt.NoButton
0047     }
0048     Accessible.name: i18nc("@action:button", "Show Contextual Help")
0049 }
0050