summary refs log tree commit diff
path: root/src/RoomDirectoryModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/RoomDirectoryModel.cpp')
-rw-r--r--src/RoomDirectoryModel.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/RoomDirectoryModel.cpp b/src/RoomDirectoryModel.cpp

index 2a06e4d4..b206bf9e 100644 --- a/src/RoomDirectoryModel.cpp +++ b/src/RoomDirectoryModel.cpp
@@ -4,6 +4,7 @@ #include "RoomDirectoryModel.h" #include "ChatPage.h" +#include "Cache.h" #include <algorithm> @@ -68,6 +69,16 @@ RoomDirectoryModel::setSearchTerm(const QString &f) resetDisplayedData(); } + +bool +RoomDirectoryModel::canJoinRoom(const QByteArray &room) +{ + const auto &cache = cache::roomInfo(); + const QString room_id (room); + const bool validRoom = !room_id.isNull() && !room_id.isEmpty(); + return validRoom && !cache.contains(room_id); +} + std::vector<std::string> RoomDirectoryModel::getViasForRoom(const std::vector<std::string> &aliases) { @@ -174,4 +185,4 @@ RoomDirectoryModel::displayRooms(std::vector<mtx::responses::PublicRoomsChunk> f } prevBatch_ = std::exchange(nextBatch_, next_batch); -} \ No newline at end of file +}