wpa_gui-qt4: clean up closeEvent handler
authorKel Modderman <kel@otaku42.de>
Wed, 1 Oct 2008 06:44:58 +0000 (09:44 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 1 Oct 2008 06:44:58 +0000 (09:44 +0300)
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>
wpa_supplicant/wpa_gui-qt4/wpagui.cpp
wpa_supplicant/wpa_gui-qt4/wpagui.h

index 957173f..8715267 100644 (file)
@@ -37,7 +37,7 @@ WpaGui::WpaGui(QWidget *parent, const char *, Qt::WFlags)
                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,
@@ -1214,11 +1214,6 @@ void WpaGui::showTrayStatus()
                showTrayMessage(QSystemTrayIcon::Information, 10, msg);
 }
 
-void WpaGui::fileExit()
-{
-       qApp->quit();
-}
-
 
 void WpaGui::closeEvent(QCloseEvent *event)
 {
@@ -1240,29 +1235,21 @@ void WpaGui::closeEvent(QCloseEvent *event)
                udr = NULL;
        }
 
-       if (tray_icon && tray_icon->isVisible()) {
+       if (tray_icon && !ackTrayIcon) {
                /* 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.");
-               } else if (!ackTrayIcon) {
+               } else {
                        QMessageBox::information(this, qAppName() + " systray",
                                                 "The program will keep "
                                                 "running in the system "
                                                 "tray.");
-                       hide();
                }
-
-               if (ackTrayIcon)
-                       hide();
-               else
-                       ackTrayIcon = true;
-
-               event->ignore();
-               return;
+               ackTrayIcon = true;
        }
 
-       qApp->quit();
+       event->accept();
 }
index e4b8c53..3aead1e 100644 (file)
@@ -43,7 +43,6 @@ public slots:
        virtual void parse_argv();
        virtual void updateStatus();
        virtual void updateNetworks();
-       virtual void fileExit();
        virtual void helpIndex();
        virtual void helpContents();
        virtual void helpAbout();