Bitcoin Core  27.99.0
P2P Digital Currency
walletframe.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2021 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_WALLETFRAME_H
6 #define BITCOIN_QT_WALLETFRAME_H
7 
8 #include <QFrame>
9 #include <QMap>
10 
11 class ClientModel;
12 class PlatformStyle;
13 class SendCoinsRecipient;
14 class WalletModel;
15 class WalletView;
16 
17 QT_BEGIN_NAMESPACE
18 class QStackedWidget;
19 QT_END_NAMESPACE
20 
28 class WalletFrame : public QFrame
29 {
30  Q_OBJECT
31 
32 public:
33  explicit WalletFrame(const PlatformStyle* platformStyle, QWidget* parent);
35 
37 
38  bool addView(WalletView* walletView);
39  void setCurrentWallet(WalletModel* wallet_model);
40  void removeWallet(WalletModel* wallet_model);
41  void removeAllWallets();
42 
43  bool handlePaymentRequest(const SendCoinsRecipient& recipient);
44 
45  void showOutOfSyncWarning(bool fShow);
46 
47  QSize sizeHint() const override { return m_size_hint; }
48 
49 Q_SIGNALS:
51  void message(const QString& title, const QString& message, unsigned int style);
53 
54 private:
55  QStackedWidget *walletStack;
57  QMap<WalletModel*, WalletView*> mapWalletViews;
58 
59  bool bOutOfSync;
60 
62 
63  const QSize m_size_hint;
64 
65 public:
68 
69 public Q_SLOTS:
71  void gotoOverviewPage();
73  void gotoHistoryPage();
75  void gotoReceiveCoinsPage();
77  void gotoSendCoinsPage(QString addr = "");
78 
80  void gotoSignMessageTab(QString addr = "");
82  void gotoVerifyMessageTab(QString addr = "");
83 
85  void gotoLoadPSBT(bool from_clipboard = false);
86 
88  void encryptWallet();
90  void backupWallet();
92  void changePassphrase();
94  void unlockWallet();
95 
97  void usedSendingAddresses();
100 };
101 
102 #endif // BITCOIN_QT_WALLETFRAME_H
Model for Bitcoin network client.
Definition: clientmodel.h:54
A container for embedding all wallet-related controls into BitcoinGUI.
Definition: walletframe.h:29
void removeAllWallets()
void currentWalletSet()
bool addView(WalletView *walletView)
Definition: walletframe.cpp:69
void changePassphrase()
Change encrypted wallet passphrase.
WalletModel * currentWalletModel() const
void gotoHistoryPage()
Switch to history (transactions) page.
void unlockWallet()
Ask for passphrase to unlock wallet temporarily.
void gotoSignMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to sign message tab.
WalletView * currentWalletView() const
void gotoOverviewPage()
Switch to overview (home) page.
ClientModel * clientModel
Definition: walletframe.h:56
const PlatformStyle * platformStyle
Definition: walletframe.h:61
void gotoSendCoinsPage(QString addr="")
Switch to send coins page.
void removeWallet(WalletModel *wallet_model)
void setClientModel(ClientModel *clientModel)
Definition: walletframe.cpp:60
bool bOutOfSync
Definition: walletframe.h:59
void backupWallet()
Backup the wallet.
QStackedWidget * walletStack
Definition: walletframe.h:55
void usedSendingAddresses()
Show used sending addresses.
void createWalletButtonClicked()
void encryptWallet()
Encrypt the wallet.
QSize sizeHint() const override
Definition: walletframe.h:47
void usedReceivingAddresses()
Show used receiving addresses.
void message(const QString &title, const QString &message, unsigned int style)
const QSize m_size_hint
Definition: walletframe.h:63
void setCurrentWallet(WalletModel *wallet_model)
Definition: walletframe.cpp:91
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
QMap< WalletModel *, WalletView * > mapWalletViews
Definition: walletframe.h:57
void gotoLoadPSBT(bool from_clipboard=false)
Load Partially Signed Bitcoin Transaction.
WalletFrame(const PlatformStyle *platformStyle, QWidget *parent)
Definition: walletframe.cpp:29
void showOutOfSyncWarning(bool fShow)
void gotoReceiveCoinsPage()
Switch to receive coins page.
void gotoVerifyMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to verify message tab.
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:48