aboutsummaryrefslogtreecommitdiffstats
path: root/attachmenttablemodel.cpp
diff options
context:
space:
mode:
authorubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2010-05-14 11:22:44 +0000
committerubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2010-05-14 11:22:44 +0000
commit38d40c5aed23ba76add8fc421f26380c9973401e (patch)
tree30b55db0433c14a8a841eb0a49f865f3e2381117 /attachmenttablemodel.cpp
parentupdate attachment-todo (diff)
downloadgpg4usb-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.cpp80
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();
+}