Warning, /plasma/qqc2-breeze-style/style/qtquickcontrols/SwitchDelegate.qml is written in an unsupported language. File is not indexed.

0001 /* SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com>
0002  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0003  */
0004 
0005 import QtQuick
0006 import QtQuick.Templates as T
0007 import QtQuick.Controls as Controls
0008 import org.kde.kirigami as Kirigami
0009 import org.kde.breeze.impl as Impl
0010 
0011 T.SwitchDelegate {
0012     id: control
0013 
0014     implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
0015                             implicitContentWidth + leftPadding + rightPadding,
0016                             implicitIndicatorWidth + leftPadding + rightPadding)
0017     implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
0018                              implicitContentHeight + topPadding + bottomPadding,
0019                              implicitIndicatorHeight + topPadding + bottomPadding)
0020 
0021     padding: Kirigami.Units.mediumSpacing
0022     leftPadding: {
0023         if ((!contentItem.hasIcon && contentItem.textBesideIcon) // False if contentItem has been replaced
0024             || display == T.AbstractButton.TextOnly
0025             || display == T.AbstractButton.TextUnderIcon) {
0026             return Impl.Units.mediumHorizontalPadding
0027         } else {
0028             return control.horizontalPadding
0029         }
0030     }
0031     rightPadding: {
0032         if (!control.indicator.visible
0033             && contentItem.hasLabel
0034             && display != T.AbstractButton.IconOnly) { // False if contentItem has been replaced
0035             return Impl.Units.mediumHorizontalPadding
0036         } else {
0037             return control.horizontalPadding
0038         }
0039     }
0040 
0041     spacing: Kirigami.Units.mediumSpacing
0042 
0043     icon.width: Kirigami.Units.iconSizes.sizeForLabels
0044     icon.height: Kirigami.Units.iconSizes.sizeForLabels
0045 
0046     contentItem:Impl.IconLabelContent {
0047         control: control
0048         alignment: Qt.AlignLeft | Qt.AlignVCenter
0049         //color: (control.pressed && !control.checked && !control.sectionDelegate) ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0050     }
0051 
0052     indicator: Impl.SwitchIndicator {
0053         control: control
0054         mirrored: !control.mirrored
0055     }
0056 
0057     background: Impl.DelegateBackground {
0058         control: control
0059     }
0060 }