Skip to content
Snippets Groups Projects
RoomsModel.h 969 B
Newer Older
  • Learn to ignore specific revisions
  • Nicolas Werner's avatar
    Nicolas Werner committed
    // SPDX-FileCopyrightText: 2021 Nheko Contributors
    //
    // SPDX-License-Identifier: GPL-3.0-or-later
    
    
    #pragma once
    
    #include "Cache.h"
    
    #include <QAbstractListModel>
    #include <QString>
    
    class RoomsModel : public QAbstractListModel
    {
    public:
            enum Roles
            {
                    AvatarUrl = Qt::UserRole,
                    RoomAlias,
                    RoomID,
                    RoomName,
            };
    
    
            RoomsModel(bool showOnlyRoomWithAliases = false, QObject *parent = nullptr);
    
            QHash<int, QByteArray> roleNames() const override;
            int rowCount(const QModelIndex &parent = QModelIndex()) const override
            {
                    (void)parent;
    
            }
            QVariant data(const QModelIndex &index, int role) const override;
    
    private:
            std::vector<QString> roomids;
            std::vector<QString> roomAliases;
            std::map<QString, RoomInfo> roomInfos;