rrenkert@582: /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik rrenkert@582: * Software engineering by Intevation GmbH rrenkert@582: * rrenkert@582: * This file is Free Software under the GNU GPL (v>=2) rrenkert@582: * and comes with ABSOLUTELY NO WARRANTY! rrenkert@582: * See LICENSE.txt for details. rrenkert@582: */ rrenkert@582: #ifndef CERTIFICATELISTWIDGET_H rrenkert@582: #define CERTIFICATELISTWIDGET_H rrenkert@582: rrenkert@582: #include rrenkert@582: #include rrenkert@582: #include rrenkert@582: #include andre@743: #include rrenkert@582: rrenkert@582: #include "certificate.h" rrenkert@582: /** rrenkert@582: * @file certificatelistwidget.h rrenkert@582: * @brief Displays a list of certificates and a details panel for a selected rrenkert@582: * certificate. rrenkert@582: */ rrenkert@582: andre@743: class CertificateItemWidget; andre@1106: class QToolButton; andre@743: rrenkert@582: Q_DECLARE_METATYPE(Certificate); andre@1255: /** andre@1255: * @brief Displays a list of certificates and a details panel for a selected andre@1255: * certificate. andre@1255: **/ rrenkert@582: class CertificateListWidget : public QWidget rrenkert@582: { rrenkert@582: Q_OBJECT rrenkert@582: public: rrenkert@582: CertificateListWidget(QWidget *parent, Qt::WindowFlags flags = 0); rrenkert@582: andre@687: void addCertificate(const Certificate &certificate, bool state, andre@1106: QToolButton *btn); rrenkert@639: void removeCertificate(const Certificate &cert); rrenkert@639: void setCertState(bool state, const Certificate &cert); rrenkert@627: void clear(); rrenkert@627: QStringList certificates(); rrenkert@639: QStringList selectedCertificates(); rrenkert@639: QStringList unselectedCertificates(); rrenkert@639: QList certificateList(); rrenkert@627: int selectedCertCount(); rrenkert@639: bool contains(const Certificate &cert); rrenkert@582: rrenkert@582: private: rrenkert@582: andre@743: QList mCertificateWidgets; andre@743: QVBoxLayout mLayout; rrenkert@582: rrenkert@582: private slots: rrenkert@627: void certStateChanged(bool state, const Certificate &cert); rrenkert@627: rrenkert@627: signals: rrenkert@627: void certListChanged(int selected); rrenkert@639: void certChanged(bool state, const Certificate &cert); rrenkert@582: rrenkert@582: }; rrenkert@582: #endif // CERTIFICATELISTWIDGET_H