aboutsummaryrefslogtreecommitdiff
path: root/src/qt
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2019-01-09 19:16:17 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2019-01-09 19:44:43 +0100
commit0ed279cb4e4198e20a552c279c09134626bbb0bd (patch)
tree0cf82096ab7051d32417f8255510220e8b59e1fa /src/qt
parentc7fab5571d1a28d9d9c92158bec4bad8ceb78cb9 (diff)
parent93009618b6d72b6bb253cabc4a5813d7aea18a67 (diff)
Merge #14517: qt: Fix start with the `-min` option
93009618b6d72b6bb253cabc4a5813d7aea18a67 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
Diffstat (limited to 'src/qt')
-rw-r--r--src/qt/bitcoin.cpp13
-rw-r--r--src/qt/bitcoingui.h5
2 files changed, 11 insertions, 7 deletions
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index cf1bc6450e..6e08dae3c4 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -392,14 +392,13 @@ void BitcoinApplication::initializeResult(bool success)
}
#endif
- // If -min option passed, start window minimized.
- if(gArgs.GetBoolArg("-min", false))
- {
- window->showMinimized();
- }
- else
- {
+ // If -min option passed, start window minimized (iconified) or minimized to tray
+ if (!gArgs.GetBoolArg("-min", false)) {
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 windowShown(window);
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index e6c62d43bd..9ca9e4c926 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -86,6 +86,11 @@ public:
#endif // ENABLE_WALLET
bool enableWallet = false;
+ /** Get the tray icon status.
+ Some systems have not "system tray" or "notification area" available.
+ */
+ bool hasTrayIcon() const { return trayIcon; }
+
protected:
void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event);