/** SPDX-FileCopyrightText: 2013-2015 Eike Hein <hein@kde.org>** SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuickimport org.kde.plasma.components as PlasmaComponents3import "code/tools.js" as ToolsPlasmaComponents3.ItemDelegate {id: itemrequired property int indexrequired property bool isSeparatorrequired property bool hasChildrenrequired property bool isParentrequired property bool disabledrequired property bool hasActionListrequired property string favoriteIdrequired property var /*QVariantList*/ actionListrequired property url urlrequired property string descriptionrequired property string decorationrequired property var model // for display, which would shadow ItemDelegaterequired property var favoritesModelrequired property var baseModelreadonly property ActionMenu menu: actionMenuproperty bool showSeparators: trueproperty bool dialogDefaultRight: Application.layoutDirection !== Qt.RightToLeftsignal interactionConcludedtext: model.displayicon.name: decorationhoverEnabled: truefunction openActionMenu(x: real, y: real) : void {const actionList = item.hasActionList ? item.actionList : [];Tools.fillActionMenu(i18n, actionMenu, actionList, item.favoritesModel, item.favoriteId);if (!actionMenu.actionList.length) {return}actionMenu.visualParent = item;actionMenu.open(x, y);}ActionMenu {id: actionMenuonActionClicked: (actionId, actionArgument) => {if (Tools.triggerAction(item.baseModel, item.index, actionId, actionArgument) === true) {item.interactionConcluded()}}}MouseArea {id: mouseAreaanchors.fill: parentacceptedButtons: Qt.RightButtononPressed: mouse => {if (item.hasActionList || item.favoriteId !== null) {item.openActionMenu(mouse.x, mouse.y);}}}contentItem: nullKeys.onMenuPressed: {if (item.hasActionList || item.favoriteId !== null) {item.openActionMenu()}}}