/* SPDX-FileCopyrightText: 2016 David Edmundson SPDX-FileCopyrightText: 2022 Aleix Pol Gonzalez SPDX-License-Identifier: LGPL-2.0-or-later */ import QtQuick 2.15 import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.kirigami 2.20 as Kirigami PlasmaComponents.ToolButton { id: root property int currentIndex: -1 text: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Desktop Session: %1", instantiator.objectAt(currentIndex).text || "") visible: menu.count > 1 Component.onCompleted: { currentIndex = sessionModel.lastIndex } checkable: true checked: menu.opened onToggled: { if (checked) { menu.popup(root, 0, 0) } else { menu.dismiss() } } signal sessionChanged() PlasmaComponents.Menu { Kirigami.Theme.colorSet: Kirigami.Theme.Window Kirigami.Theme.inherit: false id: menu Instantiator { id: instantiator model: sessionModel onObjectAdded: (index, object) => menu.insertItem(index, object) onObjectRemoved: (index, object) => menu.removeItem(object) delegate: PlasmaComponents.MenuItem { text: model.name onTriggered: { root.currentIndex = model.index sessionChanged() } } } } }