view ui/certificateitemwidget.h @ 1371:23df332b2a4c

(issue179) Read install signature timestamp from config This also changes the way the sigDt is propgated to the MainWindow. It no longer uses the settings but hands it over as a parameter directly.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 24 Nov 2014 15:48:49 +0100
parents d2b32c75efcf
children
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 CERTIFICATELISTITEM_H
#define CERTIFICATELISTITEM_H
/**
 * @file certificateitemwidget.h
 * @brief Item delegate drawing custom certificate items in list views.
 *
 */
#include <QWidget>
#include <QLabel>
#include <QToolButton>

#include "certificate.h"

/** @brief A tool button that always looks as if it were unchecked. */
class CheckLessToolBtn : public QToolButton
{
    void paintEvent(QPaintEvent * pe);
};

/** @brief Item delegate drawing custom certificate items in list views.*/
class CertificateItemWidget : public QWidget
{
Q_OBJECT
public:
    /** @brief ctor of the widget
     *
     * @param [in] parent the parent of the widget
     * @param [in] cert the certificate to hold.
     * @param [in] state wether or not the action of the certificate should be done.
     * @param [in] btn the button used to manage the state of the cert.*/
    CertificateItemWidget(
        QWidget *parent = 0,
        const Certificate &cert = Certificate(),
        bool state = false,
        QToolButton * btn = NULL);

    bool state();
    /** @brief set the state of the certificate.
     *
     * A false state means that the certificate action (install or remove)
     * should not be executed.
     *
     * @param [in] state the state of the certificate
     **/
    void setState(bool state);

    /** @brief Obtain a copy of the certificate that is shown in the widget.
     *
     * @returns A copy of the hold certificate.
     **/
    Certificate certificate();

private:
    void setupGUI();

    Certificate mCertificate;
    bool mOriginalState;
    QToolButton *mButton;

private slots:
    /** @brief called when the certificate state has been changed */
    void currentStateChanged(bool state);

    /** @brief Used to open the native cert dialog of the certificate */
    void showCertDlg();

signals:
    void stateChanged(bool state, const Certificate &cert);
};
#endif

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