Warning, /multimedia/elisa/src/qml/FlatButtonWithToolTip.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2018 (c) Alexander Stippich <a.stippich@gmx.net> 0003 0004 SPDX-License-Identifier: LGPL-3.0-or-later 0005 */ 0006 0007 import QtQuick 2.15 0008 import QtQuick.Controls 2.15 0009 import QtQuick.Templates 2.15 as T 0010 import org.kde.kirigami 2.15 as Kirigami 0011 import org.kde.elisa 1.0 0012 0013 // Keep in sync with ButtonWithToolTip 0014 ToolButton { 0015 property T.Popup menu 0016 0017 readonly property bool __exclusive: autoExclusive || (ButtonGroup.group?.exclusive ?? false) 0018 0019 display: AbstractButton.IconOnly 0020 0021 ToolTip.visible: hovered 0022 && text.length > 0 0023 && display === AbstractButton.IconOnly 0024 && (menu === null || !menu.visible) 0025 ToolTip.delay: Kirigami.Units.toolTipDelay 0026 ToolTip.text: text 0027 0028 Keys.onReturnPressed: __emulateClick() 0029 Keys.onEnterPressed: __emulateClick() 0030 Accessible.onPressAction: clicked() 0031 0032 function __toggleChecked() { 0033 if (!checkable) { 0034 return 0035 } 0036 if (!__exclusive) { 0037 toggle() 0038 toggled() // NOTE: toggle() does not emit this automatically 0039 return 0040 } 0041 if (!checked) { 0042 toggle() 0043 toggled() // NOTE: toggle() does not emit this automatically 0044 } 0045 } 0046 0047 function __trigger() { 0048 if (action) { 0049 action.trigger() 0050 } else { 0051 clicked() 0052 } 0053 } 0054 0055 function __emulateClick() { 0056 __toggleChecked() 0057 __trigger() 0058 } 0059 }