/*SPDX-FileCopyrightText: 2016 David Edmundson <davidedmundson@kde.org>SPDX-FileCopyrightText: 2022 Aleix Pol Gonzalez <aleixpol@kde.org>SPDX-License-Identifier: LGPL-2.0-or-later*/import QtQuickimport org.kde.plasma.components as PlasmaComponentsimport org.kde.kirigami as KirigamiPlasmaComponents.ToolButton {id: rootproperty int currentIndex: keyboard.currentLayoutonCurrentIndexChanged: keyboard.currentLayout = currentIndextext: i18ndc("plasma-desktop-sddm-theme", "@action:button opens layout chooser %1 is current", "Keyboard Layout: %1", keyboard.layouts[currentIndex]?.longName ?? "")visible: keyboard.layouts.length > 1checkable: truechecked: menu.openedonToggled: {if (checked) {menu.popup(root, 0, 0)} else {menu.dismiss()}}signal keyboardLayoutChanged()PlasmaComponents.Menu {id: menuKirigami.Theme.colorSet: Kirigami.Theme.WindowKirigami.Theme.inherit: falseonAboutToShow: {if (instantiator.model === null) {let layouts = keyboard.layouts;layouts.sort((a, b) => a.longName.localeCompare(b.longName));instantiator.model = layouts;}}Instantiator {id: instantiatormodel: nullonObjectAdded: (index, object) => menu.insertItem(index, object)onObjectRemoved: (index, object) => menu.removeItem(object)delegate: PlasmaComponents.MenuItem {text: modelData.longNameonTriggered: {keyboard.currentLayout = keyboard.layouts.indexOf(modelData)root.keyboardLayoutChanged()}}}}}