Mercurial > trustbridge
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