summary refs log tree commit diff
path: root/resources
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-02-12 19:27:51 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2022-02-12 19:48:53 +0100
commit47b822604d81a6c603ce6c9e868456c8ccc2e18d (patch)
tree73f06796cff7941b9f0e7ab2b2a9e59054da0afa /resources
parentHidden events: Make reusable read function (diff)
downloadnheko-47b822604d81a6c603ce6c9e868456c8ccc2e18d.tar.xz
Hidden events: Refactor slightly for reusability
Diffstat (limited to 'resources')
-rw-r--r--resources/qml/dialogs/HiddenEventsDialog.qml48
-rw-r--r--resources/qml/dialogs/RoomSettings.qml3
2 files changed, 23 insertions, 28 deletions
diff --git a/resources/qml/dialogs/HiddenEventsDialog.qml b/resources/qml/dialogs/HiddenEventsDialog.qml

index 5973f4fd..cc6f17a5 100644 --- a/resources/qml/dialogs/HiddenEventsDialog.qml +++ b/resources/qml/dialogs/HiddenEventsDialog.qml
@@ -11,17 +11,24 @@ import im.nheko 1.0 ApplicationWindow { id: hiddenEventsDialog - property var isRoomSetting: false + property string roomid: "" + property string roomName: "" property var onAccepted: undefined modality: Qt.NonModal flags: Qt.Dialog | Qt.WindowTitleHint minimumWidth: 250 minimumHeight: 220 - Component.onCompleted: Nheko.reparent(hiddenEventsDialog) + + HiddenEvents { + id: hiddenEvents + + roomid: hiddenEventsDialog.roomid + } + title: { - if (isRoomSetting) { - return qsTr("Hidden events for %1").arg(roomSettings.roomName); + if (roomid) { + return qsTr("Hidden events for %1").arg(roomName); } else { return qsTr("Hidden events"); @@ -41,8 +48,8 @@ ApplicationWindow { MatrixText { id: promptLabel text: { - if (isRoomSetting) { - return qsTr("These events will be be <b>shown</b> in %1:").arg(roomSettings.roomName); + if (roomid) { + return qsTr("These events will be be <b>shown</b> in %1:").arg(roomName); } else { return qsTr("These events will be be <b>shown</b> in all rooms:"); @@ -71,9 +78,9 @@ ApplicationWindow { } ToggleButton { - id: toggleRoomMember - checked: !roomSettings.eventHidden("m.room.member") Layout.alignment: Qt.AlignRight + checked: !hiddenEvents.hiddenEvents.includes(MtxEvent.Member) + onToggled: hiddenEvents.toggle(MtxEvent.Member) } MatrixText { @@ -88,9 +95,9 @@ ApplicationWindow { } ToggleButton { - id: toggleRoomPowerLevels - checked: !roomSettings.eventHidden("m.room.power_levels") Layout.alignment: Qt.AlignRight + checked: !hiddenEvents.hiddenEvents.includes(MtxEvent.PowerLevels) + onToggled: hiddenEvents.toggle(MtxEvent.PowerLevels) } MatrixText { @@ -99,9 +106,9 @@ ApplicationWindow { } ToggleButton { - id: toggleSticker Layout.alignment: Qt.AlignRight - checked: !roomSettings.eventHidden("m.sticker") + checked: !hiddenEvents.hiddenEvents.includes(MtxEvent.Sticker) + onToggled: hiddenEvents.toggle(MtxEvent.Sticker) } } } @@ -111,23 +118,10 @@ ApplicationWindow { standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel onAccepted: { - let events = new Array; - if (!toggleRoomMember.checked) { - events.push("m.room.member"); - } - if (!toggleRoomPowerLevels.checked) { - events.push("m.room.power_levels"); - } - if (!toggleSticker.checked) { - events.push("m.sticker"); - } - roomSettings.saveHiddenEventsSettings(events, roomSettings.roomId); - - hiddenEventsDialog.close(); - } - onRejected: { + hiddenEvents.save(); hiddenEventsDialog.close(); } + onRejected: hiddenEventsDialog.close(); } } diff --git a/resources/qml/dialogs/RoomSettings.qml b/resources/qml/dialogs/RoomSettings.qml
index 8af11b44..442010fd 100644 --- a/resources/qml/dialogs/RoomSettings.qml +++ b/resources/qml/dialogs/RoomSettings.qml
@@ -260,7 +260,8 @@ ApplicationWindow { HiddenEventsDialog { id: hiddenEventsDialog - isRoomSetting: true + roomid: roomSettings.roomId + roomName: roomSettings.roomName } Button {