Warning, /maui/mauikit/src/style.5/MenuItem.qml is written in an unsupported language. File is not indexed.
0001 /****************************************************************************
0002 **
0003 ** Copyright (C) 2017 The Qt Company Ltd.
0004 ** Contact: http://www.qt.io/licensing/
0005 **
0006 ** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
0007 **
0008 ** $QT_BEGIN_LICENSE:LGPL3$
0009 ** Commercial License Usage
0010 ** Licensees holding valid commercial Qt licenses may use this file in
0011 ** accordance with the commercial license agreement provided with the
0012 ** Software or, alternatively, in accordance with the terms contained in
0013 ** a written agreement between you and The Qt Company. For licensing terms
0014 ** and conditions see http://www.qt.io/terms-conditions. For further
0015 ** information use the contact form at http://www.qt.io/contact-us.
0016 **
0017 ** GNU Lesser General Public License Usage
0018 ** Alternatively, this file may be used under the terms of the GNU Lesser
0019 ** General Public License version 3 as published by the Free Software
0020 ** Foundation and appearing in the file LICENSE.LGPLv3 included in the
0021 ** packaging of this file. Please review the following information to
0022 ** ensure the GNU Lesser General Public License version 3 requirements
0023 ** will be met: https://www.gnu.org/licenses/lgpl.html.
0024 **
0025 ** GNU General Public License Usage
0026 ** Alternatively, this file may be used under the terms of the GNU
0027 ** General Public License version 2.0 or later as published by the Free
0028 ** Software Foundation and appearing in the file LICENSE.GPL included in
0029 ** the packaging of this file. Please review the following information to
0030 ** ensure the GNU General Public License version 2.0 requirements will be
0031 ** met: http://www.gnu.org/licenses/gpl-2.0.html.
0032 **
0033 ** $QT_END_LICENSE$
0034 **
0035 ****************************************************************************/
0036
0037 import QtQuick 2.15
0038 import QtQuick.Layouts 1.10
0039
0040 import QtQuick.Templates 2.15 as T
0041
0042 import org.mauikit.controls 1.3 as Maui
0043
0044 T.MenuItem
0045 {
0046 id: control
0047
0048 opacity: control.enabled ? 1 : 0.5
0049
0050 hoverEnabled: !Maui.Handy.isMobile
0051
0052 implicitWidth: ListView.view ? ListView.view.width : Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding)
0053
0054 width: implicitWidth
0055
0056 implicitHeight: Math.floor(Math.max(implicitContentHeight + topPadding + bottomPadding,
0057 implicitIndicatorHeight + topPadding + bottomPadding) )
0058
0059 padding: Maui.Style.defaultPadding
0060 spacing: Maui.Style.space.small
0061
0062 icon.width: Maui.Style.iconSize
0063 icon.height: Maui.Style.iconSize
0064 icon.color: control.down || control.pressed || control.checked ? Maui.Theme.highlightedTextColor : Maui.Theme.textColor
0065
0066 property bool flat: !Maui.Handy.isMobile
0067 property bool showIcon: Maui.Style.menusHaveIcons
0068
0069 font: Maui.Style.defaultFont
0070
0071 indicator: CheckIndicator
0072 {
0073 x: control.width - width - control.rightPadding
0074 y: control.topPadding + (control.availableHeight - height) / 2
0075 visible: control.checkable
0076 control: control
0077 }
0078
0079 arrow: Maui.Icon
0080 {
0081 x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding
0082 y: control.topPadding + (control.availableHeight - height) / 2
0083
0084 visible: control.subMenu
0085 // mirror: control.mirrored
0086 color: control.icon.color
0087 height: 10
0088 width: 10
0089 source: "qrc:/assets/arrow-right.svg"
0090 }
0091
0092 contentItem: Maui.IconLabel
0093 {
0094 readonly property real arrowPadding: control.subMenu && control.arrow ? control.arrow.width + control.spacing : 0
0095 readonly property real indicatorPadding: control.checkable && control.indicator ? control.indicator.width + control.spacing : 0
0096
0097 rightPadding: indicatorPadding + arrowPadding
0098
0099 spacing: control.spacing
0100
0101 display: control.display
0102
0103 alignment: Qt.AlignLeft
0104
0105 icon: control.showIcon ? control.icon : null
0106 text: control.text
0107 font: control.font
0108 color: control.icon.color
0109 }
0110
0111 background: Rectangle
0112 {
0113 radius: Maui.Style.radiusV
0114
0115 color: control.checked || control.pressed || control.down ? Maui.Theme.highlightColor : control.highlighted || control.hovered ? Maui.Theme.hoverColor : (control.flat ? "transparent" : Maui.Theme.alternateBackgroundColor)
0116
0117 Behavior on color
0118 {
0119 enabled: !control.flat
0120 Maui.ColorTransition{}
0121 }
0122 }
0123 }