Files
adhd/sessionslistmodel.cpp
T

35 lines
870 B
C++

#include "sessionslistmodel.h"
SessionsListModel::SessionsListModel(Service *service, QObject *parent)
: QAbstractListModel{parent}, m_service(service)
{
connect(m_service, &Service::sessionsChanged, this, [this]() {
beginResetModel();
endResetModel();
});
}
int SessionsListModel::rowCount(const QModelIndex &parent) const {
return m_service->sessions().size();
}
int SessionsListModel::columnCount(const QModelIndex &parent) const {
return 1;
}
QVariant SessionsListModel::data(const QModelIndex &index, int role) const {
if (index.row() < 0 || index.row() >= rowCount()) {
return QVariant();
} else if (!index.isValid()) {
return QVariant();
}
const Session session = m_service->sessions().at(index.row());
switch (role) {
case Qt::DisplayRole:
return session.oneliner;
default:
return QVariant();
}
}