Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/CheckDelegate.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 SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0005 0006 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later 0007 */ 0008 0009 0010 import QtQuick 0011 import QtQuick.Layouts 0012 import QtQuick.Templates as T 0013 import org.kde.kirigami as Kirigami 0014 import org.kde.desktop.private as Private 0015 import org.kde.qqc2desktopstyle.private as StylePrivate 0016 0017 T.CheckDelegate { 0018 id: controlRoot 0019 0020 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, 0021 implicitContentWidth + leftPadding + rightPadding) 0022 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 0023 implicitContentHeight + topPadding + bottomPadding, 0024 implicitIndicatorHeight + topPadding + bottomPadding) 0025 0026 hoverEnabled: true 0027 0028 spacing: Kirigami.Units.smallSpacing 0029 padding: Kirigami.Settings.tabletMode ? Kirigami.Units.largeSpacing : Kirigami.Units.mediumSpacing 0030 horizontalPadding: Kirigami.Units.smallSpacing * 2 0031 leftPadding: !mirrored ? horizontalPadding + implicitIndicatorWidth + spacing : horizontalPadding 0032 rightPadding: mirrored ? horizontalPadding + implicitIndicatorWidth + spacing : horizontalPadding 0033 0034 icon.width: Kirigami.Units.iconSizes.smallMedium 0035 icon.height: Kirigami.Units.iconSizes.smallMedium 0036 0037 T.ToolTip.visible: (Kirigami.Settings.tabletMode ? down : hovered) && (contentItem.truncated ?? false) 0038 T.ToolTip.text: text 0039 T.ToolTip.delay: Kirigami.Units.toolTipDelay 0040 0041 contentItem: RowLayout { 0042 LayoutMirroring.enabled: controlRoot.mirrored 0043 spacing: controlRoot.spacing 0044 0045 property alias truncated: textLabel.truncated 0046 0047 Kirigami.Icon { 0048 Layout.alignment: Qt.AlignVCenter 0049 visible: controlRoot.icon.name !== "" || controlRoot.icon.source.toString() !== "" 0050 source: controlRoot.icon.name !== "" ? controlRoot.icon.name : controlRoot.icon.source 0051 Layout.preferredHeight: controlRoot.icon.height 0052 Layout.preferredWidth: controlRoot.icon.width 0053 } 0054 0055 Label { 0056 id: textLabel 0057 0058 Layout.alignment: Qt.AlignLeft 0059 Layout.fillWidth: true 0060 0061 text: controlRoot.text 0062 font: controlRoot.font 0063 color: (((controlRoot.pressed && !controlRoot.checked) || controlRoot.highlighted) && !controlRoot.sectionDelegate) ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor 0064 elide: Text.ElideRight 0065 visible: controlRoot.text 0066 horizontalAlignment: Text.AlignLeft 0067 verticalAlignment: Text.AlignVCenter 0068 } 0069 } 0070 0071 indicator: Private.CheckIndicator { 0072 elementType: "checkbox" 0073 x: !controlRoot.mirrored ? controlRoot.horizontalPadding : controlRoot.width - width - controlRoot.horizontalPadding 0074 y: controlRoot.topPadding + (controlRoot.availableHeight - height) / 2 0075 0076 control: controlRoot 0077 drawIcon: false 0078 } 0079 0080 background: Private.DefaultListItemBackground { 0081 control: controlRoot 0082 } 0083 }