Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1// Copyright (c) 2011-present The Bitcoin Core developers2// Distributed under the MIT software license, see the accompanying3// file COPYING or http://www.opensource.org/licenses/mit-license.php.5#ifndef BITCOIN_QT_WALLETFRAME_H6#define BITCOIN_QT_WALLETFRAME_H8#include <QFrame>9#include <QMap>11class ClientModel;12class PlatformStyle;13class SendCoinsRecipient;14class WalletModel;15class WalletView;17QT_BEGIN_NAMESPACE18class QStackedWidget;19QT_END_NAMESPACE21/**22* A container for embedding all wallet-related23* controls into BitcoinGUI. The purpose of this class is to allow future24* refinements of the wallet controls with minimal need for further25* modifications to BitcoinGUI, thus greatly simplifying merges while26* reducing the risk of breaking top-level stuff.27*/28class WalletFrame : public QFrame29{30Q_OBJECT32public:33explicit WalletFrame(const PlatformStyle* platformStyle, QWidget* parent);34~WalletFrame();36void setClientModel(ClientModel *clientModel);38bool addView(WalletView* walletView);39void setCurrentWallet(WalletModel* wallet_model);40void removeWallet(WalletModel* wallet_model);41void removeAllWallets();43bool handlePaymentRequest(const SendCoinsRecipient& recipient);45void showOutOfSyncWarning(bool fShow);47QSize sizeHint() const override { return m_size_hint; }49Q_SIGNALS:50void createWalletButtonClicked();51void message(const QString& title, const QString& message, unsigned int style);52void currentWalletSet();54private:55QStackedWidget *walletStack;56ClientModel *clientModel;57QMap<WalletModel*, WalletView*> mapWalletViews;59bool bOutOfSync;61const PlatformStyle *platformStyle;63const QSize m_size_hint;65public:66WalletView* currentWalletView() const;67WalletModel* currentWalletModel() const;69public Q_SLOTS:70/** Switch to overview (home) page */71void gotoOverviewPage();72/** Switch to history (transactions) page */73void gotoHistoryPage();74/** Switch to receive coins page */75void gotoReceiveCoinsPage();76/** Switch to send coins page */77void gotoSendCoinsPage(QString addr = "");79/** Show Sign/Verify Message dialog and switch to sign message tab */80void gotoSignMessageTab(QString addr = "");81/** Show Sign/Verify Message dialog and switch to verify message tab */82void gotoVerifyMessageTab(QString addr = "");84/** Load Partially Signed Bitcoin Transaction */85void gotoLoadPSBT(bool from_clipboard = false);87/** Encrypt the wallet */88void encryptWallet();89/** Backup the wallet */90void backupWallet();91/** Change encrypted wallet passphrase */92void changePassphrase();93/** Ask for passphrase to unlock wallet temporarily */94void unlockWallet();96/** Show used sending addresses */97void usedSendingAddresses();98/** Show used receiving addresses */99void usedReceivingAddresses();100};102#endif // BITCOIN_QT_WALLETFRAME_H
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.