aboutsummaryrefslogtreecommitdiffstats
path: root/verifynotification.h
blob: 641d43e71727aabffbff6bd6df625927e36f4def (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#ifndef VERIFYNOTIFICATION_H
#define VERIFYNOTIFICATION_H

#include "keyserverimportdialog.h"
#include "context.h"
#include <gpgme.h>
#include <QWidget>

class QLabel;
class QHBoxLayout;
class QMenu;
class QPushButton;

typedef enum
{
    VERIFY_ERROR_OK = 0,
    VERIFY_ERROR_WARN = 1,
    VERIFY_ERROR_CRITICAL = 2,
}  verify_label_status;

class VerifyNotification : public QWidget
{
    Q_OBJECT
public:
    explicit VerifyNotification(GpgME::Context *ctx,QWidget *parent = 0 );
    // set the text of verifynotification
    /****************************************************************************************
     * Name:                setVerifyLabel
     * Description:         set the text of verify notification
     * Parameters:          none
     * Return Values:       none
     * Change on members:   none
    */
    void setVerifyLabel(QString text, verify_label_status verifyLabelStatus);
    /****************************************************************************************
     * Name:                showImportAction
     * Description:         show the action in detailsmenu
     * Parameters:          none
     * Return Values:       none
     * Change on members:   none
    */
    void showImportAction();
    /****************************************************************************************
     * Name:                hideImportAction
     * Description:         hide the action in detailsmenu
     * Parameters:          none
     * Return Values:       none
     * Change on members:   none
    */
    void hideImportAction();

    /****************************************************************************************
     * Name:                setVerifyDetailText
     * Description:         set the text of verify-detail dialog
     * Parameters:          QString containing the text
     * Return Values:       none
     * Change on members:   verifyDetailText changes to text
    */
    void setVerifyDetailText(QString text);

    /****************************************************************************************
     * Name:                keysNotInList
     * Description:         List holding the keys in signature, which are not in the keylist
    */
    QStringList *keysNotInList;
    // set text shown in verifydetails dialog

signals:

public slots:
    // import missing key from keyserver
    void importFromKeyserver();
    // show verify details
    void showVerifyDetails();

private:
    QMenu *detailMenu; // Menu for te Button in verfiyNotification
    QAction *importFromKeyserverAct;
    QAction *showVerifyDetailsAct;
    QString *verifyDetailText; // Text showed in VerifiyNotification
    QPushButton *detailsButton; // Button shown in verifynotification
    QLabel *verifyLabel; // Label holding the text shown in verifyNotification
    GpgME::Context *mCtx;
    QHBoxLayout *notificationWidgetLayout;
};
#endif // VERIFYNOTIFICATION_H