#include "maillistmodel.h" #include MailListModel::MailListModel(QObject *parent) : QIdentityProxyModel() { Akonadi2::Query query; query.syncOnDemand = false; query.processAll = false; query.liveQuery = true; QList requestedProperties; requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important"; query.requestedProperties = requestedProperties.toSet(); mModel = Akonadi2::Store::loadModel(query); setSourceModel(mModel.data()); } MailListModel::~MailListModel() { } QHash< int, QByteArray > MailListModel::roleNames() const { QHash roles; roles[Subject] = "subject"; roles[Sender] = "sender"; roles[SenderName] = "senderName"; roles[Date] = "date"; roles[Unread] = "unread"; roles[Important] = "important"; return roles; } QVariant MailListModel::data(const QModelIndex &idx, int role) const { switch (role) { case Subject: return mapToSource(idx).data(Qt::DisplayRole).toString(); case Sender: return mapToSource(idx).data(Qt::DisplayRole).toString(); case SenderName: return mapToSource(idx).data(Qt::DisplayRole).toString(); case Date: return mapToSource(idx).data(Qt::DisplayRole).toString(); case Unread: return mapToSource(idx).data(Qt::DisplayRole).toString(); case Important: return mapToSource(idx).data(Qt::DisplayRole).toString(); } return QIdentityProxyModel::data(idx, role); } void MailListModel::runQuery(const QString& query) { }