Bitcoin Core  0.20.99
P2P Digital Currency
walletframe.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2019 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 BitcoinGUI;
12 class ClientModel;
13 class PlatformStyle;
14 class SendCoinsRecipient;
15 class WalletModel;
16 class WalletView;
17 
18 QT_BEGIN_NAMESPACE
19 class QStackedWidget;
20 QT_END_NAMESPACE
21 
29 class WalletFrame : public QFrame
30 {
31  Q_OBJECT
32 
33 public:
34  explicit WalletFrame(const PlatformStyle *platformStyle, BitcoinGUI *_gui = nullptr);
35  ~WalletFrame();
36 
38 
39  bool addWallet(WalletModel *walletModel);
40  void setCurrentWallet(WalletModel* wallet_model);
41  void removeWallet(WalletModel* wallet_model);
42  void removeAllWallets();
43 
44  bool handlePaymentRequest(const SendCoinsRecipient& recipient);
45 
46  void showOutOfSyncWarning(bool fShow);
47 
48  QSize sizeHint() const override { return m_size_hint; }
49 
50 Q_SIGNALS:
53 
54 private:
55  QStackedWidget *walletStack;
58  QMap<WalletModel*, WalletView*> mapWalletViews;
59 
60  bool bOutOfSync;
61 
63 
64  const QSize m_size_hint;
65 
66 public:
69 
70 public Q_SLOTS:
72  void gotoOverviewPage();
74  void gotoHistoryPage();
76  void gotoReceiveCoinsPage();
78  void gotoSendCoinsPage(QString addr = "");
79 
81  void gotoSignMessageTab(QString addr = "");
83  void gotoVerifyMessageTab(QString addr = "");
84 
86  void gotoLoadPSBT(bool from_clipboard = false);
87 
89  void encryptWallet(bool status);
91  void backupWallet();
93  void changePassphrase();
95  void unlockWallet();
96 
98  void usedSendingAddresses();
100  void usedReceivingAddresses();
103 };
104 
105 #endif // BITCOIN_QT_WALLETFRAME_H
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
WalletModel * currentWalletModel() const
bool bOutOfSync
Definition: walletframe.h:60
ClientModel * clientModel
Definition: walletframe.h:57
void setCurrentWallet(WalletModel *wallet_model)
QMap< WalletModel *, WalletView * > mapWalletViews
Definition: walletframe.h:58
void usedReceivingAddresses()
Show used receiving addresses.
QStackedWidget * walletStack
Definition: walletframe.h:55
void encryptWallet(bool status)
Encrypt the wallet.
Bitcoin GUI main class.
Definition: bitcoingui.h:66
void outOfSyncWarningClicked()
Pass on signal over requested out-of-sync-warning information.
QSize sizeHint() const override
Definition: walletframe.h:48
void removeAllWallets()
void showOutOfSyncWarning(bool fShow)
void gotoHistoryPage()
Switch to history (transactions) page.
void gotoOverviewPage()
Switch to overview (home) page.
void setClientModel(ClientModel *clientModel)
Definition: walletframe.cpp:60
WalletFrame(const PlatformStyle *platformStyle, BitcoinGUI *_gui=nullptr)
Definition: walletframe.cpp:22
void gotoVerifyMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to verify message tab.
BitcoinGUI * gui
Definition: walletframe.h:56
WalletView * currentWalletView() const
void changePassphrase()
Change encrypted wallet passphrase.
Model for Bitcoin network client.
Definition: clientmodel.h:46
void unlockWallet()
Ask for passphrase to unlock wallet temporarily.
void gotoSignMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to sign message tab.
void requestedSyncWarningInfo()
Notify that the user has requested more information about the out-of-sync warning.
const PlatformStyle * platformStyle
Definition: walletframe.h:62
void gotoSendCoinsPage(QString addr="")
Switch to send coins page.
void gotoReceiveCoinsPage()
Switch to receive coins page.
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:51
bool addWallet(WalletModel *walletModel)
Definition: walletframe.cpp:69
void backupWallet()
Backup the wallet.
void removeWallet(WalletModel *wallet_model)
void gotoLoadPSBT(bool from_clipboard=false)
Load Partially Signed Bitcoin Transaction.
const QSize m_size_hint
Definition: walletframe.h:64
A container for embedding all wallet-related controls into BitcoinGUI.
Definition: walletframe.h:29
void usedSendingAddresses()
Show used sending addresses.