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 }