changeset 334:36be67070dcb

Added table model for certificates.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 09 Apr 2014 12:43:40 +0200
parents de94c4ec22b1
children 811eec4e1b99
files ui/certificatetablemodel.cpp ui/certificatetablemodel.h
diffstat 2 files changed, 91 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/certificatetablemodel.cpp	Wed Apr 09 12:43:40 2014 +0200
@@ -0,0 +1,58 @@
+#include "certificatetablemodel.h"
+
+CertificateTabelModel::CertificateTabelModel(QObject *parent)
+    : QAbstractTableModel(parent)
+{
+    certificates = new QList<Certificate>();
+    header = new QList<QString>();
+    header->append("");
+    header->append(tr("CN"));
+    header->append(tr("issued  on"));
+    header->append(tr("expires on"));
+    header->append(tr("Fingerprint"));
+
+}
+
+void CertificateTabelModel::addCertificate(Certificate *certificate)
+{
+    certificates->append(*certificate);
+}
+
+QVariant CertificateTabelModel::data(const QModelIndex &index,
+        int role) const
+{
+    if (index.row() > certificates->size() || index.row() < 0) {
+        return QVariant();
+    }
+
+    int row = index.row();
+    Certificate cert = certificates->at(row);
+    switch(index.column()) {
+    case 0: return cert.isInstallCert();
+    case 1: return cert.shortDescription();
+    default: ;
+    }
+
+    return QVariant();
+}
+
+QVariant CertificateTabelModel::headerData(int section,
+        Qt::Orientation orientation, int role) const
+{
+    if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
+        return header->at(section);
+    }
+    return QVariant();
+}
+
+int CertificateTabelModel::rowCount(const QModelIndex&) const
+{
+    return certificates->size();
+}
+
+int CertificateTabelModel::columnCount(const QModelIndex&) const
+{
+    return header->size();
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/certificatetablemodel.h	Wed Apr 09 12:43:40 2014 +0200
@@ -0,0 +1,33 @@
+#ifndef CERTIFICATETABLEMODEL_H
+#define CERTIFICATETABLEMODEL_H
+
+/**
+ * @file certificatetablemodel.h
+ * @brief Table model for certificates.
+ */
+
+#include <QAbstractTableModel>
+#include <QString>
+#include "certificate.h"
+
+class CertificateTabelModel : public QAbstractTableModel
+{
+    Q_OBJECT
+
+public:
+    CertificateTabelModel(QObject *parent = 0);
+
+    void addCertificate(Certificate *certificate);
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    int columnCount(const QModelIndex &parent = QModelIndex()) const;
+
+    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+    QVariant headerData(int section, Qt::Orientation orientation,
+            int role = Qt::DisplayRole) const;
+
+private:
+    QList<Certificate> *certificates;
+    QList<QString> *header;
+};
+
+#endif

http://wald.intevation.org/projects/trustbridge/