summary refs log tree commit diff
diff options
context:
space:
mode:
authorLoren Burkholder <computersemiexpert@outlook.com>2023-07-23 21:20:01 -0400
committerLoren Burkholder <computersemiexpert@outlook.com>2023-09-23 22:19:14 -0400
commit9bd29c9713819a25359f2587147854e24f42b8ce (patch)
treec45bddb8604cc912af8fdaffa60d5dfc3f64fc3e
parentUpdate mtxclient to work around empty event types (diff)
downloadnheko-9bd29c9713819a25359f2587147854e24f42b8ce.tar.xz
Allow configuring global hidden event settings
-rw-r--r--resources/qml/pages/UserSettingsPage.qml18
-rw-r--r--src/UserSettingsPage.cpp10
-rw-r--r--src/UserSettingsPage.h6
3 files changed, 33 insertions, 1 deletions
diff --git a/resources/qml/pages/UserSettingsPage.qml b/resources/qml/pages/UserSettingsPage.qml
index f23095b6..8cb6ecb7 100644
--- a/resources/qml/pages/UserSettingsPage.qml
+++ b/resources/qml/pages/UserSettingsPage.qml
@@ -216,6 +216,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
                             }
diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index 5caa4838..75a6b443 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -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()) {
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index 71eb039b..2bae068a 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -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);