diff -rupN wpa_supplicant/wpa_gui-qt4/wpagui.cpp wpa_supplicant-new/wpa_gui-qt4/wpagui.cpp --- wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2013-09-03 05:43:12.000000000 -0400 +++ wpa_supplicant-new/wpa_gui-qt4/wpagui.cpp 2013-09-08 22:41:59.000000000 -0400 @@ -121,7 +121,7 @@ WpaGui::WpaGui(QApplication *_app, QWidg connect(wpsApPinEdit, SIGNAL(textChanged(const QString &)), this, SLOT(wpsApPinChanged(const QString &))); connect(wpsApPinButton, SIGNAL(clicked()), this, SLOT(wpsApPin())); - + connect(anyNetwork, SIGNAL(stateChanged(int)), this, SLOT(selectAnyNetwork())); eh = NULL; scanres = NULL; peers = NULL; @@ -601,7 +601,8 @@ void WpaGui::updateNetworks() int first_active = -1; int was_selected = -1; bool current = false; - + bool anydisabled = false; + if (!networkMayHaveChanged) return; @@ -649,7 +650,7 @@ void WpaGui::updateNetworks() break; *flags++ = '\0'; - if (strstr(flags, "[DISABLED][P2P-PERSISTENT]")) { + if (strstr(flags, "[DISABLED][P2P-PERSISTENT]")) { if (last) break; start = end + 1; @@ -669,14 +670,15 @@ void WpaGui::updateNetworks() } else if (first_active < 0 && strstr(flags, "[DISABLED]") == NULL) first_active = networkSelect->count() - 1; - + if (strstr(flags, "[DISABLED]")) + anydisabled=true; if (last) break; start = end + 1; } - if (networkSelect->count() > 1) - networkSelect->addItem(tr("Select any network")); + //if (networkSelect->count() > 1) + // networkSelect->addItem(tr("Select any network")); if (!current && first_active >= 0) networkSelect->setCurrentIndex(first_active); @@ -691,6 +693,11 @@ void WpaGui::updateNetworks() networkList->setCurrentRow(networkSelect->currentIndex()); networkMayHaveChanged = false; + if (anydisabled) { + anyNetwork->setChecked(false); + networkLabel->setEnabled(true); + networkSelect->setEnabled(true); + } } @@ -709,7 +716,7 @@ void WpaGui::helpContents() void WpaGui::helpAbout() { QMessageBox::about(this, "wpa_gui for wpa_supplicant", - "Copyright (c) 2003-2013,\n" + "Copyright (c) 2003-2012,\n" "Jouni Malinen \n" "and contributors.\n" "\n" @@ -1307,13 +1314,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 +1419,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) { @@ -1732,3 +1760,18 @@ void WpaGui::saveState() settings.endGroup(); } #endif + +void WpaGui::selectAnyNetwork() +{ + if (anyNetwork->isChecked()) { + selectNetwork("any"); + // save config + char buf[10]; + size_t len; + + len = sizeof(buf) - 1; + ctrlRequest("SAVE_CONFIG", buf, &len); + + buf[len] = '\0'; + } +} diff -rupN wpa_supplicant/wpa_gui-qt4/wpagui.h wpa_supplicant-new/wpa_gui-qt4/wpagui.h --- wpa_supplicant/wpa_gui-qt4/wpagui.h 2013-09-03 05:43:12.000000000 -0400 +++ wpa_supplicant-new/wpa_gui-qt4/wpagui.h 2013-09-08 20:33:01.000000000 -0400 @@ -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); @@ -77,6 +80,7 @@ public slots: virtual void wpsGeneratePin(); virtual void wpsApPinChanged(const QString &text); virtual void wpsApPin(); + virtual void selectAnyNetwork(); #ifdef CONFIG_NATIVE_WINDOWS virtual void startService(); virtual void stopService(); @@ -110,6 +114,8 @@ private: QAction *showAction; QAction *hideAction; QAction *quitAction; + QAction *restartAction; + QAction *netorkwizardAction; QMenu *tray_menu; QSystemTrayIcon *tray_icon; QString wpaStateTranslate(char *state); diff -rupN wpa_supplicant/wpa_gui-qt4/wpagui.ui wpa_supplicant-new/wpa_gui-qt4/wpagui.ui --- wpa_supplicant/wpa_gui-qt4/wpagui.ui 2013-09-03 05:43:12.000000000 -0400 +++ wpa_supplicant-new/wpa_gui-qt4/wpagui.ui 2013-09-08 19:36:08.000000000 -0400 @@ -1,156 +1,177 @@ - + + WpaGui - - + + 0 0 - 345 - 330 + 422 + 389 - + wpa_gui - - + + :/icons/wpa_gui.svg:/icons/wpa_gui.svg - - - - - + + + + + Adapter: - - + + - - - + + + + Select any Network + + + true + + + + + + + false + + Network: - - + + + + false + + + false + + - - - + + + 0 - - + + Current Status - - - - + + + + QFrame::NoFrame - + QFrame::Plain - - - - + + + + Status: - - - + + + Last message: - - - + + + Authentication: - - - + + + Encryption: - - - + + + SSID: - - - + + + BSSID: - - - + + + IP address: - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -158,12 +179,12 @@ - + - + Qt::Vertical - + 20 40 @@ -171,33 +192,33 @@ - - - + + + Connect - - - + + + Disconnect - - - + + + Scan - + - + Qt::Vertical - + 20 40 @@ -207,24 +228,24 @@ - - + + Manage Networks - - - - + + + + true - + - + Qt::Vertical - + 20 61 @@ -232,33 +253,33 @@ - - - + + + Enabled - - - + + + Edit - - - + + + Remove - + - + Qt::Vertical - + 20 61 @@ -266,106 +287,106 @@ - - - + + + Disabled - - - + + + Add - - - + + + Scan - - + + WPS - - - - + + + + Status: - - - + + + - - - + + + PBC - push button - - - + + + Generate PIN - - - + + + PIN: - - - + + + false - + true - - - + + + false - + Use AP PIN - - - + + + AP PIN: - - - + + + false - - - + + + true @@ -376,149 +397,181 @@ - - + + 0 0 - 345 - 24 + 422 + 20 - - + + &File - - - - - - + + + + + + - - + + &Network - - - - - - - + + + + + + + - - + + &Help - - - - + + + + - - - + + + - - + + Event &History - - + + &Save Configuration - + Ctrl+S - - + + E&xit - + Ctrl+Q - - + + &Add - - + + &Edit - - + + &Remove - - + + E&nable All - - + + &Disable All - - + + Re&move All - - + + false - + &Contents... - - + + false - + &Index... - - + + &About - - + + false - + &Wi-Fi Protected Setup - - + + &Peers - - + - qtimer.h - qsocketnotifier.h - wpamsg.h - eventhistory.h - scanresults.h - peers.h + qtimer.h + qsocketnotifier.h + wpamsg.h + eventhistory.h + scanresults.h + peers.h - + - + + + anyNetwork + clicked(bool) + networkLabel + setDisabled(bool) + + + 49 + 62 + + + 257 + 70 + + + + + anyNetwork + clicked(bool) + networkSelect + setDisabled(bool) + + + 34 + 62 + + + 369 + 58 + + + +