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