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