19 #include "UsersModel.h"
20 #include <QLightDM/UsersModel>
21 #include <QtCore/QSortFilterProxyModel>
28 class MangleModel :
public QSortFilterProxyModel
33 explicit MangleModel(QObject* parent=0);
35 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
38 MangleModel::MangleModel(QObject* parent)
39 : QSortFilterProxyModel(parent)
41 setSourceModel(
new QLightDM::UsersModel(
this));
44 QVariant MangleModel::data(
const QModelIndex &index,
int role)
const
46 QVariant data = QSortFilterProxyModel::data(index, role);
49 if (role == QLightDM::UsersModel::RealNameRole && data.toString().isEmpty()) {
50 data = QSortFilterProxyModel::data(index, QLightDM::UsersModel::NameRole);
51 }
else if (role == QLightDM::UsersModel::BackgroundPathRole && data.toString().startsWith(
'#')) {
52 data =
"data:image/svg+xml,<svg><rect width='100%' height='100%' fill='" + data.toString() +
"'/></svg>";
60 UsersModel::UsersModel(QObject* parent)
61 : UnitySortFilterProxyModelQML(parent)
63 setModel(
new MangleModel(
this));
64 setSortCaseSensitivity(Qt::CaseInsensitive);
65 setSortLocaleAware(
true);
66 setSortRole(QLightDM::UsersModel::RealNameRole);
70 #include "UsersModel.moc"