diff -rupN wpa_supplicant-2.0/wpa_supplicant/wpa_gui-qt4/wpagui.cpp wpa_supplicant-2.0p/wpa_supplicant/wpa_gui-qt4/wpagui.cpp --- wpa_supplicant-2.0/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2013-01-12 15:42:53.000000000 +0000 +++ wpa_supplicant-2.0p/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2013-01-18 23:06:10.000000000 +0000 @@ -1307,13 +1307,19 @@ void WpaGui::createTrayIcon(bool trayOnl showAction = new QAction(tr("&Show Window"), this); hideAction = new QAction(tr("&Hide Window"), this); - quitAction = new QAction(tr("&Quit"), this); + quitAction = new QAction(tr("&Quit Wireless"), this); + restartAction = new QAction(tr("&Restart Connection"), this); + netorkwizardAction = new QAction(tr("&Network Wizard"), this); connect(showAction, SIGNAL(triggered()), this, SLOT(show())); connect(hideAction, SIGNAL(triggered()), this, SLOT(hide())); - connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); + connect(restartAction, SIGNAL(triggered()), this, SLOT(restartconnection())); + connect(netorkwizardAction, SIGNAL(triggered()), this, SLOT(netorkwizard())); + connect(quitAction, SIGNAL(triggered()), this, SLOT(quitall())); tray_menu->addAction(showAction); tray_menu->addAction(hideAction); tray_menu->addSeparator(); + tray_menu->addAction(restartAction); + tray_menu->addAction(netorkwizardAction); tray_menu->addAction(quitAction); tray_icon->setContextMenu(tray_menu); @@ -1406,6 +1412,21 @@ void WpaGui::showTrayStatus() showTrayMessage(QSystemTrayIcon::Information, 10, msg); } + void WpaGui::restartconnection() + { + system("/etc/init.d/50-Wpagui restart"); + } + + void WpaGui::quitall() + { + system("/etc/init.d/50-Wpagui stop"); + } + + void WpaGui::netorkwizard() + { + system("/etc/init.d/50-Wpagui stop"); + system("/usr/sbin/net-setup.sh"); + } void WpaGui::closeEvent(QCloseEvent *event) { diff -rupN wpa_supplicant-2.0/wpa_supplicant/wpa_gui-qt4/wpagui.h wpa_supplicant-2.0p/wpa_supplicant/wpa_gui-qt4/wpagui.h --- wpa_supplicant-2.0/wpa_supplicant/wpa_gui-qt4/wpagui.h 2013-01-12 15:42:53.000000000 +0000 +++ wpa_supplicant-2.0p/wpa_supplicant/wpa_gui-qt4/wpagui.h 2013-01-18 23:09:07.000000000 +0000 @@ -70,6 +70,9 @@ public slots: virtual void showTrayMessage(QSystemTrayIcon::MessageIcon type, int sec, const QString &msg); virtual void showTrayStatus(); + virtual void restartconnection(); + virtual void netorkwizard(); + virtual void quitall(); virtual void wpsDialog(); virtual void peersDialog(); virtual void tabChanged(int index); @@ -110,6 +113,8 @@ private: QAction *showAction; QAction *hideAction; QAction *quitAction; + QAction *restartAction; + QAction *netorkwizardAction; QMenu *tray_menu; QSystemTrayIcon *tray_icon; QString wpaStateTranslate(char *state);