/** SPDX-FileCopyrightText: 2013-2015 Eike Hein <hein@kde.org>** SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuickimport org.kde.kirigami as Kirigamiimport 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 bool isNewlyInstalledrequired property string favoriteIdrequired property var /*QVariantList*/ actionListrequired property url urlrequired property string descriptionrequired property string decorationrequired property string compactNamerequired property var model // for display, which would shadow ItemDelegaterequired property var favoritesModelrequired property var baseModelproperty bool dialogDefaultRight: Application.layoutDirection !== Qt.RightToLeftproperty bool dragActive: falsesignal interactionConcludedsignal openCategory(bool keyboardInitiated)text: model.displayicon.name: decorationhoverEnabled: trueaction: Kirigami.Action {onTriggered: source => {if (item.dragActive) { return }if (!item.hasChildren) {item.baseModel.trigger(item.index, "", null);item.interactionConcluded()} else {item.openCategory(source instanceof KeyEvent)}}}function 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.delegate = item;ActionMenu.open(x, y);}MouseArea {id: mouseAreaanchors.fill: parentacceptedButtons: Qt.RightButtononPressed: mouse => {if (item.hasActionList || item.favoriteId !== null) {item.openActionMenu(mouse.x, mouse.y);}}}contentItem: nullKeys.onReturnPressed: event => action.trigger(event)Keys.onEnterPressed: event => action.trigger(event)Keys.onSpacePressed: event => action.trigger(event)Keys.onMenuPressed: {if (item.hasActionList || item.favoriteId !== null) {item.openActionMenu()}}}