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 }