Warning, /maui/nomad-style/CheckBox.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  * Copyright 2017 Marco Martin <mart@kde.org>
0003  * Copyright 2017 The Qt Company Ltd.
0004  *
0005  * GNU Lesser General Public License Usage
0006  * Alternatively, this file may be used under the terms of the GNU Lesser
0007  * General Public License version 3 as published by the Free Software
0008  * Foundation and appearing in the file LICENSE.LGPLv3 included in the
0009  * packaging of this file. Please review the following information to
0010  * ensure the GNU Lesser General Public License version 3 requirements
0011  * will be met: https://www.gnu.org/licenses/lgpl.html.
0012  *
0013  * GNU General Public License Usage
0014  * Alternatively, this file may be used under the terms of the GNU
0015  * General Public License version 2.0 or later as published by the Free
0016  * Software Foundation and appearing in the file LICENSE.GPL included in
0017  * the packaging of this file. Please review the following information to
0018  * ensure the GNU General Public License version 2.0 requirements will be
0019  * met: http://www.gnu.org/licenses/gpl-2.0.html.
0020  */
0021 
0022 
0023 import QtQuick 2.6
0024 import QtQuick.Templates 2.3 as T
0025 import QtQuick.Controls 2.3
0026 import org.kde.kirigami 2.2 as Kirigami
0027 
0028 T.CheckBox {
0029     id: controlRoot
0030 
0031     implicitWidth: Math.max(background ? background.implicitWidth : 0,
0032                             contentItem.implicitWidth + leftPadding + rightPadding)
0033     implicitHeight: Math.max(background ? background.implicitHeight : 0,
0034                              Math.max(contentItem.implicitHeight,
0035                                       indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
0036     baselineOffset: contentItem.y + contentItem.baselineOffset
0037 
0038     padding: 1
0039     spacing: Kirigami.Units.smallSpacing
0040 
0041     hoverEnabled: true
0042 
0043     indicator: CheckIndicator {
0044         LayoutMirroring.enabled: controlRoot.mirrored
0045         LayoutMirroring.childrenInherit: true
0046         anchors {
0047             left: parent.left
0048             verticalCenter: parent.verticalCenter
0049         }
0050         control: controlRoot
0051     }
0052 
0053     contentItem: Label {
0054         leftPadding: controlRoot.indicator && !controlRoot.mirrored ? controlRoot.indicator.width + controlRoot.spacing : 0
0055         rightPadding: controlRoot.indicator && controlRoot.mirrored ? controlRoot.indicator.width + controlRoot.spacing : 0
0056         opacity: controlRoot.enabled ? 1 : 0.6
0057         text: controlRoot.text
0058         font: controlRoot.font
0059         elide: Text.ElideRight
0060         visible: controlRoot.text
0061         horizontalAlignment: Text.AlignLeft
0062         verticalAlignment: Text.AlignVCenter
0063     }
0064 }