view 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 source
#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();
}


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