rrenkert@334: #include "certificatetablemodel.h" rrenkert@334: rrenkert@334: CertificateTabelModel::CertificateTabelModel(QObject *parent) rrenkert@334: : QAbstractTableModel(parent) rrenkert@334: { rrenkert@342: header.append(""); rrenkert@342: header.append(tr("CN")); rrenkert@342: header.append(tr("issued on")); rrenkert@342: header.append(tr("expires on")); rrenkert@342: header.append(tr("Fingerprint")); rrenkert@334: rrenkert@334: } rrenkert@334: rrenkert@342: void CertificateTabelModel::addCertificate(const Certificate& certificate) rrenkert@334: { rrenkert@342: beginInsertRows(QModelIndex(), rowCount(), rowCount()); rrenkert@342: certificates.append(certificate); rrenkert@342: endInsertRows(); rrenkert@334: } rrenkert@334: rrenkert@334: QVariant CertificateTabelModel::data(const QModelIndex &index, rrenkert@334: int role) const rrenkert@334: { rrenkert@342: if (index.row() > certificates.size() || index.row() < 0) { rrenkert@334: return QVariant(); rrenkert@334: } rrenkert@334: rrenkert@342: if (role == Qt::DisplayRole) { rrenkert@342: Certificate cert = certificates.at(index.row()); rrenkert@342: QVariant ret; rrenkert@342: switch(index.column()) { rrenkert@342: case 0: ret = cert.isInstallCert(); break; rrenkert@342: case 1: ret = cert.subjectCN(); break; rrenkert@342: case 2: ret = cert.validFrom(); break; rrenkert@342: case 3: ret = cert.validTo(); break; rrenkert@342: case 4: ret = "Fingerprint"; break; rrenkert@342: default: ; rrenkert@342: } rrenkert@342: return ret; rrenkert@334: } rrenkert@334: rrenkert@334: return QVariant(); rrenkert@334: } rrenkert@334: rrenkert@348: bool CertificateTabelModel::setData(const QModelIndex &index, rrenkert@348: const QVariant &value, int role) rrenkert@348: { rrenkert@348: //TODO rrenkert@348: return true; rrenkert@348: } rrenkert@348: rrenkert@334: QVariant CertificateTabelModel::headerData(int section, rrenkert@334: Qt::Orientation orientation, int role) const rrenkert@334: { rrenkert@334: if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { rrenkert@342: return header.at(section); rrenkert@334: } rrenkert@334: return QVariant(); rrenkert@334: } rrenkert@334: rrenkert@334: int CertificateTabelModel::rowCount(const QModelIndex&) const rrenkert@334: { rrenkert@342: return certificates.size(); rrenkert@334: } rrenkert@334: rrenkert@334: int CertificateTabelModel::columnCount(const QModelIndex&) const rrenkert@334: { rrenkert@342: return header.size(); rrenkert@334: } rrenkert@334: rrenkert@348: Qt::ItemFlags CertificateTabelModel::flags(const QModelIndex &index) const rrenkert@348: { rrenkert@348: if (!index.isValid ()) rrenkert@348: return Qt::ItemIsSelectable; rrenkert@334: rrenkert@348: if (index.column() == 0) { rrenkert@348: return QAbstractTableModel::flags(index) | Qt::ItemIsEditable; rrenkert@348: } rrenkert@348: rrenkert@348: return QAbstractTableModel::flags(index); rrenkert@348: }