Warning, /maui/nomad-style/ToolButton.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.10
0038 import QtQuick.Controls 2.3
0039 import QtQuick.Controls.impl 2.3
0040 import QtQuick.Templates 2.3 as T
0041 import org.kde.kirigami 2.2 as Kirigami
0042 
0043 T.ToolButton {
0044     id: control
0045 
0046     implicitWidth: Math.max(background ? background.implicitWidth : 0,
0047                             contentItem.implicitWidth + leftPadding + rightPadding)
0048     implicitHeight: Math.max(background ? background.implicitHeight : 0,
0049                              contentItem.implicitHeight + topPadding + bottomPadding)
0050     baselineOffset: contentItem.y + contentItem.baselineOffset
0051 
0052     padding: Kirigami.Units.smallSpacing
0053     spacing: Kirigami.Units.smallSpacing
0054 
0055     icon.width: Kirigami.Units.iconSizes.medium
0056     icon.height: Kirigami.Units.iconSizes.medium
0057     icon.color: visualFocus ? control.palette.highlight : control.palette.buttonText
0058     
0059     flat: control.parent === T.ToolBar
0060 
0061     contentItem: IconLabel {
0062         spacing: control.spacing
0063         mirrored: control.mirrored
0064         display: control.display
0065 
0066         icon: control.icon
0067         text: control.text
0068         font: control.font
0069         color: control.visualFocus ? control.palette.highlight : control.palette.buttonText
0070     }
0071 
0072     background: Rectangle {
0073         implicitWidth: Kirigami.Units.iconSizes.medium
0074         implicitHeight: Kirigami.Units.iconSizes.medium
0075         
0076         radius: height * 0.05
0077 
0078         opacity: control.down ? 1.0 : 0.5
0079         color: control.flat ? "transparent" : (control.down || control.checked || control.highlighted ? Kirigami.Theme.buttonHoverColor : control.palette.button)
0080     }
0081 }