summary refs log tree commit diff
path: root/src/RoomsModel.h
diff options
context:
space:
mode:
authorJedi18 <targetakhil@gmail.com>2021-02-16 00:47:17 +0530
committerJedi18 <targetakhil@gmail.com>2021-02-16 00:50:28 +0530
commit19dbbb2c6cffdf0697635f08acf3af9138aed7b9 (patch)
treeefdb6a1d7d776daec8cd8edb8d202a50f0da2935 /src/RoomsModel.h
parentAdd double tap to reply feature (diff)
downloadnheko-19dbbb2c6cffdf0697635f08acf3af9138aed7b9.tar.xz
add rooms model, add room delegate for completer
Diffstat (limited to 'src/RoomsModel.h')
-rw-r--r--src/RoomsModel.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/RoomsModel.h b/src/RoomsModel.h
new file mode 100644

index 00000000..88cb5c68 --- /dev/null +++ b/src/RoomsModel.h
@@ -0,0 +1,33 @@ +#pragma once + +#include "Cache.h" + +#include <QAbstractListModel> +#include <QString> + +class RoomsModel : public QAbstractListModel +{ +public: + enum Roles + { + AvatarUrl = Qt::UserRole, + RoomAlias, + RoomID, + RoomName, + }; + + RoomsModel(QObject *parent = nullptr); + QHash<int, QByteArray> roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override + { + (void)parent; + return (int)roomAliases.size(); + } + QVariant data(const QModelIndex &index, int role) const override; + +private: + std::vector<std::string> rooms_; + std::vector<QString> roomids; + std::vector<QString> roomAliases; + std::map<QString, RoomInfo> roomInfos; +};