Remove Unread Count

Unread count is deprecated and notification count should be used in all cases. As such remove unreadCount and use notification count in all places it was being used.

Fixes network/neochat#76 \
BUG: 466515
This commit is contained in:
James Graham
2023-05-10 16:23:14 +00:00
parent 1db2e4a333
commit b362365609
3 changed files with 6 additions and 12 deletions

View File

@@ -161,7 +161,7 @@ void RoomListModel::connectRoomSignals(NeoChatRoom *room)
refresh(room, {DisplayNameRole, NameRole}); refresh(room, {DisplayNameRole, NameRole});
}); });
connect(room, &Room::unreadMessagesChanged, this, [this, room] { connect(room, &Room::unreadMessagesChanged, this, [this, room] {
refresh(room, {UnreadCountRole, NotificationCountRole, HighlightCountRole}); refresh(room, {NotificationCountRole, HighlightCountRole});
}); });
connect(room, &Room::notificationCountChanged, this, [this, room] { connect(room, &Room::notificationCountChanged, this, [this, room] {
refresh(room); refresh(room);
@@ -374,9 +374,6 @@ QVariant RoomListModel::data(const QModelIndex &index, int role) const
} }
return NeoChatRoomType::Normal; return NeoChatRoomType::Normal;
} }
if (role == UnreadCountRole) {
return room->unreadCount();
}
if (role == NotificationCountRole) { if (role == NotificationCountRole) {
return room->notificationCount(); return room->notificationCount();
} }
@@ -443,7 +440,6 @@ QHash<int, QByteArray> RoomListModel::roleNames() const
roles[CanonicalAliasRole] = "canonicalAlias"; roles[CanonicalAliasRole] = "canonicalAlias";
roles[TopicRole] = "topic"; roles[TopicRole] = "topic";
roles[CategoryRole] = "category"; roles[CategoryRole] = "category";
roles[UnreadCountRole] = "unreadCount";
roles[NotificationCountRole] = "notificationCount"; roles[NotificationCountRole] = "notificationCount";
roles[HighlightCountRole] = "highlightCount"; roles[HighlightCountRole] = "highlightCount";
roles[LastEventRole] = "lastEvent"; roles[LastEventRole] = "lastEvent";

View File

@@ -64,7 +64,6 @@ public:
CanonicalAliasRole, /**< The room canonical alias. */ CanonicalAliasRole, /**< The room canonical alias. */
TopicRole, /**< The room topic. */ TopicRole, /**< The room topic. */
CategoryRole, /**< The room category, e.g favourite. */ CategoryRole, /**< The room category, e.g favourite. */
UnreadCountRole, /**< The number of unread messages in the room. */
NotificationCountRole, /**< The number of notifications in the room. */ NotificationCountRole, /**< The number of notifications in the room. */
HighlightCountRole, /**< The number of highlighted messages in the room. */ HighlightCountRole, /**< The number of highlighted messages in the room. */
LastEventRole, /**< Text for the last event in the room. */ LastEventRole, /**< Text for the last event in the room. */

View File

@@ -17,7 +17,6 @@ Kirigami.BasicListItem {
id: root id: root
required property int index required property int index
required property int unreadCount
required property int notificationCount required property int notificationCount
required property int highlightCount required property int highlightCount
required property var currentRoom required property var currentRoom
@@ -28,7 +27,7 @@ Kirigami.BasicListItem {
required property string name required property string name
readonly property bool hasUnread: unreadCount > 0 readonly property bool hasNotifications: notificationCount > 0
topPadding: Kirigami.Units.largeSpacing topPadding: Kirigami.Units.largeSpacing
bottomPadding: Kirigami.Units.largeSpacing bottomPadding: Kirigami.Units.largeSpacing
@@ -37,7 +36,7 @@ Kirigami.BasicListItem {
highlighted: ListView.view.currentIndex === index highlighted: ListView.view.currentIndex === index
focus: true focus: true
icon: undefined icon: undefined
bold: root.unreadCount > 0 bold: root.hasNotifications
label: root.name ?? "" label: root.name ?? ""
labelItem.textFormat: Text.PlainText labelItem.textFormat: Text.PlainText
@@ -77,14 +76,14 @@ Kirigami.BasicListItem {
enabled: false enabled: false
implicitWidth: Kirigami.Units.iconSizes.smallMedium implicitWidth: Kirigami.Units.iconSizes.smallMedium
implicitHeight: Kirigami.Units.iconSizes.smallMedium implicitHeight: Kirigami.Units.iconSizes.smallMedium
visible: currentRoom.pushNotificationState === PushNotificationState.Mute && !configButton.visible && unreadCount <= 0 visible: currentRoom.pushNotificationState === PushNotificationState.Mute && !configButton.visible && !hasNotifications
Accessible.name: i18n("Muted room") Accessible.name: i18n("Muted room")
Layout.rightMargin: Kirigami.Units.smallSpacing Layout.rightMargin: Kirigami.Units.smallSpacing
} }
QQC2.Label { QQC2.Label {
id: notificationCountLabel id: notificationCountLabel
text: notificationCount > 0 ? notificationCount : "●" text: notificationCount
visible: unreadCount > 0 visible: hasNotifications
color: Kirigami.Theme.textColor color: Kirigami.Theme.textColor
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
background: Rectangle { background: Rectangle {