shift-shell/components/mobileshell/qml/widgets/notifications/NotificationGroupHeader.qml
Marco Martin 42cccf8e7f port to Kirigami.Icon
Part of https://invent.kde.org/plasma/plasma-workspace/-/issues/82

PlasmaCore.IconItem will be removed; now only the kirigami icon
should be used.
2023-08-18 09:08:07 +00:00

69 lines
2 KiB
QML

/*
* SPDX-FileCopyrightText: 2021 Devin Lin <devin@kde.org>
* SPDX-FileCopyrightText: 2018-2019 Kai Uwe Broulik <kde@privat.broulik.de>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
import QtQuick 2.8
import QtQuick.Layouts 1.1
import QtQuick.Window 2.2
import org.kde.kirigami 2.12 as Kirigami
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.plasma5support 2.0 as P5Support
import org.kde.plasma.components 3.0 as PlasmaComponents
import org.kde.notificationmanager 1.0 as NotificationManager
import org.kde.coreaddons 1.0 as KCoreAddons
import "util.js" as Util
RowLayout {
id: notificationHeading
property int notificationType
property var applicationIconSource
property string applicationName
property string originName
property var time
property P5Support.DataSource timeSource
property int jobState
property QtObject jobDetails
property real timeout: 5000
property real remainingTime: 0
spacing: Kirigami.Units.smallSpacing
Layout.preferredHeight: Math.max(applicationNameLabel.implicitHeight, Kirigami.Units.iconSizes.small)
Kirigami.Icon {
id: applicationIconItem
Layout.topMargin: Kirigami.Units.smallSpacing
Layout.bottomMargin: Kirigami.Units.smallSpacing
Layout.preferredWidth: Kirigami.Units.iconSizes.small
Layout.preferredHeight: Kirigami.Units.iconSizes.small
source: notificationHeading.applicationIconSource
visible: valid
}
PlasmaComponents.Label {
id: applicationNameLabel
Layout.leftMargin: Kirigami.Units.smallSpacing
Layout.fillWidth: true
opacity: 0.6
textFormat: Text.PlainText
elide: Text.ElideLeft
font.bold: true
text: notificationHeading.applicationName + (notificationHeading.originName ? " · " + notificationHeading.originName : "")
}
Item {
id: spacer
Layout.fillWidth: true
}
}