Warning, /libraries/kirigami-addons/src/delegates/SubtitleContentItem.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 Carl Schwan <carl@carlschwan.eu> 0002 // SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0003 0004 import QtQuick 2.15 0005 import QtQuick.Layouts 1.15 0006 import QtQuick.Controls 2.15 as QQC2 0007 import QtQuick.Templates 2.15 as T 0008 import org.kde.kirigami 2.20 as Kirigami 0009 0010 RowLayout { 0011 id: root 0012 0013 required property T.ItemDelegate itemDelegate 0014 required property string subtitle 0015 property bool bold: false 0016 0017 readonly property alias labelItem: labelItem 0018 readonly property alias subtitleItem: subtitleItem 0019 readonly property alias iconItem: iconItem 0020 0021 spacing: Kirigami.Units.smallSpacing 0022 0023 Kirigami.Icon { 0024 id: iconItem 0025 Layout.alignment: Qt.AlignVCenter 0026 visible: itemDelegate.icon.name.length > 0 || itemDelegate.icon.source.toString().length > 0 0027 source: itemDelegate.icon.name.length > 0 ? itemDelegate.icon.name : itemDelegate.icon.source 0028 0029 Layout.preferredHeight: itemDelegate.icon.width 0030 Layout.preferredWidth: itemDelegate.icon.height 0031 Layout.leftMargin: Kirigami.Units.smallSpacing 0032 Layout.rightMargin: Kirigami.Units.smallSpacing 0033 } 0034 0035 ColumnLayout { 0036 Layout.fillWidth: true 0037 spacing: 0 0038 0039 QQC2.Label { 0040 id: labelItem 0041 0042 leftPadding: itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0 0043 rightPadding: !itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0 0044 0045 text: itemDelegate.text 0046 font: itemDelegate.font 0047 color: itemDelegate.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor 0048 elide: Text.ElideRight 0049 visible: itemDelegate.text 0050 horizontalAlignment: Text.AlignLeft 0051 verticalAlignment: Text.AlignVCenter 0052 0053 Layout.fillWidth: true 0054 Layout.alignment: subtitleItem.visible ? Qt.AlignLeft | Qt.AlignBottom : Qt.AlignLeft | Qt.AlignVCenter 0055 } 0056 0057 QQC2.Label { 0058 id: subtitleItem 0059 0060 color: itemDelegate.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor 0061 text: root.subtitle 0062 0063 elide: Text.ElideRight 0064 font: Kirigami.Theme.smallFont 0065 opacity: root.bold ? 0.9 : 0.7 0066 visible: text.length > 0 0067 0068 Layout.fillWidth: true 0069 Layout.alignment: visible ? Qt.AlignLeft | Qt.AlignTop : Qt.AlignLeft | Qt.AlignVCenter 0070 } 0071 } 0072 } 0073