summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-15 02:56:04 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-15 02:56:04 +0300
commit3b0ff1a4cdd0c7eb3ed06eec2e70ee2722b7c4e5 (patch)
tree2e243545972ee7ef4f07152359bbdd782e6ca011 /include
parentUpdate screen (diff)
downloadnheko-3b0ff1a4cdd0c7eb3ed06eec2e70ee2722b7c4e5.tar.xz
Add initial support for unread message count
- Add border width on Badge
Diffstat (limited to 'include')
-rw-r--r--include/HistoryView.h2
-rw-r--r--include/HistoryViewManager.h3
-rw-r--r--include/RoomInfoListItem.h7
-rw-r--r--include/RoomList.h1
-rw-r--r--include/ui/Badge.h5
5 files changed, 16 insertions, 2 deletions
diff --git a/include/HistoryView.h b/include/HistoryView.h

index 09f8bdce..9ca0a156 100644 --- a/include/HistoryView.h +++ b/include/HistoryView.h
@@ -54,7 +54,7 @@ public: ~HistoryView(); void addHistoryItem(const Event &event, const QString &color, bool with_sender); - void addEvents(const QList<Event> &events); + int addEvents(const QList<Event> &events); void addUserTextMessage(const QString &msg, int txn_id); void updatePendingMessage(int txn_id, QString event_id); void clear(); diff --git a/include/HistoryViewManager.h b/include/HistoryViewManager.h
index 99ab7384..71700035 100644 --- a/include/HistoryViewManager.h +++ b/include/HistoryViewManager.h
@@ -44,6 +44,9 @@ public: static QString getUserColor(const QString &userid); static QMap<QString, QString> NICK_COLORS; +signals: + void unreadMessages(QString roomid, int count); + public slots: void setHistoryView(const RoomInfo &info); void sendTextMessage(const QString &msg); diff --git a/include/RoomInfoListItem.h b/include/RoomInfoListItem.h
index 8e19abc1..24e84bd3 100644 --- a/include/RoomInfoListItem.h +++ b/include/RoomInfoListItem.h
@@ -24,6 +24,7 @@ #include <QtWidgets/QWidget> #include "Avatar.h" +#include "Badge.h" #include "RippleOverlay.h" #include "RoomInfo.h" @@ -35,6 +36,9 @@ public: RoomInfoListItem(RoomInfo info, QWidget *parent = 0); ~RoomInfoListItem(); + void updateUnreadMessageCount(int count); + void clearUnreadMessageCount(); + inline bool isPressed(); inline RoomInfo info(); inline void setAvatar(const QImage &avatar_image); @@ -67,12 +71,15 @@ private: QLabel *roomTopic_; Avatar *roomAvatar_; + Badge *unreadMessagesBadge_; QString pressed_style_; QString normal_style_; bool is_pressed_; + int max_height_; + int unread_msg_count_; }; inline bool RoomInfoListItem::isPressed() diff --git a/include/RoomList.h b/include/RoomList.h
index 42ded171..d6066166 100644 --- a/include/RoomList.h +++ b/include/RoomList.h
@@ -52,6 +52,7 @@ signals: public slots: void updateRoomAvatar(const QString &roomid, const QPixmap &img); void highlightSelectedRoom(const RoomInfo &info); + void updateUnreadMessageCount(const QString &roomid, int count); private: Ui::RoomList *ui; diff --git a/include/ui/Badge.h b/include/ui/Badge.h
index 774b03ad..d84dd7ef 100644 --- a/include/ui/Badge.h +++ b/include/ui/Badge.h
@@ -30,6 +30,7 @@ public: void setRelativeXPosition(qreal x); void setRelativeYPosition(qreal y); void setText(const QString &text); + void setDiameter(int diameter); QIcon icon() const; QString text() const; @@ -40,9 +41,10 @@ public: qreal relativeXPosition() const; qreal relativeYPosition() const; + int diameter() const; + protected: void paintEvent(QPaintEvent *event) override; - int getDiameter() const; private: void init(); @@ -55,6 +57,7 @@ private: QString text_; int padding_; + int diameter_; qreal x_; qreal y_;