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 <kel@otaku42.de>
This commit is contained in:
parent
d70028d337
commit
89f97a1c8d
1 changed files with 13 additions and 9 deletions
|
@ -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 <b>Quit</b> 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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue