summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-24 00:10:58 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-24 00:10:58 +0200
commit0f363b5f4424cc4cdf0e36d7aa5b62b8e8ea52bc (patch)
treeb216baa489755bbb3343f350aa6c6d3e17725fba /include
parentc6cf6c2b4148c30f5e1dd0ff744baf0293cfe1ff (diff)
Send read receipts
Automatically dismiss unread notifications when the window regains focus. fixes #111 fixes #68
Diffstat (limited to 'include')
-rw-r--r--include/MatrixClient.h1
-rw-r--r--include/RoomList.h1
-rw-r--r--include/TimelineItem.h4
-rw-r--r--include/TimelineView.h5
-rw-r--r--include/TimelineViewManager.h1
5 files changed, 11 insertions, 1 deletions
diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index 422e4cfa..999fbe47 100644
--- a/include/MatrixClient.h
+++ b/include/MatrixClient.h
@@ -59,6 +59,7 @@ public:
void leaveRoom(const QString &roomId);
void sendTypingNotification(const QString &roomid, int timeoutInMillis = 20000);
void removeTypingNotification(const QString &roomid);
+ void readEvent(const QString &room_id, const QString &event_id);
QUrl getHomeServer() { return server_; };
int transactionId() { return txn_id_; };
diff --git a/include/RoomList.h b/include/RoomList.h
index f1653a38..7a48f7bd 100644
--- a/include/RoomList.h
+++ b/include/RoomList.h
@@ -66,6 +66,7 @@ public slots:
void closeJoinRoomDialog(bool isJoining, QString roomAlias);
void openLeaveRoomDialog(const QString &room_id);
void closeLeaveRoomDialog(bool leaving, const QString &room_id);
+ void clearRoomMessageCount(const QString &room_id);
private:
void calculateUnreadMessageCount();
diff --git a/include/TimelineItem.h b/include/TimelineItem.h
index d90810d5..cd522308 100644
--- a/include/TimelineItem.h
+++ b/include/TimelineItem.h
@@ -66,7 +66,8 @@ public:
QWidget *parent);
void setUserAvatar(const QImage &pixmap);
- DescInfo descriptionMessage() const { return descriptionMsg_; };
+ DescInfo descriptionMessage() const { return descriptionMsg_; }
+ QString eventId() const { return event_id_; }
~TimelineItem();
@@ -85,6 +86,7 @@ private:
void setupSimpleLayout();
QString replaceEmoji(const QString &body);
+ QString event_id_;
DescInfo descriptionMsg_;
diff --git a/include/TimelineView.h b/include/TimelineView.h
index 78c31e8e..3f506002 100644
--- a/include/TimelineView.h
+++ b/include/TimelineView.h
@@ -121,15 +121,20 @@ private slots:
signals:
void updateLastTimelineMessage(const QString &user, const DescInfo &info);
+ void clearUnreadMessageCount(const QString &room_id);
protected:
void paintEvent(QPaintEvent *event) override;
+ void showEvent(QShowEvent *event) override;
+ bool event(QEvent *event) override;
private:
void init();
void addTimelineItem(TimelineItem *item, TimelineDirection direction);
void updateLastSender(const QString &user_id, TimelineDirection direction);
void notifyForLastEvent();
+ void readLastEvent() const;
+ QString getLastEventId() const;
// Used to determine whether or not we should prefix a message with the
// sender's name.
diff --git a/include/TimelineViewManager.h b/include/TimelineViewManager.h
index 5bd3054f..d9fb730e 100644
--- a/include/TimelineViewManager.h
+++ b/include/TimelineViewManager.h
@@ -58,6 +58,7 @@ public:
static QMap<QString, QString> DISPLAY_NAMES;
signals:
+ void clearRoomMessageCount(QString roomid);
void unreadMessages(QString roomid, int count);
void updateRoomsLastMessage(const QString &user, const DescInfo &info);