Warning, /plasma/discover/discover/qml/GridApplicationDelegate.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *   SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *   SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
0004  *
0005  *   SPDX-License-Identifier: LGPL-2.0-or-later
0006  */
0007 
0008 import QtQuick 2.1
0009 import QtQuick.Controls 2.1
0010 import QtQuick.Layouts 1.1
0011 import QtQuick.Window 2.1
0012 import "navigation.js" as Navigation
0013 import org.kde.kirigami 2.6 as Kirigami
0014 
0015 Kirigami.AbstractCard {
0016     id: delegateArea
0017     showClickFeedback: true
0018 
0019     topPadding: 0
0020     bottomPadding: 0
0021 
0022     contentItem: Item {
0023         implicitHeight: Kirigami.Units.gridUnit * 5
0024 
0025         RowLayout {
0026             anchors.fill: parent
0027             anchors.margins: Kirigami.Units.smallSpacing
0028             spacing: Kirigami.Units.largeSpacing
0029 
0030             Kirigami.Icon {
0031                 implicitWidth: Kirigami.Units.iconSizes.huge
0032                 implicitHeight: Kirigami.Units.iconSizes.huge
0033                 source: model.application.icon
0034             }
0035 
0036             ColumnLayout {
0037                 Layout.fillWidth: true
0038                 Layout.fillHeight: true
0039                 spacing: 0
0040 
0041                 Kirigami.Heading {
0042                     id: head
0043                     level: delegateArea.compact ? 3 : 2
0044                     type: Kirigami.Heading.Type.Primary
0045                     Layout.fillWidth: true
0046                     Layout.alignment: Qt.AlignBottom
0047                     wrapMode: Text.WordWrap
0048                     maximumLineCount: 2
0049 
0050                     text: model.application.name
0051                 }
0052 
0053                 Label {
0054                     Layout.fillWidth: true
0055                     Layout.alignment: Qt.AlignTop
0056                     maximumLineCount: head.lineCount === 1 ? 3 : 2
0057                     opacity: 0.6
0058                     wrapMode: Text.WordWrap
0059 
0060                     text: model.application.comment
0061                 }
0062             }
0063         }
0064 
0065     }
0066 
0067     onClicked: Navigation.openApplication(model.application)
0068 }