Martchus
912dca1564
* Split QML part into distinct versions for Plasma 5 and 6 as there are too many differences and `#ifdef` is not possible * Change API usage according to https://develop.kde.org/docs/plasma/widget/porting_kf6 * Port "contextualActions" to API documented on https://invent.kde.org/frameworks/plasma-framework/-/blob/master/src/plasma/applet.h * Document testing * Add FIXMEs/notes for remaining problems; there are likely many more, though
50 lines
1.4 KiB
QML
50 lines
1.4 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Layouts 1.1
|
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
|
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
|
|
|
Item {
|
|
id: detailItem
|
|
|
|
property string detailName: name ? name : ""
|
|
property string detailValue: detail ? detail : ""
|
|
|
|
width: detailRow.implicitWidth
|
|
height: detailRow.implicitHeight
|
|
|
|
RowLayout {
|
|
id: detailRow
|
|
width: parent.width
|
|
|
|
PlasmaCore.IconItem {
|
|
source: detailIcon
|
|
Layout.leftMargin: units.iconSizes.small * 1.1
|
|
Layout.preferredWidth: units.iconSizes.small
|
|
Layout.preferredHeight: units.iconSizes.small
|
|
opacity: 0.8
|
|
}
|
|
PlasmaComponents3.Label {
|
|
Layout.preferredWidth: 100
|
|
text: detailName
|
|
font.weight: Font.DemiBold
|
|
}
|
|
PlasmaComponents3.Label {
|
|
Layout.leftMargin: theme.defaultFont.pointSize * 0.9
|
|
Layout.fillWidth: true
|
|
text: detailValue
|
|
elide: Text.ElideRight
|
|
horizontalAlignment: Qt.AlignRight
|
|
}
|
|
}
|
|
|
|
MouseArea {
|
|
acceptedButtons: Qt.RightButton
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
var view = detailItem.ListView.view
|
|
var coordinates = mapToItem(view, mouseX, mouseY)
|
|
view.showContextMenu(detailItem, coordinates.x, coordinates.y)
|
|
}
|
|
}
|
|
}
|