/*SPDX-FileCopyrightText: 2013-2014 Eike Hein <hein@kde.org>SPDX-License-Identifier: GPL-2.0-or-later*/pragma ComponentBehavior: Boundimport QtQuickimport QtQuick.Layoutsimport org.kde.kirigami as Kirigamiimport org.kde.plasma.core as PlasmaCoreimport org.kde.plasma.plasmoidimport org.kde.plasma.private.kicker as KickerKicker.SubMenu {id: itemDialogproperty alias model: funnelModel.sourceModelproperty int index: -1property bool aboutToBeDestroyed: falseproperty alias mainSearchField: itemListView.mainSearchFieldsignal interactionConcludedvisible: falsebackgroundHints: Plasmoid.containmentDisplayHints & PlasmaCore.Types.ContainmentPrefersOpaqueBackground ? PlasmaCore.Dialog.SolidBackground : PlasmaCore.Dialog.StandardBackgroundlocation: PlasmaCore.Types.Floatingoffset: Kirigami.Units.smallSpacingLayoutMirroring.enabled: dialogMirroredonWindowDeactivated: {if (!aboutToBeDestroyed) {interactionConcluded()}}mainItem: ItemListView {id: itemListViewheight: implicitHeightwidth: Math.min(Math.max(Layout.minimumWidth, implicitWidth), Layout.maximumWidth)iconsEnabled: trueLayoutMirroring.enabled: itemDialog.LayoutMirroring.enableddialog: itemDialogmodel: funnelModelonInteractionConcluded: itemDialog.interactionConcluded()Kicker.FunnelModel {id: funnelModelproperty bool sorted: sourceModel?.sorted ?? falseComponent.onCompleted: {kicker.reset.connect(funnelModel.reset);}onCountChanged: {if (sourceModel && count === 0) {itemDialog.delayedDestroy();}}onSourceModelChanged: {itemListView.currentIndex = -1;itemListView.resetDelegateSizing();}}}function delayedDestroy() {aboutToBeDestroyed = true;Qt.callLater(() => itemDialog.destroy());}}