summary refs log tree commit diff
path: root/include/Cache.h
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-04-27 01:57:46 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-04-27 01:57:46 +0300
commitb72e48cbab53743b80130758b4bdb81e5778a014 (patch)
treef281fd56ebad04a258a97e3e51056f77ac6ad700 /include/Cache.h
parentCopy lmdb.dll in the windows installer (diff)
downloadnheko-b72e48cbab53743b80130758b4bdb81e5778a014.tar.xz
Improve room searching
fixes #257
Diffstat (limited to 'include/Cache.h')
-rw-r--r--include/Cache.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/include/Cache.h b/include/Cache.h

index acad45e2..a3e2c6c1 100644 --- a/include/Cache.h +++ b/include/Cache.h
@@ -106,6 +106,14 @@ from_json(const json &j, MemberInfo &info) info.avatar_url = j.at("avatar_url"); } +struct RoomSearchResult +{ + std::string room_id; + RoomInfo info; + QImage img; +}; + +Q_DECLARE_METATYPE(RoomSearchResult) Q_DECLARE_METATYPE(RoomInfo) class Cache : public QObject @@ -185,6 +193,11 @@ public: UserReceipts readReceipts(const QString &event_id, const QString &room_id); QByteArray image(const QString &url) const; + QByteArray image(lmdb::txn &txn, const std::string &url) const; + QByteArray image(const std::string &url) const + { + return image(QString::fromStdString(url)); + } void saveImage(const QString &url, const QByteArray &data); std::vector<std::string> roomsWithStateUpdates(const mtx::responses::Sync &res); @@ -194,9 +207,11 @@ public: return getRoomInfo(roomsWithStateUpdates(sync)); } - QVector<SearchResult> getAutocompleteMatches(const std::string &room_id, - const std::string &query, - std::uint8_t max_items = 5); + QVector<SearchResult> searchUsers(const std::string &room_id, + const std::string &query, + std::uint8_t max_items = 5); + std::vector<RoomSearchResult> searchRooms(const std::string &query, + std::uint8_t max_items = 5); private: //! Save an invited room.