Warning, /libraries/kirigami-addons/src/delegates/DefaultContentItem.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 /** 0011 * Content item which is used by default in the RoundedItemDelegate and IndicatorItemDelegate. Provides a label and an icon. 0012 * 0013 * This can be used directly as contentItem or inside a RowLayout if you need to put some content before or after this item. 0014 * 0015 * @since KirigamiAddons 0.10.0 0016 */ 0017 RowLayout { 0018 id: root 0019 0020 /** 0021 * This required property holds the item delegate corresponding to this content item. 0022 * 0023 * @since KirigamiAddons 0.10.0 0024 */ 0025 required property T.AbstractButton itemDelegate 0026 0027 /** 0028 * This property holds the Label containing the text of the item delegate. 0029 * 0030 * @since KirigamiAddons 0.10.1 0031 */ 0032 readonly property alias labelItem: labelItem 0033 0034 /** 0035 * This property holds the Kirigami.Icon containing the icon of the item delegate. 0036 * 0037 * @since KirigamiAddons 0.10.1 0038 */ 0039 readonly property alias iconItem: iconItem 0040 0041 spacing: Kirigami.Units.smallSpacing 0042 0043 Kirigami.Icon { 0044 id: iconItem 0045 0046 Layout.alignment: Qt.AlignVCenter 0047 visible: itemDelegate.icon.name.length > 0 || itemDelegate.icon.source.toString().length > 0 0048 source: itemDelegate.icon.name.length > 0 ? itemDelegate.icon.name : itemDelegate.icon.source 0049 Layout.preferredHeight: itemDelegate.icon.width 0050 Layout.preferredWidth: itemDelegate.icon.height 0051 } 0052 0053 QQC2.Label { 0054 id: labelItem 0055 0056 leftPadding: itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0 0057 rightPadding: !itemDelegate.mirrored ? (itemDelegate.indicator ? itemDelegate.indicator.width : 0) + itemDelegate.spacing : 0 0058 0059 text: root.itemDelegate.text 0060 font: root.itemDelegate.font 0061 color: root.itemDelegate.enabled ? Kirigami.Theme.textColor : Kirigami.Theme.disabledTextColor 0062 elide: Text.ElideRight 0063 visible: itemDelegate.text && itemDelegate.display !== QQC2.AbstractButton.IconOnly 0064 horizontalAlignment: Text.AlignLeft 0065 verticalAlignment: Text.AlignVCenter 0066 Layout.alignment: Qt.AlignLeft 0067 Layout.fillWidth: true 0068 } 0069 } 0070