Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/ItemDelegate.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 2.5
0011 import QtQuick.Layouts 1.2
0012 import QtQuick.Templates 2.15 as T
0013 import org.kde.kirigami 2.4 as Kirigami
0014 import "private"
0015 
0016 T.ItemDelegate {
0017     id: controlRoot
0018 
0019     implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding
0020     implicitHeight: Math.max(contentItem.implicitHeight,
0021                              indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding
0022     hoverEnabled: true
0023 
0024     padding: Kirigami.Settings.tabletMode ? Kirigami.Units.largeSpacing : Kirigami.Units.smallSpacing
0025 
0026     topPadding: padding
0027     leftPadding: padding * 2
0028     rightPadding: padding * 2
0029     bottomPadding: padding
0030 
0031     contentItem: RowLayout {
0032         spacing: Kirigami.Units.smallSpacing
0033         Kirigami.Icon {
0034             Layout.alignment: Qt.AlignVCenter
0035             visible: controlRoot.icon.name !== "" || controlRoot.icon.source.toString() !== ""
0036             source: controlRoot.icon.name !== "" ? controlRoot.icon.name : controlRoot.icon.source
0037             Layout.preferredHeight: Kirigami.Units.iconSizes.small
0038             Layout.preferredWidth: Layout.preferredHeight
0039         }
0040         Label {
0041             leftPadding: controlRoot.mirrored ? (controlRoot.indicator ? controlRoot.indicator.width : 0) + controlRoot.spacing : 0
0042             rightPadding: !controlRoot.mirrored ? (controlRoot.indicator ? controlRoot.indicator.width : 0) + controlRoot.spacing : 0
0043 
0044             text: controlRoot.text
0045             font: controlRoot.font
0046             color: controlRoot.highlighted || controlRoot.checked || (controlRoot.pressed && !controlRoot.checked && !controlRoot.sectionDelegate)
0047                 ? Kirigami.Theme.highlightedTextColor :
0048                 (controlRoot.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor)
0049             elide: Text.ElideRight
0050             visible: controlRoot.text
0051             horizontalAlignment: Text.AlignLeft
0052             verticalAlignment: Text.AlignVCenter
0053             Layout.alignment: Qt.AlignLeft
0054             Layout.fillWidth: true
0055         }
0056     }
0057 
0058     background: DefaultListItemBackground {
0059         control: controlRoot
0060     }
0061 }