Warning, /plasma/qqc2-breeze-style/style/qtquickcontrols/Switch.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.Switch {
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: Impl.Units.verySmallSpacing
0022     horizontalPadding: Kirigami.Units.mediumSpacing
0023 
0024     spacing: Kirigami.Units.mediumSpacing
0025 
0026     icon.width: Kirigami.Units.iconSizes.sizeForLabels
0027     icon.height: Kirigami.Units.iconSizes.sizeForLabels
0028 
0029     indicator: Impl.SwitchIndicator {
0030         control: control
0031     }
0032 
0033     Kirigami.MnemonicData.enabled: control.enabled && control.visible
0034     Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.ActionElement
0035     Kirigami.MnemonicData.label: control.text
0036     Shortcut {
0037         //in case of explicit & the button manages it by itself
0038         enabled: !(RegExp(/\&[^\&]/).test(control.text))
0039         sequence: control.Kirigami.MnemonicData.sequence
0040         onActivated: control.toggle();
0041     }
0042 
0043     contentItem: Impl.InlineIconLabelContent {
0044         control: control
0045         text: control.Kirigami.MnemonicData.richTextLabel
0046         alignment: Qt.AlignLeft | Qt.AlignVCenter
0047     }
0048 }