Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/MenuBarItem.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org>
0003 SPDX-FileCopyrightText: 2017 The Qt Company Ltd.
0004
0005 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later
0006 */
0007
0008
0009 import QtQuick
0010 import QtQuick.Layouts
0011 import QtQuick.Templates as T
0012 import org.kde.kirigami as Kirigami
0013
0014 T.MenuBarItem {
0015 id: controlRoot
0016
0017 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
0018 implicitContentWidth + leftPadding + rightPadding)
0019 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
0020 implicitContentHeight + topPadding + bottomPadding,
0021 implicitIndicatorHeight + topPadding + bottomPadding)
0022
0023 topPadding: Kirigami.Units.smallSpacing
0024 leftPadding: Kirigami.Units.largeSpacing
0025 rightPadding: Kirigami.Units.largeSpacing
0026 bottomPadding: Kirigami.Units.smallSpacing
0027 hoverEnabled: true
0028
0029 Kirigami.MnemonicData.enabled: enabled && visible
0030 Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.MenuItem
0031 Kirigami.MnemonicData.label: text
0032
0033 Shortcut {
0034 //in case of explicit & the button manages it by itself
0035 enabled: !(RegExp(/\&[^\&]/).test(controlRoot.text))
0036 sequence: controlRoot.Kirigami.MnemonicData.sequence
0037 onActivated: controlRoot.clicked();
0038 }
0039
0040 contentItem: Label {
0041 text: controlRoot.Kirigami.MnemonicData.richTextLabel
0042 font: controlRoot.font
0043 color: controlRoot.hovered && !controlRoot.pressed ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0044 elide: Text.ElideRight
0045 visible: controlRoot.text
0046 horizontalAlignment: Text.AlignHCenter
0047 verticalAlignment: Text.AlignVCenter
0048 }
0049
0050 background: Rectangle {
0051 implicitWidth: 40
0052 implicitHeight: Kirigami.Units.gridUnit + 2 * Kirigami.Units.smallSpacing
0053 color: Kirigami.Theme.highlightColor
0054 opacity: controlRoot.down || controlRoot.highlighted ? 0.7 : 0
0055
0056 Behavior on opacity {
0057 NumberAnimation {
0058 duration: Kirigami.Units.shortDuration
0059 }
0060 }
0061 }
0062 }