Improve system tray icon click behaviour. Thanks haakonn.

Fixes issue #335
Looks good, thanks!
This commit is contained in:
David Sansome 2010-05-22 12:43:33 +00:00
parent 0ef6a2dc88
commit d921b7e4e7
1 changed files with 11 additions and 2 deletions

View File

@ -611,12 +611,21 @@ void MainWindow::TrayClicked(QSystemTrayIcon::ActivationReason reason) {
switch (reason) {
case QSystemTrayIcon::DoubleClick:
case QSystemTrayIcon::Trigger:
if(isMinimized()) {
if (isActiveWindow()) {
hide();
setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
SetHiddenInTray(true);
} else if (settings_.value("hidden").toBool()) {
show();
SetHiddenInTray(false);
} else if (isMinimized()) {
hide();
setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
SetHiddenInTray(false);
} else {
SetHiddenInTray(isVisible());
// Window is not hidden but does not have focus; bring it to front.
activateWindow();
raise();
}
break;