5 #ifndef BITCOIN_QT_BITCOINGUI_H 6 #define BITCOIN_QT_BITCOINGUI_H 8 #if defined(HAVE_CONFIG_H) 17 #include <QMainWindow> 20 #include <QSystemTrayIcon> 46 struct BlockAndHeaderTipInfo;
54 class QProgressDialog;
92 void removeAllWallets();
93 #endif // ENABLE_WALLET 94 bool enableWallet =
false;
102 void unsubscribeFromCoreSignals();
104 bool isPrivacyModeActivated()
const;
107 void changeEvent(QEvent *e)
override;
108 void closeEvent(QCloseEvent *event)
override;
109 void showEvent(QShowEvent *event)
override;
110 void dragEnterEvent(QDragEnterEvent *event)
override;
111 void dropEvent(QDropEvent *event)
override;
112 bool eventFilter(QObject *
object, QEvent *event)
override;
123 QLabel* labelWalletEncryptionIcon =
nullptr;
124 QLabel* labelWalletHDStatusIcon =
nullptr;
128 QLabel* progressBarLabel =
nullptr;
130 QProgressDialog* progressDialog =
nullptr;
132 QMenuBar* appMenuBar =
nullptr;
133 QToolBar* appToolBar =
nullptr;
134 QAction* overviewAction =
nullptr;
135 QAction* historyAction =
nullptr;
136 QAction* quitAction =
nullptr;
137 QAction* sendCoinsAction =
nullptr;
138 QAction* sendCoinsMenuAction =
nullptr;
139 QAction* usedSendingAddressesAction =
nullptr;
140 QAction* usedReceivingAddressesAction =
nullptr;
141 QAction* signMessageAction =
nullptr;
142 QAction* verifyMessageAction =
nullptr;
143 QAction* m_load_psbt_action =
nullptr;
144 QAction* m_load_psbt_clipboard_action =
nullptr;
145 QAction* aboutAction =
nullptr;
146 QAction* receiveCoinsAction =
nullptr;
147 QAction* receiveCoinsMenuAction =
nullptr;
148 QAction* optionsAction =
nullptr;
149 QAction* toggleHideAction =
nullptr;
150 QAction* encryptWalletAction =
nullptr;
151 QAction* backupWalletAction =
nullptr;
152 QAction* changePassphraseAction =
nullptr;
153 QAction* aboutQtAction =
nullptr;
154 QAction* openRPCConsoleAction =
nullptr;
155 QAction* openAction =
nullptr;
156 QAction* showHelpMessageAction =
nullptr;
157 QAction* m_create_wallet_action{
nullptr};
158 QAction* m_open_wallet_action{
nullptr};
159 QMenu* m_open_wallet_menu{
nullptr};
160 QAction* m_close_wallet_action{
nullptr};
161 QAction* m_close_all_wallets_action{
nullptr};
162 QAction* m_wallet_selector_label_action =
nullptr;
163 QAction* m_wallet_selector_action =
nullptr;
164 QAction* m_mask_values_action{
nullptr};
166 QLabel *m_wallet_selector_label =
nullptr;
167 QComboBox* m_wallet_selector =
nullptr;
169 QSystemTrayIcon* trayIcon =
nullptr;
182 int spinnerFrame = 0;
188 void createActions();
190 void createMenuBar();
192 void createToolBars();
194 void createTrayIcon();
196 void createTrayIconMenu();
199 void setWalletActionsEnabled(
bool enabled);
202 void subscribeToCoreSignals();
205 void updateNetworkState();
207 void updateHeadersSyncProgressLabel();
214 void receivedURI(
const QString &uri);
217 void setPrivacy(
bool privacy);
221 void setNumConnections(
int count);
223 void setNetworkActive(
bool networkActive);
225 void setNumBlocks(
int count,
const QDateTime& blockDate,
double nVerificationProgress,
bool headers,
SynchronizationState sync_state);
235 void message(
const QString& title, QString message,
unsigned int style,
bool* ret =
nullptr,
const QString& detailed_message = QString());
239 void setCurrentWalletBySelectorIndex(
int index);
242 void updateWalletStatus();
249 void setEncryptionStatus(
int status);
255 void setHDStatus(
bool privkeyDisabled,
int hdEnabled);
261 void incomingTransaction(
const QString& date,
int unit,
const CAmount& amount,
const QString& type,
const QString& address,
const QString& label,
const QString& walletName);
262 #endif // ENABLE_WALLET 266 void updateProxyIcon();
267 void updateWindowTitle();
272 void gotoOverviewPage();
274 void gotoHistoryPage();
276 void gotoReceiveCoinsPage();
278 void gotoSendCoinsPage(QString addr =
"");
281 void gotoSignMessageTab(QString addr =
"");
283 void gotoVerifyMessageTab(QString addr =
"");
285 void gotoLoadPSBT(
bool from_clipboard =
false);
289 #endif // ENABLE_WALLET 291 void optionsClicked();
295 void showDebugWindow();
297 void showDebugWindowActivateConsole();
299 void showHelpMessageClicked();
302 void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
305 void macosDockIconActivated();
310 void showNormalIfMinimized(
bool fToggleHidden);
315 void detectShutdown();
318 void showProgress(
const QString &title,
int nProgress);
321 void setTrayIconVisible(
bool);
323 void showModalOverlay();
337 void mousePressEvent(QMouseEvent *event)
override;
344 void onDisplayUnitsClicked(
const QPoint& point);
346 void createContextMenu();
350 void updateDisplayUnit(
int newUnits);
352 void onMenuSelection(QAction* action);
355 #endif // BITCOIN_QT_BITCOINGUI_H Local Bitcoin RPC console.
Utility functions used by the Bitcoin Qt UI.
SynchronizationState
Current sync state passed to tip changed callbacks.
void showNormalIfMinimized()
Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHid...
Controller between interfaces::Node, WalletModel instances and the GUI.
Modal overlay to display information about the chain-sync state.
int64_t CAmount
Amount in satoshis (Can be negative)
const NetworkStyle *const m_network_style
const PlatformStyle * platformStyle
OptionsModel * optionsModel
Cross-platform desktop notification client.
Block and header tip information.
Model for Bitcoin network client.
bool hasTrayIcon() const
Get the tray icon status.
const std::unique_ptr< QMenu > trayIconMenu
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.
interfaces::Node & m_node
"Help message" dialog box
static const std::string DEFAULT_UIPLATFORM
Top-level interface for a bitcoin node (bitcoind process).
A container for embedding all wallet-related controls into BitcoinGUI.
std::unique_ptr< interfaces::Handler > m_handler_message_box