From 29d01e68474ce06d35e17b7a220f7e941100b5e7 Mon Sep 17 00:00:00 2001 From: Black Hat Date: Sat, 28 Sep 2019 23:39:14 -0700 Subject: [PATCH] Add mark all as read function. --- imports/Spectral/Dialog/AccountDetailDialog.qml | 6 ++++++ src/controller.cpp | 6 ++++++ src/controller.h | 1 + 3 files changed, 13 insertions(+) diff --git a/imports/Spectral/Dialog/AccountDetailDialog.qml b/imports/Spectral/Dialog/AccountDetailDialog.qml index 78f9f113c..efce8f041 100644 --- a/imports/Spectral/Dialog/AccountDetailDialog.qml +++ b/imports/Spectral/Dialog/AccountDetailDialog.qml @@ -44,6 +44,12 @@ Dialog { Menu { id: contextMenu + MenuItem { + text: "Mark all as read" + + onClicked: spectralController.markAllMessagesAsRead(connection) + } + MenuItem { text: "Logout" diff --git a/src/controller.cpp b/src/controller.cpp index 77b52991c..8b5d85e35 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -384,3 +384,9 @@ void Controller::changeAvatar(Connection* conn, QUrl localFile) { }); } } + +void Controller::markAllMessagesAsRead(Connection* conn) { + for (auto room : conn->roomMap().values()) { + room->markAllMessagesAsRead(); + } +} diff --git a/src/controller.h b/src/controller.h index 904b38de6..11f6e0541 100644 --- a/src/controller.h +++ b/src/controller.h @@ -118,6 +118,7 @@ class Controller : public QObject { void createDirectChat(Connection* c, const QString& userID); void playAudio(QUrl localFile); void changeAvatar(Connection* conn, QUrl localFile); + void markAllMessagesAsRead(Connection* conn); }; #endif // CONTROLLER_H