When the system tray icon is created, qApp's setQuitOnLastWindowClosed
property is set to false, therefore do _not_ ignore widget close events, or
else wpa_gui will refuse to exit when the window manager is logging out.
While at it, remove WpaGui::fileExit() and connect fileExitAction to
quit().
Signed-off-by: Kel Modderman <kel@otaku42.de>
SLOT(eventHistory()));
connect(fileSaveConfigAction, SIGNAL(triggered()), this,
SLOT(saveConfig()));
SLOT(eventHistory()));
connect(fileSaveConfigAction, SIGNAL(triggered()), this,
SLOT(saveConfig()));
- connect(fileExitAction, SIGNAL(triggered()), this, SLOT(fileExit()));
+ connect(fileExitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(networkAddAction, SIGNAL(triggered()), this,
SLOT(addNetwork()));
connect(networkEditAction, SIGNAL(triggered()), this,
connect(networkAddAction, SIGNAL(triggered()), this,
SLOT(addNetwork()));
connect(networkEditAction, SIGNAL(triggered()), this,
showTrayMessage(QSystemTrayIcon::Information, 10, msg);
}
showTrayMessage(QSystemTrayIcon::Information, 10, msg);
}
-void WpaGui::fileExit()
-{
- qApp->quit();
-}
-
void WpaGui::closeEvent(QCloseEvent *event)
{
void WpaGui::closeEvent(QCloseEvent *event)
{
- if (tray_icon && tray_icon->isVisible()) {
+ if (tray_icon && !ackTrayIcon) {
/* give user a visual hint that the tray icon exists */
/* give user a visual hint that the tray icon exists */
- if (!ackTrayIcon && QSystemTrayIcon::supportsMessages()) {
+ if (QSystemTrayIcon::supportsMessages()) {
hide();
showTrayMessage(QSystemTrayIcon::Information, 3,
qAppName() + " will keep running in "
"the system tray.");
hide();
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.");
QMessageBox::information(this, qAppName() + " systray",
"The program will keep "
"running in the system "
"tray.");
-
- if (ackTrayIcon)
- hide();
- else
- ackTrayIcon = true;
-
- event->ignore();
- return;
virtual void parse_argv();
virtual void updateStatus();
virtual void updateNetworks();
virtual void parse_argv();
virtual void updateStatus();
virtual void updateNetworks();
- virtual void fileExit();
virtual void helpIndex();
virtual void helpContents();
virtual void helpAbout();
virtual void helpIndex();
virtual void helpContents();
virtual void helpAbout();