Sort rooms in completer by 'activity' and make tombstoned rooms italic

This commit is contained in:
Nicolas Werner 2023-05-06 19:30:29 +02:00
parent b0e4841caf
commit 7dd3339477
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
7 changed files with 70 additions and 17 deletions

View file

@ -20,18 +20,24 @@ RoomsModel::RoomsModel(bool showOnlyRoomWithAliases, QObject *parent)
if (showOnlyRoomWithAliases_)
utils::erase_if(rooms, [](auto &r) { return r.alias.empty(); });
std::ranges::sort(rooms,
[](auto &a, auto &b) { return a.recent_activity > b.recent_activity; });
}
QHash<int, QByteArray>
RoomsModel::roleNames() const
{
return {{CompletionModel::CompletionRole, "completionRole"},
{CompletionModel::SearchRole, "searchRole"},
{CompletionModel::SearchRole2, "searchRole2"},
{Roles::RoomAlias, "roomAlias"},
{Roles::AvatarUrl, "avatarUrl"},
{Roles::RoomID, "roomid"},
{Roles::RoomName, "roomName"}};
return {
{CompletionModel::CompletionRole, "completionRole"},
{CompletionModel::SearchRole, "searchRole"},
{CompletionModel::SearchRole2, "searchRole2"},
{Roles::RoomAlias, "roomAlias"},
{Roles::AvatarUrl, "avatarUrl"},
{Roles::RoomID, "roomid"},
{Roles::RoomName, "roomName"},
{Roles::IsTombstoned, "isTombstoned"},
};
}
QVariant
@ -62,6 +68,8 @@ RoomsModel::data(const QModelIndex &index, int role) const
cache::client()->singleRoomInfo(rooms[index.row()].id).avatar_url);
case Roles::RoomID:
return QString::fromStdString(rooms[index.row()].id).toHtmlEscaped();
case Roles::IsTombstoned:
return rooms[index.row()].is_tombstoned;
}
}
return {};