diff options
author | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2010-05-14 11:22:44 +0000 |
---|---|---|
committer | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2010-05-14 11:22:44 +0000 |
commit | 38d40c5aed23ba76add8fc421f26380c9973401e (patch) | |
tree | 30b55db0433c14a8a841eb0a49f865f3e2381117 /attachmenttablemodel.cpp | |
parent | update attachment-todo (diff) | |
download | gpg4usb-38d40c5aed23ba76add8fc421f26380c9973401e.tar.gz gpg4usb-38d40c5aed23ba76add8fc421f26380c9973401e.zip |
start of using own model for attachment-table-view, not all functionality (saving / icons) back in place
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@328 34ebc366-c3a9-4b3c-9f84-69acf7962910
Diffstat (limited to 'attachmenttablemodel.cpp')
-rw-r--r-- | attachmenttablemodel.cpp | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/attachmenttablemodel.cpp b/attachmenttablemodel.cpp new file mode 100644 index 0000000..6ca640b --- /dev/null +++ b/attachmenttablemodel.cpp @@ -0,0 +1,80 @@ +#include "attachmenttablemodel.h" + +/** compare with http://doc.qt.nokia.com/4.6/itemviews-addressbook.html + */ + +AttachmentTableModel::AttachmentTableModel(QObject *parent) : + QAbstractTableModel(parent) +{ +} + +AttachmentTableModel::AttachmentTableModel(QList<MimePart> mimeparts, QObject *parent) : + QAbstractTableModel(parent) +{ + listOfMimeparts = mimeparts; +} + +void AttachmentTableModel::add(MimePart mp) { + listOfMimeparts.append(mp); + //QModelIndex changedIndex0 = createIndex(listOfMimeparts.size(), 0); + //QModelIndex changedIndex1 = createIndex(listOfMimeparts.size(), 1); + + //emit(dataChanged(changedIndex0, changedIndex1)); + // TODO: check the data-changed function + reset(); +} + +int AttachmentTableModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return listOfMimeparts.size(); +} + +int AttachmentTableModel::columnCount(const QModelIndex &parent) const + { + Q_UNUSED(parent); + return 2; + } + +QVariant AttachmentTableModel::data(const QModelIndex &index, int role) const +{ + + //qDebug() << "called, index: " << index.column(); + + if (!index.isValid()) + return QVariant(); + + if (index.row() >= listOfMimeparts.size() || index.row() < 0) + return QVariant(); + + if (role == Qt::DisplayRole) { + MimePart mp = listOfMimeparts.at(index.row()); + + if (index.column() == 0) + return mp.getParam("Content-Type", "name"); + if (index.column() == 1) + return mp.getValue("Content-Type"); + } + return QVariant(); +} + +QVariant AttachmentTableModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + //qDebug() << "called, section: " << section; + if (role != Qt::DisplayRole) + return QVariant(); + + if (orientation == Qt::Horizontal) { + switch (section) { + case 0: + return tr("Filename"); + + case 1: + return tr("Contenttype"); + + default: + return QVariant(); + } + } + return QVariant(); +} |