Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/SwitchDelegate.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org>
0003     SPDX-FileCopyrightText: 2017 The Qt Company Ltd.
0004 
0005     SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later
0006 */
0007 
0008 
0009 import QtQuick 2.5
0010 import org.kde.kirigami 2.4 as Kirigami
0011 import QtQuick.Templates 2.15 as T
0012 import "private"
0013 
0014 T.SwitchDelegate {
0015     id: controlRoot
0016 
0017     implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding
0018     implicitHeight: Math.max(contentItem.implicitHeight,
0019                              indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding
0020     hoverEnabled: true
0021 
0022     padding: Kirigami.Settings.tabletMode ? Kirigami.Units.largeSpacing : Kirigami.Units.smallSpacing
0023 
0024     topPadding: padding
0025     leftPadding: padding * 2
0026     rightPadding: padding * 2
0027     bottomPadding: padding
0028 
0029     contentItem: Label {
0030         leftPadding: controlRoot.mirrored ? (controlRoot.indicator ? controlRoot.indicator.width : 0) + controlRoot.spacing : 0
0031         rightPadding: !controlRoot.mirrored ? (controlRoot.indicator ? controlRoot.indicator.width : 0) + controlRoot.spacing : 0
0032 
0033         text: controlRoot.text
0034         font: controlRoot.font
0035         color: (controlRoot.pressed && !controlRoot.checked && !controlRoot.sectionDelegate) ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0036         elide: Text.ElideRight
0037         visible: controlRoot.text
0038         horizontalAlignment: Text.AlignLeft
0039         verticalAlignment: Text.AlignVCenter
0040     }
0041 
0042     indicator: SwitchIndicator {
0043         x: controlRoot.mirrored ? controlRoot.leftPadding : controlRoot.width - width - controlRoot.rightPadding
0044         y: controlRoot.topPadding + (controlRoot.availableHeight - height) / 2
0045         control: controlRoot
0046     }
0047 
0048     background: DefaultListItemBackground {
0049         control: controlRoot
0050     }
0051 }