This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
powersync-app/nymea-app/ui/delegates/BrowserItemDelegate.qml
2019-10-08 13:24:08 +02:00

41 lines
1.4 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.1
import QtQuick.Layouts 1.1
import Nymea 1.0
import "../components"
NymeaListItemDelegate {
id: root
width: parent.width
text: model.displayName
progressive: model.browsable
subText: model.description
prominentSubText: false
iconName: "../images/browser/" + (model.mediaIcon && model.mediaIcon !== "MediaBrowserIconNone" ? model.mediaIcon : model.icon) + ".svg"
thumbnail: model.thumbnail
enabled: !model.disabled
secondaryIconName: model.actionTypeIds.length > 0 ? "../images/navigation-menu.svg" : ""
secondaryIconClickable: true
property Device device: null
onPressAndHold: openContextMenu()
onSecondaryIconClicked: openContextMenu()
signal contextMenuActionTriggered(var actionTypeId, var params)
function openContextMenu() {
if (model.actionTypeIds.length === 0) {
return;
}
var actionDialogComponent = Qt.createComponent(Qt.resolvedUrl("../components/BrowserContextMenu.qml"));
var popup = actionDialogComponent.createObject(root, {device: root.device, title: model.displayName, itemId: model.id, actionTypeIds: model.actionTypeIds});
popup.activated.connect(function(actionTypeId, params) {
root.contextMenuActionTriggered(actionTypeId, params)
})
popup.open()
}
}