1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
/*
* SPDX-FileCopyrightText: 2017-2019 Kaidan Developers and Contributors
* SPDX-FileCopyrightText: 2019 Jonah BrĂ¼chert <jbb@kaidan.im>
* SPDX-FileCopyrightText: 2021 Claudio Cambra <claudio.cambra@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls as QQC2
import Qt5Compat.GraphicalEffects
import org.kde.kirigami as Kirigami
import org.kde.merkuro.contact
import org.kde.kirigamiaddons.labs.components 1.0 as KAComponents
import org.kde.kirigamiaddons.delegates as Delegates
Delegates.RoundedItemDelegate {
id: listItem
property string name
property bool added: false
property var avatarIcon
signal createContextMenu
contentItem: RowLayout {
spacing: Kirigami.Units.largeSpacing
KAComponents.Avatar {
id: avatar
Layout.maximumHeight: parent.height
Layout.maximumWidth: parent.height
source: ContactManager.decorationToUrl(avatarIcon)
name: listItem.name
}
Kirigami.Heading {
text: name
textFormat: Text.PlainText
elide: Text.ElideRight
maximumLineCount: 1
level: Kirigami.Settings.isMobile ? 3 : 0
Layout.fillWidth: true
}
Kirigami.Icon {
height: parent.height
width: height
source: "checkmark"
visible: added
}
TapHandler {
acceptedButtons: Qt.RightButton
onTapped: listItem.createContextMenu()
}
}
}
|