From 89f97a1c8d333790332ce98e75ea59e39897e611 Mon Sep 17 00:00:00 2001 From: Kel Modderman Date: Fri, 26 Sep 2008 15:42:12 +0300 Subject: [PATCH] Don't bother showing a status message when returning to the system tray, but still show a one time tray message to indicate to the user that the program is still running in the tray if they triggered the window manager close button. Signed-off-by: Kel Modderman --- wpa_supplicant/wpa_gui-qt4/wpagui.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp index dfec128d3..957173f90 100644 --- a/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +++ b/wpa_supplicant/wpa_gui-qt4/wpagui.cpp @@ -1156,6 +1156,7 @@ void WpaGui::trayActivated(QSystemTrayIcon::ActivationReason how) /* use close() here instead of hide() and allow the * custom closeEvent handler take care of children */ case QSystemTrayIcon::Trigger: + ackTrayIcon = true; if (isVisible()) close(); else @@ -1241,21 +1242,24 @@ void WpaGui::closeEvent(QCloseEvent *event) if (tray_icon && tray_icon->isVisible()) { /* give user a visual hint that the tray icon exists */ - if (QSystemTrayIcon::supportsMessages()) { + if (!ackTrayIcon && QSystemTrayIcon::supportsMessages()) { hide(); - QTimer::singleShot(1 * 1000, this, - SLOT(showTrayStatus())); + showTrayMessage(QSystemTrayIcon::Information, 3, + qAppName() + " will keep running in " + "the system tray."); } else if (!ackTrayIcon) { QMessageBox::information(this, qAppName() + " systray", "The program will keep " - "running in the system tray." - " To terminate the program, " - "choose Quit in the " - "context menu of the system " - "tray icon."); - ackTrayIcon = true; + "running in the system " + "tray."); hide(); } + + if (ackTrayIcon) + hide(); + else + ackTrayIcon = true; + event->ignore(); return; }