28#define QT_DISABLE_DEPRECATED_BEFORE QT_VERSION_CHECK(4, 0, 0)
30#include "UsersModel.h"
31#include "UsersModelPrivate.h"
33#include <QtCore/QString>
39UsersModel::UsersModel(QObject *parent) :
40 QAbstractListModel(parent),
41 d_ptr(new UsersModelPrivate(this))
46 d->m_roles = QAbstractListModel::roleNames();
47 d->m_roles[NameRole] =
"name";
48 d->m_roles[RealNameRole] =
"realName";
49 d->m_roles[LoggedInRole] =
"loggedIn";
50 d->m_roles[BackgroundRole] =
"background";
51 d->m_roles[BackgroundPathRole] =
"backgroundPath";
52 d->m_roles[SessionRole] =
"session";
53 d->m_roles[HasMessagesRole] =
"hasMessages";
54 d->m_roles[ImagePathRole] =
"imagePath";
55 d->m_roles[UidRole] =
"uid";
57 connect(d_ptr, &UsersModelPrivate::dataChanged,
this, [
this](
int i) {
58 QModelIndex index = createIndex(i, 0);
59 Q_EMIT dataChanged(index, index);
63QHash<int, QByteArray> UsersModel::roleNames()
const
65 Q_D(
const UsersModel);
70int UsersModel::rowCount(
const QModelIndex &parent)
const
72 Q_D(
const UsersModel);
74 if (parent.isValid()) {
77 return d->entries.size();
81QVariant UsersModel::data(
const QModelIndex &index,
int role)
const
83 Q_D(
const UsersModel);
85 if (!index.isValid()) {
89 int row = index.row();
92 return d->entries[row].real_name;
93 case Qt::DecorationRole:
95 case UsersModel::NameRole:
96 return d->entries[row].username;
97 case UsersModel::RealNameRole:
98 return d->entries[row].real_name;
99 case UsersModel::SessionRole:
100 return d->entries[row].session;
101 case UsersModel::LoggedInRole:
102 return d->entries[row].is_active;
103 case UsersModel::BackgroundRole:
104 return QPixmap(d->entries[row].background);
105 case UsersModel::BackgroundPathRole:
106 return d->entries[row].background;
107 case UsersModel::HasMessagesRole:
108 return d->entries[row].has_messages;
109 case UsersModel::ImagePathRole:
111 case UsersModel::UidRole:
112 return d->entries[row].uid;