mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-25 08:21:24 +02:00
qt, refactor: Use local QAction instances for the tray icon menu
This change is required for the following commit.
This commit is contained in:
parent
58e16035c1
commit
92427354dd
@ -778,20 +778,24 @@ void BitcoinGUI::createTrayIconMenu()
|
|||||||
|
|
||||||
QAction* send_action{nullptr};
|
QAction* send_action{nullptr};
|
||||||
QAction* receive_action{nullptr};
|
QAction* receive_action{nullptr};
|
||||||
|
QAction* sign_action{nullptr};
|
||||||
|
QAction* verify_action{nullptr};
|
||||||
if (enableWallet) {
|
if (enableWallet) {
|
||||||
send_action = trayIconMenu->addAction(sendCoinsAction->text(), sendCoinsAction, &QAction::trigger);
|
send_action = trayIconMenu->addAction(sendCoinsAction->text(), sendCoinsAction, &QAction::trigger);
|
||||||
receive_action = trayIconMenu->addAction(receiveCoinsAction->text(), receiveCoinsAction, &QAction::trigger);
|
receive_action = trayIconMenu->addAction(receiveCoinsAction->text(), receiveCoinsAction, &QAction::trigger);
|
||||||
trayIconMenu->addSeparator();
|
trayIconMenu->addSeparator();
|
||||||
trayIconMenu->addAction(signMessageAction);
|
sign_action = trayIconMenu->addAction(signMessageAction->text(), signMessageAction, &QAction::trigger);
|
||||||
trayIconMenu->addAction(verifyMessageAction);
|
verify_action = trayIconMenu->addAction(verifyMessageAction->text(), verifyMessageAction, &QAction::trigger);
|
||||||
trayIconMenu->addSeparator();
|
trayIconMenu->addSeparator();
|
||||||
}
|
}
|
||||||
trayIconMenu->addAction(optionsAction);
|
QAction* options_action = trayIconMenu->addAction(optionsAction->text(), optionsAction, &QAction::trigger);
|
||||||
trayIconMenu->addAction(openRPCConsoleAction);
|
options_action->setMenuRole(QAction::PreferencesRole);
|
||||||
|
QAction* node_window_action = trayIconMenu->addAction(openRPCConsoleAction->text(), openRPCConsoleAction, &QAction::trigger);
|
||||||
|
QAction* quit_action{nullptr};
|
||||||
#ifndef Q_OS_MAC
|
#ifndef Q_OS_MAC
|
||||||
// Note: On macOS, the Dock icon's menu already has Quit action.
|
// Note: On macOS, the Dock icon's menu already has Quit action.
|
||||||
trayIconMenu->addSeparator();
|
trayIconMenu->addSeparator();
|
||||||
trayIconMenu->addAction(quitAction);
|
quit_action = trayIconMenu->addAction(quitAction->text(), quitAction, &QAction::trigger);
|
||||||
|
|
||||||
trayIcon->setContextMenu(trayIconMenu.get());
|
trayIcon->setContextMenu(trayIconMenu.get());
|
||||||
connect(trayIcon, &QSystemTrayIcon::activated, [this](QSystemTrayIcon::ActivationReason reason) {
|
connect(trayIcon, &QSystemTrayIcon::activated, [this](QSystemTrayIcon::ActivationReason reason) {
|
||||||
@ -814,7 +818,7 @@ void BitcoinGUI::createTrayIconMenu()
|
|||||||
// Using QSystemTrayIcon::Context is not reliable.
|
// Using QSystemTrayIcon::Context is not reliable.
|
||||||
// See https://bugreports.qt.io/browse/QTBUG-91697
|
// See https://bugreports.qt.io/browse/QTBUG-91697
|
||||||
trayIconMenu.get(), &QMenu::aboutToShow,
|
trayIconMenu.get(), &QMenu::aboutToShow,
|
||||||
[this, show_hide_action, send_action, receive_action] {
|
[this, show_hide_action, send_action, receive_action, sign_action, verify_action] {
|
||||||
if (show_hide_action) show_hide_action->setText(
|
if (show_hide_action) show_hide_action->setText(
|
||||||
(!isHidden() && !isMinimized() && !GUIUtil::isObscured(this)) ?
|
(!isHidden() && !isMinimized() && !GUIUtil::isObscured(this)) ?
|
||||||
tr("&Hide") :
|
tr("&Hide") :
|
||||||
@ -822,6 +826,8 @@ void BitcoinGUI::createTrayIconMenu()
|
|||||||
if (enableWallet) {
|
if (enableWallet) {
|
||||||
send_action->setEnabled(sendCoinsAction->isEnabled());
|
send_action->setEnabled(sendCoinsAction->isEnabled());
|
||||||
receive_action->setEnabled(receiveCoinsAction->isEnabled());
|
receive_action->setEnabled(receiveCoinsAction->isEnabled());
|
||||||
|
sign_action->setEnabled(signMessageAction->isEnabled());
|
||||||
|
verify_action->setEnabled(verifyMessageAction->isEnabled());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user