Improve and fix powerlevels dialog
This commit is contained in:
@@ -6,46 +6,56 @@ import QtQuick.Controls as QQC2
|
|||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
|
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
import org.kde.kirigamiaddons.formcard as FormCard
|
||||||
|
|
||||||
import org.kde.neochat
|
import org.kde.neochat
|
||||||
|
|
||||||
Kirigami.OverlaySheet {
|
Kirigami.Dialog {
|
||||||
id: root
|
id: root
|
||||||
title: i18n("Edit user power level")
|
title: i18nc("@title", "Edit User Power Level")
|
||||||
|
|
||||||
property NeoChatRoom room
|
property NeoChatRoom room
|
||||||
property var userId
|
property var userId
|
||||||
property int powerLevel
|
property int powerLevel
|
||||||
|
|
||||||
|
width: Kirigami.Units.gridUnit * 24
|
||||||
|
|
||||||
|
standardButtons: QQC2.Dialog.NoButton
|
||||||
|
|
||||||
onOpened: {
|
onOpened: {
|
||||||
if (sheetOpen) {
|
if (root.opened) {
|
||||||
powerLevelComboBox.currentIndex = powerLevelComboBox.indexOfValue(root.powerLevel)
|
powerLevelComboBox.currentIndex = powerLevelComboBox.indexOfValue(root.powerLevel)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Kirigami.FormLayout {
|
|
||||||
QQC2.ComboBox {
|
FormCard.FormCard {
|
||||||
|
FormCard.FormComboBoxDelegate {
|
||||||
id: powerLevelComboBox
|
id: powerLevelComboBox
|
||||||
|
|
||||||
|
text: i18n("New power level")
|
||||||
model: ListModel {
|
model: ListModel {
|
||||||
id: powerLevelModel
|
id: powerLevelModel
|
||||||
}
|
}
|
||||||
textRole: "text"
|
textRole: "text"
|
||||||
valueRole: "powerLevel"
|
valueRole: "powerLevel"
|
||||||
popup.z: root.z + 1 // Otherwise the popup will be behind the overlay sheet.
|
|
||||||
|
|
||||||
// Done this way so we can have translated strings.
|
// Done this way so we can have translated strings.
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
powerLevelModel.append({"text": i18n("Member (0)"), "powerLevel": 0});
|
powerLevelModel.append({"text": i18n("Member (0)"), "powerLevel": 0});
|
||||||
powerLevelModel.append({"text": i18n("Moderator (50)"), "powerLevel": 50});
|
powerLevelModel.append({"text": i18n("Moderator (50)"), "powerLevel": 50});
|
||||||
powerLevelModel.append({"text": i18n("Admin (100)"), "powerLevel": 100});
|
powerLevelModel.append({"text": i18n("Admin (100)"), "powerLevel": 100});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QQC2.Button {
|
}
|
||||||
|
customFooterActions: [
|
||||||
|
Kirigami.Action {
|
||||||
text: i18n("Confirm")
|
text: i18n("Confirm")
|
||||||
onClicked: {
|
icon.name: "dialog-ok"
|
||||||
room.setUserPowerLevel(root.userId, powerLevelComboBox.currentValue)
|
onTriggered: {
|
||||||
|
root.room.setUserPowerLevel(root.userId, powerLevelComboBox.currentValue)
|
||||||
root.close()
|
root.close()
|
||||||
root.destroy()
|
root.destroy()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user