Mercurial > trustbridge
view ui/administratorwindow.h @ 582:88c9bdc74175 trustbridge-refactor
New widgets to display certificates in lists.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 27 May 2014 16:16:21 +0200 |
parents | 9db7034b2d6c |
children | 75cd2fbf9ac6 |
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ #ifndef ADMINSTRATORWINDOW_H #define ADMINSTRATORWINDOW_H /** * @file administratorwindow.h * @brief Administrator UI controller */ #include <QMainWindow> #include <QSettings> #include <QMenuBar> #include <QTableView> #include <QPushButton> #include "certificatelist.h" #include "certificatetablemodel.h" class QMenu; class QAction; class AdministratorWindow : public QMainWindow { Q_OBJECT public: AdministratorWindow(); /** @brief obtain a reference to the certificates currently in the model * @returns the currently shown certificates */ const QList<Certificate>& certificates() const { return certificateModel->certificates(); } /** @brief get the settings for this application * @returns a reference the applications settings object */ QSettings* settings() {return &mSettings;} /** @brief log the diff between the initial certificate list and the list * saved as current. * * @param currentCerts Path to the current certificate list file. */ void logChanges(const QString ¤tCerts); /** @brief get the currently changed certificates. * @return a list of certificates. */ QList<Certificate> currentChanges(); private slots: void createInstaller(); void showAbout(); void loadCertificateFile(); void saveCertificateFile(); void addCertificates(); void removeCertificates(); void clickedCertificate(const QModelIndex&); private: void createActions(); void createMenuBar(); void createContent(); void loadCertificateTable(); void addToCertificateTable(const QList<Certificate> &certs); QByteArray createLogEntries(const CertificateList &list); QSettings mSettings; QMenuBar *menuBar; QTableView *certificateView; CertificateList mCertList; CertificateTabelModel *certificateModel; QPushButton *saveButton; QPushButton *loadButton; QPushButton *addButton; QPushButton *removeButton; }; #endif // ADMINSTRATORWINDOW_H