Merge #14517: qt: Fix start with the `-min` option

93009618b6 Fix start with the `-min` option (Hennadii Stepanov)

Pull request description:

  From IRC:

  > 2018-10-17T12:36:38  \<Drakon\> The option to minimize to system tray instead of the taskbar ist available, but doesn't have an effect if it is started with the -min option. If I start it via that option, I have to click on the program symbil on the taskbar and then minimize it again in order to get it minimized to system tray.
  > 2018-10-17T12:37:28  \<Drakon\> That's annoying.
  > 2018-10-17T13:51:19  \<wumpus\> can you open an issue for that please? https://github.com/bitcoin/bitcoin/issues/new
  > 2018-10-17T13:53:24  \<wumpus\> (if there isn't one yet-)

  This PR fixes this bug.

Tree-SHA512: c5a5521287b49b13859edc7c6bd1cd07cac14b84740450181dce00bf2781fc3dfc84476794baa16b0e26a2d004164617afdb61f829e629569703c5bcc45e2a4e
pull/643/head
Wladimir J. van der Laan 6 years ago
commit 0ed279cb4e
No known key found for this signature in database
GPG Key ID: 1E4AED62986CD25D

@ -392,14 +392,13 @@ void BitcoinApplication::initializeResult(bool success)
} }
#endif #endif
// If -min option passed, start window minimized. // If -min option passed, start window minimized (iconified) or minimized to tray
if(gArgs.GetBoolArg("-min", false)) if (!gArgs.GetBoolArg("-min", false)) {
{
window->showMinimized();
}
else
{
window->show(); window->show();
} else if (clientModel->getOptionsModel()->getMinimizeToTray() && window->hasTrayIcon()) {
// do nothing as the window is managed by the tray icon
} else {
window->showMinimized();
} }
Q_EMIT splashFinished(); Q_EMIT splashFinished();
Q_EMIT windowShown(window); Q_EMIT windowShown(window);

@ -86,6 +86,11 @@ public:
#endif // ENABLE_WALLET #endif // ENABLE_WALLET
bool enableWallet = false; bool enableWallet = false;
/** Get the tray icon status.
Some systems have not "system tray" or "notification area" available.
*/
bool hasTrayIcon() const { return trayIcon; }
protected: protected:
void changeEvent(QEvent *e); void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);

Loading…
Cancel
Save