Mercurial > trustbridge
diff ui/certificatetablemodel.cpp @ 334:36be67070dcb
Added table model for certificates.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 09 Apr 2014 12:43:40 +0200 |
parents | |
children | fba80767fd7a |
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(); +} + +