Mercurial > trustbridge
view ui/certificateitemwidget.h @ 841:216a65d7fc4b
(issue66) Implement is_system_install and use it
This has completly different implementations for linux
and Windows. The commit also moves some code into util.c
for better reuse.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 29 Jul 2014 18:12:57 +0200 |
parents | 31c3d2bc9880 |
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 CERTIFICATELISTITEM_H #define CERTIFICATELISTITEM_H /** * @file certificateitemdelegate.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 = tr("install"), const QString& removeLabel = tr("remove")); 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