b500ff49bf68123bfacd6b79aafc96e4b153ba83
[novacoin.git] / src / qt / askpassphrasedialog.h
1 #ifndef ASKPASSPHRASEDIALOG_H
2 #define ASKPASSPHRASEDIALOG_H
3
4 #include <QDialog>
5
6 namespace Ui {
7     class AskPassphraseDialog;
8 }
9
10 class WalletModel;
11
12 /** Multifunctional dialog to ask for passphrases. Used for encryption, unlocking, and changing the passphrase.
13  */
14 class AskPassphraseDialog : public QDialog
15 {
16     Q_OBJECT
17
18 public:
19     enum Mode {
20         Encrypt,    /**< Ask passphrase twice and encrypt */
21         Unlock,     /**< Ask passphrase and unlock */
22         ChangePass, /**< Ask old passphrase + new passphrase twice */
23         Decrypt     /**< Ask passphrase and decrypt wallet */
24     };
25
26     explicit AskPassphraseDialog(Mode mode, QWidget *parent = 0);
27     ~AskPassphraseDialog();
28
29     void accept();
30
31     void setModel(WalletModel *model);
32
33 private:
34     Ui::AskPassphraseDialog *ui;
35     Mode mode;
36     WalletModel *model;
37     bool fCapsLock;
38
39 private slots:
40     void textChanged();
41     bool event(QEvent *event);
42     bool eventFilter(QObject *, QEvent *event);
43 };
44
45 #endif // ASKPASSPHRASEDIALOG_H