# HG changeset patch # User Raimund Renkert # Date 1397040220 -7200 # Node ID 36be67070dcb4d352d9d5fb38845784f3a84a983 # Parent de94c4ec22b168ef5903a5cf861168acc16385a8 Added table model for certificates. diff -r de94c4ec22b1 -r 36be67070dcb ui/certificatetablemodel.cpp --- /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(); + header = new QList(); + 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(); +} + + diff -r de94c4ec22b1 -r 36be67070dcb ui/certificatetablemodel.h --- /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 +#include +#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 *certificates; + QList *header; +}; + +#endif