Allow configuring global hidden event settings

This commit is contained in:
Loren Burkholder 2023-07-23 21:20:01 -04:00
parent 03be9e479a
commit 9bd29c9713
No known key found for this signature in database
GPG key ID: AB62CB312CEC2BBC
3 changed files with 33 additions and 1 deletions

View file

@ -215,6 +215,24 @@ Rectangle {
}
}
}
DelegateChoice {
roleValue: UserSettingsModel.ConfigureHiddenEvents
Button {
text: qsTr("CONFIGURE")
onClicked: {
var dialog = hiddenEventsDialog.createObject();
dialog.show();
destroyOnClose(dialog);
}
Component {
id: hiddenEventsDialog
HiddenEventsDialog {}
}
}
}
DelegateChoice {
Text {
text: model.value

View file

@ -1041,6 +1041,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
return tr("Limit width of timeline");
case ReadReceipts:
return tr("Read receipts");
case HiddenTimelineEvents:
return tr("Hidden events");
case DesktopNotifications:
return tr("Desktop notifications");
case AlertOnNotification:
@ -1119,6 +1121,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
return tr("SIDEBAR");
case TraySection:
return tr("TRAY");
case MessageVisibilitySection:
return tr("GLOBAL MESSAGE VISIBILITY");
case NotificationsSection:
return tr("NOTIFICATIONS");
case VoipSection:
@ -1371,6 +1375,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
return tr(
"Show if your message was read.\nStatus is displayed next to timestamps.\nWarning: "
"If your homeserver does not support this, your rooms will never be marked as read!");
case HiddenTimelineEvents:
return tr("Configure whether to show or hide certain events like room joins.");
case DesktopNotifications:
return tr("Notify about received messages when the client is not currently focused.");
case AlertOnNotification:
@ -1438,6 +1444,7 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
case TimelineSection:
case SidebarSection:
case TraySection:
case MessageVisibilitySection:
case NotificationsSection:
case VoipSection:
case EncryptionSection:
@ -1548,6 +1555,7 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
case TimelineSection:
case SidebarSection:
case TraySection:
case MessageVisibilitySection:
case NotificationsSection:
case VoipSection:
case EncryptionSection:
@ -1562,6 +1570,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
case UserSigningKey:
case MasterKey:
return KeyStatus;
case HiddenTimelineEvents:
return ConfigureHiddenEvents;
}
} else if (role == ValueLowerBound) {
switch (index.row()) {

View file

@ -474,7 +474,6 @@ class UserSettingsModel : public QAbstractListModel
ExposeDBusApi,
#endif
UpdateSpaceVias,
ExpireEvents,
AccessibilitySection,
ReducedMotion,
@ -506,6 +505,10 @@ class UserSettingsModel : public QAbstractListModel
Tray,
StartInTray,
MessageVisibilitySection,
ExpireEvents,
HiddenTimelineEvents,
NotificationsSection,
DesktopNotifications,
AlertOnNotification,
@ -562,6 +565,7 @@ public:
KeyStatus,
SessionKeyImportExport,
XSignKeysRequestDownload,
ConfigureHiddenEvents,
};
Q_ENUM(Types);