view ui/certificatelistwidget.h @ 954:eaea1504f282

(issue41) Add curl staticlib definition This is neccessary to avoid dllimport declarations on windows.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 27 Aug 2014 16:29:55 +0200
parents a467204a35f5
children 9c4543128666
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 <QVBoxLayout>

#include "certificate.h"
/**
 * @file certificatelistwidget.h
 * @brief Displays a list of certificates and a details panel for a selected
 * certificate.
 */

class CertificateItemWidget;

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 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);

private:

    QList <CertificateItemWidget*> mCertificateWidgets;
    QVBoxLayout mLayout;

private slots:
    void certStateChanged(bool state, const Certificate &cert);

signals:
    void certListChanged(int selected);
    void certChanged(bool state, const Certificate &cert);

};
#endif // CERTIFICATELISTWIDGET_H

http://wald.intevation.org/projects/trustbridge/