Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/RadioDelegate.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 0016 T.RadioDelegate { 0017 id: controlRoot 0018 0019 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, 0020 implicitContentWidth + leftPadding + rightPadding) 0021 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, 0022 implicitContentHeight + topPadding + bottomPadding, 0023 implicitIndicatorHeight + topPadding + bottomPadding) 0024 0025 hoverEnabled: true 0026 0027 spacing: Kirigami.Units.smallSpacing 0028 padding: Kirigami.Settings.tabletMode ? Kirigami.Units.largeSpacing : Kirigami.Units.mediumSpacing 0029 horizontalPadding: Kirigami.Units.smallSpacing * 2 0030 leftPadding: !mirrored ? horizontalPadding + implicitIndicatorWidth + spacing : horizontalPadding 0031 rightPadding: mirrored ? horizontalPadding + implicitIndicatorWidth + spacing : horizontalPadding 0032 0033 icon.width: Kirigami.Units.iconSizes.smallMedium 0034 icon.height: Kirigami.Units.iconSizes.smallMedium 0035 0036 T.ToolTip.visible: (Kirigami.Settings.tabletMode ? down : hovered) && (contentItem.truncated ?? false) 0037 T.ToolTip.text: text 0038 T.ToolTip.delay: Kirigami.Units.toolTipDelay 0039 0040 contentItem: RowLayout { 0041 LayoutMirroring.enabled: controlRoot.mirrored 0042 spacing: controlRoot.spacing 0043 0044 property alias truncated: textLabel.truncated 0045 0046 Kirigami.Icon { 0047 Layout.alignment: Qt.AlignVCenter 0048 visible: controlRoot.icon.name !== "" || controlRoot.icon.source.toString() !== "" 0049 source: controlRoot.icon.name !== "" ? controlRoot.icon.name : controlRoot.icon.source 0050 Layout.preferredHeight: controlRoot.icon.height 0051 Layout.preferredWidth: controlRoot.icon.width 0052 } 0053 0054 Label { 0055 id: textLabel 0056 0057 text: controlRoot.text 0058 font: controlRoot.font 0059 color: (controlRoot.pressed && !controlRoot.checked && !controlRoot.sectionDelegate) ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor 0060 elide: Text.ElideRight 0061 visible: controlRoot.text 0062 horizontalAlignment: Text.AlignLeft 0063 verticalAlignment: Text.AlignVCenter 0064 } 0065 } 0066 0067 indicator: Private.CheckIndicator { 0068 elementType: "radiobutton" 0069 x: !controlRoot.mirrored ? controlRoot.horizontalPadding : controlRoot.width - width - controlRoot.horizontalPadding 0070 y: controlRoot.topPadding + (controlRoot.availableHeight - height) / 2 0071 control: controlRoot 0072 drawIcon: false 0073 } 0074 0075 background: Private.DefaultListItemBackground { 0076 control: controlRoot 0077 } 0078 }