Mercurial > trustbridge
view ui/certificateitemwidget.h @ 1105:0c60ec9c2461
(issue115) Add write / remove icons
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 15 Sep 2014 17:43:02 +0200 |
parents | 2b3526ef2d69 |
children | 6f7b7d88f048 |
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 <QComboBox> #include "certificate.h" /** @brief A combo box that shows the text only in the popup * * The text shown is the data set as Qt::UserRole */ class IconOnlyTextPopupBox : public QComboBox { protected: virtual void showPopup(); virtual void hidePopup(); }; class CertificateItemWidget : public QWidget { Q_OBJECT public: CertificateItemWidget( QWidget *parent = 0, const Certificate &cert = Certificate(), bool state = false, bool editable = true, const QString& installLabel = QString(), const QString& removeLabel = QString()); bool state(); void setState(bool state); Certificate *certificate(); private: void setupGUI(); Certificate mCertificate; bool mState; bool mEditable; QLabel *mLabel; IconOnlyTextPopupBox *mComboBox; QString mInstallLabel; QString mRemoveLabel; private slots: void currentStateChanged(int ndx); signals: void stateChanged(bool state, const Certificate &cert); }; #endif