Mercurial > trustbridge
view ui/certificatelistwidget.h @ 706:6bb3018b966d
Merged
author | Sascha Wilde <wilde@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 11:57:32 +0200 |
parents | 973a7ce19658 |
children | 3d669400104a |
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 CERTIFICATELISTWIDGET_H #define CERTIFICATELISTWIDGET_H #include <QWidget> #include <QMainWindow> #include <QLabel> #include <QListWidget> #include "certificate.h" /** * @file certificatelistwidget.h * @brief Displays a list of certificates and a details panel for a selected * certificate. */ Q_DECLARE_METATYPE(Certificate); class CertificateListWidget : public QWidget { Q_OBJECT public: CertificateListWidget(QWidget *parent, Qt::WindowFlags flags = 0); void addCertificate(const Certificate &certificate, bool state, bool editable = true, const QString& installLabel = tr("install"), const QString& removeLabel = tr("remove")); void addCertificates(const QList<Certificate> &list); void removeCertificate(const Certificate &cert); void setCertState(bool state, const Certificate &cert); void clear(); QStringList certificates(); QStringList selectedCertificates(); QStringList unselectedCertificates(); QList<Certificate> certificateList(); int selectedCertCount(); bool contains(const Certificate &cert); void setSelected(int index); private: void setupGUI(); QListWidget *mCertificateList; QLabel *mSubjectCN; QLabel *mSubjectO; QLabel *mIssuerCN; QLabel *mIssuerO; QLabel *mValidFrom; QLabel *mValidTo; QLabel *mFingerprint; private slots: void updateDetails(QListWidgetItem *item); void certStateChanged(bool state, const Certificate &cert); signals: void certListChanged(int selected); void certChanged(bool state, const Certificate &cert); }; #endif // CERTIFICATELISTWIDGET_H