1/* 2 SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5*/ 6 7import QtQuick 2.5 8import QtQuick.Templates @QQC2_VERSION@ as T 9import org.kde.plasma.core 2.0 as PlasmaCore 10import "private" 11 12T.SwitchDelegate { 13 id: control 14 15 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, 16 implicitContentWidth + leftPadding + rightPadding, 17 implicitIndicatorWidth + leftPadding + rightPadding) 18 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 19 implicitContentHeight + topPadding + bottomPadding, 20 implicitIndicatorHeight + topPadding + bottomPadding) 21 hoverEnabled: true 22 23 topPadding: background.margins.top 24 bottomPadding: background.margins.bottom 25 leftPadding: background.margins.left 26 rightPadding: background.margins.right 27 spacing: PlasmaCore.Units.smallSpacing 28 29 icon.width: PlasmaCore.Units.iconSizes.sizeForLabels 30 icon.height: PlasmaCore.Units.iconSizes.sizeForLabels 31 32 contentItem: IconLabel { 33 leftPadding: !control.mirrored ? 0 : control.__indicatorMargin 34 rightPadding: control.mirrored ? 0 : control.__indicatorMargin 35 palette: control.palette 36 font: control.font 37 alignment: Qt.AlignLeft 38 display: control.display 39 spacing: control.spacing 40 iconItem.implicitWidth: control.icon.width 41 iconItem.implicitHeight: control.icon.height 42 iconItem.source: control.icon.name || control.icon.source 43 label.text: control.text 44 } 45 46 indicator: SwitchIndicator { 47 x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding 48 y: control.topPadding + (control.availableHeight - height) / 2 49 50 control: control 51 } 52 53 background: DefaultListItemBackground {} 54} 55