@@ -354,28 +354,26 @@ void BitcoinGUI::stopConnectingAnimation()
354354
355355void BitcoinGUI::createActions ()
356356{
357- sendCoinsMenuAction = new QAction (tr (" &Send" ), this );
358- sendCoinsMenuAction->setStatusTip (tr (" Send coins to a Dash address" ));
359- sendCoinsMenuAction->setToolTip (sendCoinsMenuAction->statusTip ());
360-
357+ sendCoinsAction = new QAction (tr (" &Send" ), this );
358+ sendCoinsAction->setStatusTip (tr (" Send coins to a Dash address" ));
361359 QString strCoinJoinName = QString::fromStdString (gCoinJoinName );
362- coinJoinCoinsMenuAction = new QAction (QString (" &%1" ).arg (strCoinJoinName), this );
363- coinJoinCoinsMenuAction ->setStatusTip (tr (" Send %1 funds to a Dash address" ).arg (strCoinJoinName));
364- coinJoinCoinsMenuAction ->setToolTip (coinJoinCoinsMenuAction ->statusTip ());
360+ coinJoinCoinsAction = new QAction (QString (" &%1" ).arg (strCoinJoinName), this );
361+ coinJoinCoinsAction ->setStatusTip (tr (" Send %1 funds to a Dash address" ).arg (strCoinJoinName));
362+ coinJoinCoinsAction ->setToolTip (coinJoinCoinsAction ->statusTip ());
365363
366- receiveCoinsMenuAction = new QAction (tr (" &Receive" ), this );
367- receiveCoinsMenuAction ->setStatusTip (tr (" Request payments (generates QR codes and dash: URIs)" ));
368- receiveCoinsMenuAction ->setToolTip (receiveCoinsMenuAction ->statusTip ());
364+ receiveCoinsAction = new QAction (tr (" &Receive" ), this );
365+ receiveCoinsAction ->setStatusTip (tr (" Request payments (generates QR codes and dash: URIs)" ));
366+ receiveCoinsAction ->setToolTip (receiveCoinsAction ->statusTip ());
369367
370368#ifdef ENABLE_WALLET
371369 // These showNormalIfMinimized are needed because Send Coins and Receive Coins
372370 // can be triggered from the tray menu, and need to show the GUI to be useful.
373- connect (sendCoinsMenuAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
374- connect (coinJoinCoinsMenuAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
375- connect (receiveCoinsMenuAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
376- connect (sendCoinsMenuAction , &QAction::triggered, [this ]{ gotoSendCoinsPage (); });
377- connect (coinJoinCoinsMenuAction , &QAction::triggered, [this ]{ gotoCoinJoinCoinsPage (); });
378- connect (receiveCoinsMenuAction , &QAction::triggered, this , &BitcoinGUI::gotoReceiveCoinsPage);
371+ connect (sendCoinsAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
372+ connect (sendCoinsAction , &QAction::triggered, [this ]{ gotoSendCoinsPage (); });
373+ connect (coinJoinCoinsAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
374+ connect (coinJoinCoinsAction , &QAction::triggered, [this ]{ gotoCoinJoinCoinsPage (); });
375+ connect (receiveCoinsAction , &QAction::triggered, [this ]{ showNormalIfMinimized (); });
376+ connect (receiveCoinsAction , &QAction::triggered, this , &BitcoinGUI::gotoReceiveCoinsPage);
379377#endif
380378
381379 quitAction = new QAction (tr (" E&xit" ), this );
@@ -681,13 +679,13 @@ void BitcoinGUI::createToolBars()
681679 tabGroup->addButton (overviewButton);
682680
683681 sendCoinsButton = new QToolButton (this );
684- sendCoinsButton->setText (sendCoinsMenuAction ->text ());
685- sendCoinsButton->setStatusTip (sendCoinsMenuAction ->statusTip ());
682+ sendCoinsButton->setText (sendCoinsAction ->text ());
683+ sendCoinsButton->setStatusTip (sendCoinsAction ->statusTip ());
686684 tabGroup->addButton (sendCoinsButton);
687685
688686 receiveCoinsButton = new QToolButton (this );
689- receiveCoinsButton->setText (receiveCoinsMenuAction ->text ());
690- receiveCoinsButton->setStatusTip (receiveCoinsMenuAction ->statusTip ());
687+ receiveCoinsButton->setText (receiveCoinsAction ->text ());
688+ receiveCoinsButton->setStatusTip (receiveCoinsAction ->statusTip ());
691689 tabGroup->addButton (receiveCoinsButton);
692690
693691 historyButton = new QToolButton (this );
@@ -696,8 +694,8 @@ void BitcoinGUI::createToolBars()
696694 tabGroup->addButton (historyButton);
697695
698696 coinJoinCoinsButton = new QToolButton (this );
699- coinJoinCoinsButton->setText (coinJoinCoinsMenuAction ->text ());
700- coinJoinCoinsButton->setStatusTip (coinJoinCoinsMenuAction ->statusTip ());
697+ coinJoinCoinsButton->setText (coinJoinCoinsAction ->text ());
698+ coinJoinCoinsButton->setStatusTip (coinJoinCoinsAction ->statusTip ());
701699 tabGroup->addButton (coinJoinCoinsButton);
702700
703701 QSettings settings;
@@ -999,13 +997,13 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled)
999997 }
1000998#endif // ENABLE_WALLET
1001999
1002- sendCoinsMenuAction ->setEnabled (enabled);
1000+ sendCoinsAction ->setEnabled (enabled);
10031001#ifdef ENABLE_WALLET
1004- coinJoinCoinsMenuAction ->setEnabled (enabled && clientModel->coinJoinOptions ().isEnabled ());
1002+ coinJoinCoinsAction ->setEnabled (enabled && clientModel->coinJoinOptions ().isEnabled ());
10051003#else
1006- coinJoinCoinsMenuAction ->setEnabled (enabled);
1004+ coinJoinCoinsAction ->setEnabled (enabled);
10071005#endif // ENABLE_WALLET
1008- receiveCoinsMenuAction ->setEnabled (enabled);
1006+ receiveCoinsAction ->setEnabled (enabled);
10091007
10101008 encryptWalletAction->setEnabled (enabled);
10111009 backupWalletAction->setEnabled (enabled);
@@ -1042,10 +1040,13 @@ void BitcoinGUI::createIconMenu(QMenu *pmenu)
10421040 pmenu->addSeparator ();
10431041#endif // Q_OS_MAC
10441042
1043+ QAction* send_action{nullptr };
1044+ QAction* cj_send_action{nullptr };
1045+ QAction* receive_action{nullptr };
10451046 if (enableWallet) {
1046- pmenu->addAction (sendCoinsMenuAction );
1047- pmenu->addAction (coinJoinCoinsMenuAction );
1048- pmenu->addAction (receiveCoinsMenuAction );
1047+ send_action = pmenu->addAction (sendCoinsAction-> text (), sendCoinsAction, &QAction::trigger );
1048+ cj_send_action = pmenu->addAction (coinJoinCoinsAction-> text (), coinJoinCoinsAction, &QAction::trigger );
1049+ receive_action = pmenu->addAction (receiveCoinsAction-> text (), receiveCoinsAction, &QAction::trigger );
10491050 pmenu->addSeparator ();
10501051 pmenu->addAction (signMessageAction);
10511052 pmenu->addAction (verifyMessageAction);
@@ -1074,11 +1075,16 @@ void BitcoinGUI::createIconMenu(QMenu *pmenu)
10741075 // Using QSystemTrayIcon::Context is not reliable.
10751076 // See https://bugreports.qt.io/browse/QTBUG-91697
10761077 pmenu, &QMenu::aboutToShow,
1077- [this , show_hide_action] {
1078+ [this , show_hide_action, send_action, cj_send_action, receive_action ] {
10781079 if (show_hide_action) show_hide_action->setText (
10791080 (!isHidden () && !isMinimized () && !GUIUtil::isObscured (this )) ?
10801081 tr (" &Hide" ) :
10811082 tr (" S&how" ));
1083+ if (enableWallet) {
1084+ send_action->setEnabled (sendCoinsAction->isEnabled ());
1085+ cj_send_action->setEnabled (coinJoinCoinsAction->isEnabled ());
1086+ receive_action->setEnabled (receiveCoinsAction->isEnabled ());
1087+ }
10821088 });
10831089}
10841090
@@ -1390,7 +1396,7 @@ void BitcoinGUI::updateCoinJoinVisibility()
13901396 coinJoinCoinsButton->setVisible (fEnabled );
13911397 GUIUtil::updateButtonGroupShortcuts (tabGroup);
13921398 }
1393- coinJoinCoinsMenuAction ->setVisible (fEnabled );
1399+ coinJoinCoinsAction ->setVisible (fEnabled );
13941400 showCoinJoinHelpAction->setVisible (fEnabled );
13951401 updateWidth ();
13961402}
0 commit comments