[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [ktp-common-internals/mklapetek/SpaceBar] KTp/Declarative: [declarative] Expose the unread messages
From: Martin Klapetek <mklapetek () kde ! org>
Date: 2016-03-17 18:47:32
Message-ID: E1agcxI-0007Bu-Cd () scm ! kde ! org
[Download RAW message or body]
Git commit 423a2ad516ff1d050127d12946ae0e47bcd81c76 by Martin Klapetek.
Committed on 17/03/2016 at 18:46.
Pushed by mklapetek into branch 'mklapetek/SpaceBar'.
[declarative] Expose the unread messages count in the MainLogModel
M +8 -0 KTp/Declarative/mainlogmodel.cpp
M +1 -0 KTp/Declarative/mainlogmodel.h
http://commits.kde.org/telepathy-common-internals/423a2ad516ff1d050127d12946ae0e47bcd81c76
diff --git a/KTp/Declarative/mainlogmodel.cpp b/KTp/Declarative/mainlogmodel.cpp
index 6c1720f..2cce096 100644
--- a/KTp/Declarative/mainlogmodel.cpp
+++ b/KTp/Declarative/mainlogmodel.cpp
@@ -118,6 +118,7 @@ QVariant MainLogModel::data(const QModelIndex &index, int role) const
case MainLogModel::LastMessageTextRole:
case MainLogModel::ConversationRole:
case MainLogModel::HasUnreadMessagesRole:
+ case MainLogModel::UnreadMessagesCountRole:
case MainLogModel::ContactDisplayNameRole:
case MainLogModel::PersonUriRole:
{
@@ -142,6 +143,10 @@ QVariant MainLogModel::data(const QModelIndex &index, int role) const
if (!conversation->isValid()) {
if (role == MainLogModel::HasUnreadMessagesRole) {
return false;
+ } else if (role == MainLogModel::UnreadMessagesCountRole) {
+ // TODO this needs to be replaced once the persistent
+ // unread count is done
+ return 0;
} else if (role == MainLogModel::LastMessageDateRole) {
return m_logItems.at(row).messageDateTime;
} else if (role == MainLogModel::LastMessageTextRole) {
@@ -150,6 +155,8 @@ QVariant MainLogModel::data(const QModelIndex &index, int role) const
} else {
if (role == MainLogModel::HasUnreadMessagesRole) {
return conversation->hasUnreadMessages();
+ } else if (role == MainLogModel::UnreadMessagesCountRole) {
+ return conversation->messages()->unreadCount();
} else if (role == MainLogModel::LastMessageDateRole) {
return conversation->messages()->lastMessageDateTime();
} else if (role == MainLogModel::LastMessageTextRole) {
@@ -184,6 +191,7 @@ QHash<int, QByteArray> MainLogModel::roleNames() const
roles.insert(LastMessageTextRole, "lastMessageText");
roles.insert(ConversationRole, "conversation");
roles.insert(HasUnreadMessagesRole, "hasUnreadMessages");
+ roles.insert(UnreadMessagesCountRole, "unreadMessagesCount");
return roles;
}
diff --git a/KTp/Declarative/mainlogmodel.h b/KTp/Declarative/mainlogmodel.h
index 3d269ba..a586e23 100644
--- a/KTp/Declarative/mainlogmodel.h
+++ b/KTp/Declarative/mainlogmodel.h
@@ -55,6 +55,7 @@ public:
LastMessageTextRole,
ConversationRole,
HasUnreadMessagesRole,
+ UnreadMessagesCountRole,
UserRole = Qt::UserRole + 0x1000 ///< in case it's needed to extend, use this one to start from
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic