5 #ifndef BITCOIN_QT_BITCOINGUI_H 6 #define BITCOIN_QT_BITCOINGUI_H 8 #if defined(HAVE_CONFIG_H) 20 #include <QMainWindow> 24 #include <QSystemTrayIcon> 49 struct BlockAndHeaderTipInfo;
57 class QProgressDialog;
84 void setWalletController(
WalletController* wallet_controller,
bool show_loading_minimized);
95 void removeAllWallets();
96 #endif // ENABLE_WALLET 112 void showEvent(QShowEvent *event)
override;
114 void dropEvent(QDropEvent *event)
override;
115 bool eventFilter(QObject *
object, QEvent *event)
override;
244 void message(
const QString& title, QString
message,
unsigned int style,
bool*
ret =
nullptr,
const QString& detailed_message = QString());
248 void setCurrentWalletBySelectorIndex(
int index);
251 void updateWalletStatus();
258 void setEncryptionStatus(
int status);
264 void setHDStatus(
bool privkeyDisabled,
int hdEnabled);
270 void incomingTransaction(
const QString& date,
BitcoinUnit unit,
const CAmount& amount,
const QString& type,
const QString& address,
const QString& label,
const QString& walletName);
271 #endif // ENABLE_WALLET 281 void gotoOverviewPage();
283 void gotoHistoryPage();
285 void gotoReceiveCoinsPage();
287 void gotoSendCoinsPage(QString addr =
"");
290 void gotoSignMessageTab(QString addr =
"");
292 void gotoVerifyMessageTab(QString addr =
"");
294 void gotoLoadPSBT(
bool from_clipboard =
false);
296 void enableHistoryAction(
bool privacy);
300 #endif // ENABLE_WALLET 358 #endif // BITCOIN_QT_BITCOINGUI_H void subscribeToCoreSignals()
Connect core signals to GUI client.
void unsubscribeFromCoreSignals()
Disconnect core signals from GUI client.
void showEvent(QShowEvent *event) override
QMenu * m_migrate_wallet_menu
QAction * receiveCoinsAction
UnitDisplayStatusBarControl * unitDisplayControl
Local Bitcoin RPC console.
QAction * m_mask_values_action
QAction * signMessageAction
void receivedURI(const QString &uri)
Signal raised when a URI was entered or dragged to the GUI.
Utility functions used by the Bitcoin Qt UI.
SynchronizationState
Current sync state passed to tip changed callbacks.
void updateNetworkState()
Update UI with latest network info from model.
void showNormalIfMinimized()
Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHid...
UnitDisplayStatusBarControl(const PlatformStyle *platformStyle)
QProgressDialog * progressDialog
void consoleShown(RPCConsole *console)
Signal raised when RPC console shown.
void createTrayIcon()
Create system tray icon and notification.
void showDebugWindow()
Show debug window.
GUIUtil::ClickableLabel * labelProxyIcon
ClientModel * clientModel
void createToolBars()
Create the toolbars.
QAction * m_load_psbt_action
ModalOverlay * modalOverlay
void createTrayIconMenu()
Create system tray menu (or setup the dock menu)
QAction * m_wallet_selector_action
QAction * m_migrate_wallet_action
QAction * verifyMessageAction
QAction * m_open_wallet_action
QAction * m_close_wallet_action
void updateHeadersPresyncProgressLabel(int64_t height, const QDateTime &blockDate)
void setWalletActionsEnabled(bool enabled)
Enable or disable all wallet-related actions.
void setClientModel(ClientModel *clientModel=nullptr, interfaces::BlockAndHeaderTipInfo *tip_info=nullptr)
Set the client model.
Controller between interfaces::Node, WalletModel instances and the GUI.
QMenu * m_open_wallet_menu
HelpMessageDialog * helpMessageDialog
QLabel * progressBarLabel
QSystemTrayIcon * trayIcon
QAction * showHelpMessageAction
Modal overlay to display information about the chain-sync state.
bool isPrivacyModeActivated() const
void changeEvent(QEvent *e) override
void changeEvent(QEvent *e) override
void setNetworkActive(bool network_active)
Set network state shown in the UI.
GUIUtil::ClickableLabel * connectionsControl
QAction * backupWalletAction
QAction * m_load_psbt_clipboard_action
void setOptionsModel(OptionsModel *optionsModel)
Lets the control know about the Options Model (and its signals)
void dropEvent(QDropEvent *event) override
void openOptionsDialogWithTab(OptionsDialog::Tab tab)
Open the OptionsDialog on the specified tab index.
QAction * usedReceivingAddressesAction
int64_t CAmount
Amount in satoshis (Can be negative)
const NetworkStyle *const m_network_style
WalletController * m_wallet_controller
const PlatformStyle * platformStyle
void showProgress(const QString &title, int nProgress)
Show progress dialog e.g.
QAction * m_wallet_selector_label_action
OptionsModel * optionsModel
QLabel * m_wallet_selector_label
void optionsClicked()
Show configuration dialog.
void setNumBlocks(int count, const QDateTime &blockDate, double nVerificationProgress, SyncType synctype, SynchronizationState sync_state)
Set number of blocks and last block date shown in the UI.
WalletFrame * walletFrame
QAction * usedSendingAddressesAction
BitcoinGUI(interfaces::Node &node, const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent=nullptr)
void updateDisplayUnit(BitcoinUnit newUnits)
When Display Units are changed on OptionsModel it will refresh the display text of the control on the...
QAction * openRPCConsoleAction
QAction * m_close_all_wallets_action
void detectShutdown()
called by a timer to check if ShutdownRequested() has been set
Cross-platform desktop notification client.
Block and header tip information.
GUIUtil::ClickableLabel * labelBlocksIcon
GUIUtil::ClickableProgressBar * progressBar
void showHelpMessageClicked()
Show help message dialog.
Notificator * notificator
Model for Bitcoin network client.
void mousePressEvent(QMouseEvent *event) override
So that it responds to left-button clicks.
bool hasTrayIcon() const
Get the tray icon status.
QAction * sendCoinsAction
QAction * m_create_wallet_action
void message(const QString &title, QString message, unsigned int style, bool *ret=nullptr, const QString &detailed_message=QString())
Notify the user of an event from the core network or transaction handling code.
void updateProxyIcon()
Set the proxy-enabled icon as shown in the UI.
QAction * changePassphraseAction
const std::unique_ptr< QMenu > trayIconMenu
QMenu * m_network_context_menu
void setPrivacy(bool privacy)
Interface from Qt to configuration data structure for Bitcoin client.
std::unique_ptr< interfaces::Handler > m_handler_question
Interface to Bitcoin wallet from Qt view code.
QAction * m_restore_wallet_action
bool eventFilter(QObject *object, QEvent *event) override
int prevBlocks
Keep track of previous number of blocks, to detect progress.
void toggleHidden()
Simply calls showNormalIfMinimized(true)
interfaces::Node & m_node
GUIUtil::ThemedLabel * labelWalletEncryptionIcon
void setNumConnections(int count)
Set number of connections shown in the UI.
"Help message" dialog box
void closeEvent(QCloseEvent *event) override
QComboBox * m_wallet_selector
void createContextMenu()
Creates context menu, its actions, and wires up all the relevant signals for mouse events...
void showDebugWindowActivateConsole()
Show debug window and set focus to the console.
void createActions()
Create the main UI actions.
QAction * encryptWalletAction
void aboutClicked()
Show about dialog.
const PlatformStyle * m_platform_style
void createWallet()
Launch the wallet creation modal (no-op if wallet is not compiled)
void updateHeadersSyncProgressLabel()
static const std::string DEFAULT_UIPLATFORM
GUIUtil::ThemedLabel * labelWalletHDStatusIcon
Top-level interface for a bitcoin node (bitcoind process).
A container for embedding all wallet-related controls into BitcoinGUI.
void onDisplayUnitsClicked(const QPoint &point)
Shows context menu with Display Unit options by the mouse coordinates.
void createMenuBar()
Create the menu bar and sub-menus.
void onMenuSelection(QAction *action)
Tells underlying optionsModel to update its current display unit.
std::unique_ptr< interfaces::Handler > m_handler_message_box
void dragEnterEvent(QDragEnterEvent *event) override