Warning, /plasma/qqc2-breeze-style/style/qtquickcontrols/ItemDelegate.qml is written in an unsupported language. File is not indexed.

0001 /* SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com>
0002  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0003  */
0004 
0005 import QtQuick 2.15
0006 import QtQuick.Templates 2.15 as T
0007 import QtQuick.Controls 2.15 as Controls
0008 import org.kde.kirigami 2.19 as Kirigami
0009 
0010 import "impl" as Impl
0011 
0012 T.ItemDelegate {
0013     id: control
0014 
0015     implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
0016                             implicitContentWidth + leftPadding + rightPadding,
0017                             implicitIndicatorWidth + leftPadding + rightPadding)
0018     implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
0019                              implicitContentHeight + topPadding + bottomPadding,
0020                              implicitIndicatorHeight + topPadding + bottomPadding)
0021 
0022     padding: Kirigami.Units.mediumSpacing
0023 
0024     leftPadding: {
0025         if ((!contentItem.hasIcon && contentItem.textBesideIcon) // False if contentItem has been replaced
0026             || display == T.AbstractButton.TextOnly
0027             || display == T.AbstractButton.TextUnderIcon) {
0028             return Impl.Units.mediumHorizontalPadding
0029         } else {
0030             return control.horizontalPadding
0031         }
0032     }
0033     rightPadding: {
0034         if (contentItem.hasLabel && display != T.AbstractButton.IconOnly) { // False if contentItem has been replaced
0035             return Impl.Units.mediumHorizontalPadding
0036         } else {
0037             return control.horizontalPadding
0038         }
0039     }
0040 
0041     spacing: Kirigami.Units.mediumSpacing
0042 
0043     icon.width: Kirigami.Units.iconSizes.sizeForLabels
0044     icon.height: Kirigami.Units.iconSizes.sizeForLabels
0045 
0046     Kirigami.Theme.colorSet: control.down || control.highlighted ? Kirigami.Theme.Button : -1
0047     Kirigami.Theme.inherit: !background || !background.visible && !(control.highlighted || control.down)
0048 
0049     contentItem: Impl.IconLabelContent {
0050         control: control
0051         alignment: Qt.AlignLeft | Qt.AlignVCenter
0052     }
0053 
0054     background: Impl.DelegateBackground {
0055         control: control
0056     }
0057 }