0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00

qt, refactor: Fill up trayIconMenu before connections

This change is required for the following commits.
This commit is contained in:
Hennadii Stepanov 2022-02-08 16:27:00 +02:00
parent 66afa286e5
commit 78189daac8
No known key found for this signature in database
GPG key ID: 410108112E7EA81F

View file

@ -784,33 +784,16 @@ void BitcoinGUI::createTrayIcon()
void BitcoinGUI::createTrayIconMenu()
{
#ifndef Q_OS_MAC
// return if trayIcon is unset (only on non-macOSes)
if (!trayIcon)
return;
if (!trayIcon) return;
#endif // Q_OS_MAC
trayIcon->setContextMenu(trayIconMenu.get());
connect(trayIcon, &QSystemTrayIcon::activated, [this](QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Trigger) {
// Click on system tray icon triggers show/hide of the main window
toggleHidden();
}
});
#else
// Note: On macOS, the Dock icon is used to provide the tray's functionality.
MacDockIconHandler *dockIconHandler = MacDockIconHandler::instance();
connect(dockIconHandler, &MacDockIconHandler::dockIconClicked, [this] {
show();
activateWindow();
});
trayIconMenu->setAsDockMenu();
#endif
// Configuration of the tray icon (or Dock icon) menu
// Configuration of the tray icon (or Dock icon) menu.
#ifndef Q_OS_MAC
// Note: On macOS, the Dock icon's menu already has Show / Hide action.
trayIconMenu->addAction(toggleHideAction);
trayIconMenu->addSeparator();
#endif
#endif // Q_OS_MAC
if (enableWallet) {
trayIconMenu->addAction(sendCoinsMenuAction);
trayIconMenu->addAction(receiveCoinsMenuAction);
@ -821,10 +804,27 @@ void BitcoinGUI::createTrayIconMenu()
}
trayIconMenu->addAction(optionsAction);
trayIconMenu->addAction(openRPCConsoleAction);
#ifndef Q_OS_MAC // This is built-in on macOS
#ifndef Q_OS_MAC
// Note: On macOS, the Dock icon's menu already has Quit action.
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
#endif
trayIcon->setContextMenu(trayIconMenu.get());
connect(trayIcon, &QSystemTrayIcon::activated, [this](QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Trigger) {
// Click on system tray icon triggers show/hide of the main window
toggleHidden();
}
});
#else
// Note: On macOS, the Dock icon is used to provide the tray's functionality.
MacDockIconHandler* dockIconHandler = MacDockIconHandler::instance();
connect(dockIconHandler, &MacDockIconHandler::dockIconClicked, [this] {
show();
activateWindow();
});
trayIconMenu->setAsDockMenu();
#endif // Q_OS_MAC
}
void BitcoinGUI::optionsClicked()