File indexing completed on 2024-04-14 05:29:59

0001 /*
0002     SPDX-FileCopyrightText: 2013 Reza Fatahilah Shah <rshah0385@kireihana.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef USERSMODEL_H
0007 #define USERSMODEL_H
0008 
0009 #include <QAbstractListModel>
0010 
0011 class KUser;
0012 
0013 class UsersModel : public QAbstractListModel
0014 {
0015     Q_OBJECT
0016 public:
0017     enum Roles {
0018         UserNameRole = Qt::UserRole + 1,
0019         RealNameRole,
0020         HomeDirRole,
0021         IconRole,
0022         UidRole,
0023     };
0024     Q_ENUM(Roles)
0025 
0026     explicit UsersModel(QObject *parent = nullptr);
0027     ~UsersModel() Q_DECL_OVERRIDE;
0028 
0029     int rowCount(const QModelIndex &parent) const Q_DECL_OVERRIDE;
0030     QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
0031     void populate();
0032     int indexOf(const QString &user);
0033 
0034 private:
0035     void add(const KUser &user);
0036 
0037     QList<KUser> mUserList;
0038 };
0039 #endif // USERSMODEL_H