diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 546a39f43..e15bc6690 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -439,28 +439,6 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) } #endif -void BitcoinGUI::toggleHidden() -{ - // activateWindow() (sometimes) helps with keyboard focus on Windows - if (isHidden()) - { - show(); - activateWindow(); - } - else if (isMinimized()) - { - showNormal(); - activateWindow(); - } - else if (GUIUtil::isObscured(this)) - { - raise(); - activateWindow(); - } - else - hide(); -} - void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) @@ -782,9 +760,6 @@ void BitcoinGUI::handleURI(QString strURI) gotoSendCoinsPage(); sendCoinsPage->handleURI(strURI); - if(!isActiveWindow()) - activateWindow(); - showNormalIfMinimized(); } @@ -867,10 +842,29 @@ void BitcoinGUI::unlockWallet() } } -void BitcoinGUI::showNormalIfMinimized() +void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden) { - if(!isVisible()) // Show, if hidden + // activateWindow() (sometimes) helps with keyboard focus on Windows + if (isHidden()) + { show(); - if(isMinimized()) // Unminimize, if minimized + activateWindow(); + } + else if (isMinimized()) + { showNormal(); + activateWindow(); + } + else if (GUIUtil::isObscured(this)) + { + raise(); + activateWindow(); + } + else if(fToggleHidden) + hide(); +} + +void BitcoinGUI::toggleHidden() +{ + showNormalIfMinimized(true); } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 8a7f6e541..3c82cbc96 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -169,9 +169,9 @@ private slots: /** Ask for pass phrase to unlock wallet temporarily */ void unlockWallet(); - /** Show window if hidden, unminimize when minimized */ - void showNormalIfMinimized(); - /** Hide window if visible, show if hidden */ + /** Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHidden is true */ + void showNormalIfMinimized(bool fToggleHidden = false); + /** simply calls showNormalIfMinimized(true) for use in SLOT() macro */ void toggleHidden(); };