Line data Source code
1 : // Copyright (c) 2011-2013 The Bitcoin Core developers
2 : // Distributed under the MIT software license, see the accompanying
3 : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 :
5 : #ifndef BITCOIN_QT_ASKPASSPHRASEDIALOG_H
6 : #define BITCOIN_QT_ASKPASSPHRASEDIALOG_H
7 :
8 : #include <QDialog>
9 :
10 : class WalletModel;
11 :
12 : namespace Ui {
13 : class AskPassphraseDialog;
14 : }
15 :
16 : /** Multifunctional dialog to ask for passphrases. Used for encryption, unlocking, and changing the passphrase.
17 : */
18 : class AskPassphraseDialog : public QDialog
19 : {
20 0 : Q_OBJECT
21 :
22 : public:
23 : enum Mode {
24 : Encrypt, /**< Ask passphrase twice and encrypt */
25 : Unlock, /**< Ask passphrase and unlock */
26 : ChangePass, /**< Ask old passphrase + new passphrase twice */
27 : Decrypt /**< Ask passphrase and decrypt wallet */
28 : };
29 :
30 : explicit AskPassphraseDialog(Mode mode, QWidget *parent);
31 : ~AskPassphraseDialog();
32 :
33 : void accept();
34 :
35 : void setModel(WalletModel *model);
36 :
37 : private:
38 : Ui::AskPassphraseDialog *ui;
39 : Mode mode;
40 : WalletModel *model;
41 : bool fCapsLock;
42 :
43 : private Q_SLOTS:
44 : void textChanged();
45 :
46 : protected:
47 : bool event(QEvent *event);
48 : bool eventFilter(QObject *object, QEvent *event);
49 : };
50 :
51 : #endif // BITCOIN_QT_ASKPASSPHRASEDIALOG_H
|