# HG changeset patch # User Raimund Renkert # Date 1397635262 -7200 # Node ID 55cbe0a482ce684e84f54d5728f5806e10938c58 # Parent 9e6a2c2033ed55ef07474fd1a975fe40eeabd1b9# Parent ae2ef965a41b8f322ff97dcb2afa88e724b71da2 merged. diff -r ae2ef965a41b -r 55cbe0a482ce ui/administratorwindow.cpp --- a/ui/administratorwindow.cpp Tue Apr 15 20:27:26 2014 +0200 +++ b/ui/administratorwindow.cpp Wed Apr 16 10:01:02 2014 +0200 @@ -14,15 +14,22 @@ #include #include #include +#include +#include #include "certificatetabledelegate.h" #include "createinstallerdialog.h" #include "createcertlistdialog.h" AdministratorWindow::AdministratorWindow() { + QString path = QStandardPaths::locate( + QStandardPaths::DataLocation, QString("certlist_last.txt")); + certList.readList(path.toLocal8Bit()); createActions(); createMenuBar(); createContent(); + loadCertificateTable(); + resize(1110, 700); } void AdministratorWindow::createActions() @@ -65,17 +72,18 @@ QGroupBox *certBox = new QGroupBox(tr("Managed Certificates")); certificateView = new QTableView; certificateModel = new CertificateTabelModel(); + QSortFilterProxyModel *filterModel = new QSortFilterProxyModel(this); + filterModel->setSourceModel(certificateModel); CertificateTableDelegate *delegate = new CertificateTableDelegate(certificateView); - certificateView->setModel(certificateModel); + certificateView->setModel(filterModel); certificateView->setItemDelegate(delegate); - certificateView->setColumnWidth(0, 50); - certificateView->setColumnWidth(2, 130); - certificateView->setColumnWidth(3, 130); - certificateView->setColumnWidth(4, 200); + certificateView->resizeColumnsToContents(); + certificateView->setColumnWidth(0, 60); certificateView->setSelectionBehavior(QAbstractItemView::SelectRows); connect(certificateView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(clickedCertificate(const QModelIndex&))); certificateView->verticalHeader()->setVisible(false); + certificateView->setSortingEnabled(true); certLayout->addWidget(certificateView); certBox->setLayout(certLayout); @@ -119,8 +127,6 @@ // managed in the central widget. base->setLayout(mainLayout); setCentralWidget(base); - certificateView->horizontalHeader()->setSectionResizeMode(1, - QHeaderView::Stretch); } void AdministratorWindow::loadCertificateFile() @@ -133,6 +139,7 @@ qDebug() << "Not a valid list."; } else { + certificateModel->removeAll(); loadCertificateTable(); } } @@ -163,6 +170,8 @@ foreach(const Certificate &cert, certList.getCertificates()) { certificateModel->addCertificate(cert, true); } + certificateView->resizeColumnsToContents(); + certificateView->setColumnWidth(0, 60); } void AdministratorWindow::addToCertificateTable(const QList &certs) diff -r ae2ef965a41b -r 55cbe0a482ce ui/certificatetablemodel.cpp --- a/ui/certificatetablemodel.cpp Tue Apr 15 20:27:26 2014 +0200 +++ b/ui/certificatetablemodel.cpp Wed Apr 16 10:01:02 2014 +0200 @@ -1,5 +1,7 @@ #include "certificatetablemodel.h" +#include + CertificateTabelModel::CertificateTabelModel(QObject *parent) : QAbstractTableModel(parent) { @@ -31,14 +33,17 @@ return false; } for (int i = row + count - 1; i >= row; i--) { - if (!certificates.at(i).isEditable()) { - certificates.removeAt(i); - } + certificates.removeAt(i); } endRemoveRows(); return true; } +bool CertificateTabelModel::removeAll() +{ + return removeRows(0, certificates.size(), QModelIndex()); +} + QVariant CertificateTabelModel::data(const QModelIndex &index, int role) const { @@ -66,6 +71,10 @@ Certificate cert = certificates.at(index.row()); return cert.isEditable(); } + if (role == Qt::FontRole && index.column() == 7) { + QFont block("DejaVu Sans Mono"); + return block; + } return QVariant(); } diff -r ae2ef965a41b -r 55cbe0a482ce ui/certificatetablemodel.h --- a/ui/certificatetablemodel.h Tue Apr 15 20:27:26 2014 +0200 +++ b/ui/certificatetablemodel.h Wed Apr 16 10:01:02 2014 +0200 @@ -19,6 +19,7 @@ void addCertificate(const Certificate &certificate, bool editable); bool removeRows(int row, int count, const QModelIndex&); + bool removeAll(); int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const;