// SPDX-FileCopyrightText: 2023 James Graham // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL import QtQuick import QtQuick.Controls as QQC2 import QtQuick.Layouts import org.kde.kirigami as Kirigami import org.kde.kirigamiaddons.formcard as FormCard import org.kde.neochat Kirigami.Dialog { id: root title: i18nc("@title", "Edit User Power Level") property NeoChatRoom room property var userId property int powerLevel width: Kirigami.Units.gridUnit * 24 standardButtons: QQC2.Dialog.NoButton onOpened: { if (root.opened) { powerLevelComboBox.currentIndex = powerLevelComboBox.indexOfValue(root.powerLevel) } } FormCard.FormCard { FormCard.FormComboBoxDelegate { id: powerLevelComboBox text: i18n("New power level") model: ListModel { id: powerLevelModel } textRole: "text" valueRole: "powerLevel" // Done this way so we can have translated strings. Component.onCompleted: { powerLevelModel.append({"text": i18n("Member (0)"), "powerLevel": 0}); powerLevelModel.append({"text": i18n("Moderator (50)"), "powerLevel": 50}); powerLevelModel.append({"text": i18n("Admin (100)"), "powerLevel": 100}); } } } customFooterActions: [ Kirigami.Action { text: i18n("Confirm") icon.name: "dialog-ok" onTriggered: { root.room.setUserPowerLevel(root.userId, powerLevelComboBox.currentValue) root.close() root.destroy() } } ] }