summary refs log tree commit diff
path: root/src/Cache.h
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-09-13 19:15:58 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-09-13 19:15:58 +0300
commit8767ea181db6fb2ae9c51a316814c3b4640e08f3 (patch)
tree7151232e3fe0d6fe95ea370cdfbb19989d0d465d /src/Cache.h
parentTemporary fix to work with mx-reply tags (diff)
downloadnheko-8767ea181db6fb2ae9c51a316814c3b4640e08f3.tar.xz
Mark unread rooms as such in the room list
fixes #313
Diffstat (limited to 'src/Cache.h')
-rw-r--r--src/Cache.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Cache.h b/src/Cache.h

index ce531056..f9a9f9c0 100644 --- a/src/Cache.h +++ b/src/Cache.h
@@ -89,6 +89,7 @@ from_json(const json &j, ReadReceiptKey &key) struct DescInfo { + QString event_id; QString username; QString userid; QString body; @@ -356,7 +357,7 @@ public: void removePendingReceipt(lmdb::txn &txn, const std::string &room_id, const std::string &event_id); - void notifyForReadReceipts(lmdb::txn &txn, const std::string &room_id); + void notifyForReadReceipts(const std::string &room_id); std::vector<QString> pendingReceiptsEvents(lmdb::txn &txn, const std::string &room_id); QByteArray image(const QString &url) const; @@ -376,6 +377,11 @@ public: return getRoomInfo(roomsWithStateUpdates(sync)); } + //! Calculates which the read status of a room. + //! Whether all the events in the timeline have been read. + bool calculateRoomReadStatus(const std::string &room_id); + void calculateRoomReadStatus(); + QVector<SearchResult> searchUsers(const std::string &room_id, const std::string &query, std::uint8_t max_items = 5); @@ -444,6 +450,7 @@ public: signals: void newReadReceipts(const QString &room_id, const std::vector<QString> &event_ids); + void roomReadStatus(const std::map<QString, bool> &status); private: //! Save an invited room.