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 2.6
0010 import QtQuick.Layouts 1.2
0011 import QtQuick.Templates 2.15 as T
0012 import org.kde.kirigami 2.4 as Kirigami
0013 
0014 T.MenuBarItem {
0015     id: controlRoot
0016 
0017     implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding
0018     implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding
0019     baselineOffset: contentItem.y + contentItem.baselineOffset
0020 
0021     topPadding: Kirigami.Units.smallSpacing
0022     leftPadding: Kirigami.Units.largeSpacing
0023     rightPadding: Kirigami.Units.largeSpacing
0024     bottomPadding: Kirigami.Units.smallSpacing
0025     hoverEnabled: true
0026 
0027     Kirigami.MnemonicData.enabled: controlRoot.enabled && controlRoot.visible
0028     Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.MenuItem
0029     Kirigami.MnemonicData.label: controlRoot.text
0030 
0031     Shortcut {
0032         //in case of explicit & the button manages it by itself
0033         enabled: !(RegExp(/\&[^\&]/).test(controlRoot.text))
0034         sequence: controlRoot.Kirigami.MnemonicData.sequence
0035         onActivated: controlRoot.clicked();
0036     }
0037 
0038     contentItem: Label {
0039         text: controlRoot.Kirigami.MnemonicData.richTextLabel
0040         font: controlRoot.font
0041         color: controlRoot.hovered && !controlRoot.pressed ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0042         elide: Text.ElideRight
0043         visible: controlRoot.text
0044         horizontalAlignment: Text.AlignHCenter
0045         verticalAlignment: Text.AlignVCenter
0046     }
0047 
0048     background: Item {
0049         anchors.fill: parent
0050         implicitWidth: Kirigami.Units.gridUnit * 8
0051 
0052         Rectangle {
0053             anchors.fill: parent
0054             color: Kirigami.Theme.highlightColor
0055             opacity: controlRoot.down || controlRoot.highlighted  ? 0.7 : 0
0056             Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } }
0057         }
0058     }
0059 }