-rw-r--r-- | noncore/settings/networksettings/wlan/wlan.ui | 167 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanimp.cpp | 43 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanimp.h | 3 |
3 files changed, 102 insertions, 111 deletions
diff --git a/noncore/settings/networksettings/wlan/wlan.ui b/noncore/settings/networksettings/wlan/wlan.ui index 47d6db6..09593b3 100644 --- a/noncore/settings/networksettings/wlan/wlan.ui +++ b/noncore/settings/networksettings/wlan/wlan.ui @@ -11,8 +11,8 @@ <rect> <x>0</x> <y>0</y> - <width>237</width> - <height>286</height> + <width>239</width> + <height>277</height> </rect> </property> <property stdset="1"> @@ -65,72 +65,29 @@ <number>6</number> </property> <widget> - <class>QButtonGroup</class> - <property stdset="1"> - <name>name</name> - <cstring>ButtonGroup45</cstring> - </property> - <property stdset="1"> - <name>title</name> - <string>ESS ID</string> - </property> - <vbox> - <property stdset="1"> - <name>margin</name> - <number>11</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QRadioButton</class> - <property stdset="1"> - <name>name</name> - <cstring>essNon</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>Non-Spec ESSID: "ANY"</string> - </property> - <property stdset="1"> - <name>checked</name> - <bool>true</bool> - </property> - </widget> - <widget> - <class>QRadioButton</class> + <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>essSpecific</cstring> + <cstring>essAny</cstring> </property> <property stdset="1"> <name>text</name> - <string>Specific ESSID</string> + <string>Sepecify Access Point</string> </property> </widget> <widget> - <class>QLineEdit</class> + <class>QGroupBox</class> <property stdset="1"> <name>name</name> - <cstring>essSpecificLineEdit</cstring> + <cstring>GroupBox1</cstring> </property> <property stdset="1"> <name>enabled</name> <bool>false</bool> </property> - </widget> - </vbox> - </widget> - <widget> - <class>QButtonGroup</class> - <property stdset="1"> - <name>name</name> - <cstring>ButtonGroup46</cstring> - </property> <property stdset="1"> <name>title</name> - <string>Network Type</string> + <string>Settings</string> </property> <grid> <property stdset="1"> @@ -141,45 +98,63 @@ <name>spacing</name> <number>6</number> </property> - <widget row="0" column="0" rowspan="1" colspan="3" > - <class>QRadioButton</class> + <widget row="0" column="0" > + <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>networkInfrastructure</cstring> + <cstring>TextLabel1</cstring> </property> <property stdset="1"> <name>text</name> - <string>Infrastructure</string> - </property> - <property stdset="1"> - <name>checked</name> - <bool>true</bool> + <string>ESS-ID</string> </property> </widget> - <widget row="2" column="0" > + <widget row="1" column="0" > <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>TextLabel2</cstring> + <cstring>TextLabel2_2</cstring> </property> <property stdset="1"> - <name>enabled</name> - <bool>false</bool> + <name>text</name> + <string>Network Type</string> </property> + </widget> + <widget row="0" column="1" rowspan="1" colspan="2" > + <class>QLineEdit</class> <property stdset="1"> + <name>name</name> + <cstring>essSpecificLineEdit</cstring> + </property> + </widget> + <widget row="1" column="1" rowspan="1" colspan="2" > + <class>QComboBox</class> + <item> + <property> <name>text</name> - <string>Channel</string> + <string>Infrastructure</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Ad-Hoc</string> + </property> + </item> + <property stdset="1"> + <name>name</name> + <cstring>networkType</cstring> </property> </widget> - <widget row="1" column="0" rowspan="1" colspan="2" > - <class>QRadioButton</class> + <widget row="2" column="0" > + <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>network802</cstring> + <cstring>channelLabel</cstring> </property> <property stdset="1"> <name>text</name> - <string>Ad-Hoc</string> + <string>Channel</string> </property> </widget> <widget row="2" column="1" > @@ -194,7 +169,7 @@ </property> <property stdset="1"> <name>maxValue</name> - <number>11</number> + <number>15</number> </property> <property stdset="1"> <name>minValue</name> @@ -208,7 +183,7 @@ <spacer row="2" column="2" > <property> <name>name</name> - <cstring>Spacer32</cstring> + <cstring>Spacer4</cstring> </property> <property stdset="1"> <name>orientation</name> @@ -336,7 +311,7 @@ <class>QButtonGroup</class> <property stdset="1"> <name>name</name> - <cstring>ButtonGroup44</cstring> + <cstring>KeyButtonGroup</cstring> </property> <property stdset="1"> <name>enabled</name> @@ -361,6 +336,10 @@ <name>name</name> <cstring>keyLineEdit0</cstring> </property> + <property stdset="1"> + <name>echoMode</name> + <enum>Password</enum> + </property> </widget> <widget row="1" column="1" > <class>QLineEdit</class> @@ -368,6 +347,10 @@ <name>name</name> <cstring>keyLineEdit1</cstring> </property> + <property stdset="1"> + <name>echoMode</name> + <enum>Password</enum> + </property> </widget> <widget row="2" column="1" > <class>QLineEdit</class> @@ -375,6 +358,10 @@ <name>name</name> <cstring>keyLineEdit2</cstring> </property> + <property stdset="1"> + <name>echoMode</name> + <enum>Password</enum> + </property> </widget> <widget row="3" column="1" > <class>QLineEdit</class> @@ -382,6 +369,10 @@ <name>name</name> <cstring>keyLineEdit3</cstring> </property> + <property stdset="1"> + <name>echoMode</name> + <enum>Password</enum> + </property> </widget> <widget row="0" column="0" > <class>QRadioButton</class> @@ -461,49 +452,29 @@ </widget> <connections> <connection> - <sender>essSpecific</sender> - <signal>toggled(bool)</signal> - <receiver>essSpecificLineEdit</receiver> - <slot>setEnabled(bool)</slot> - </connection> - <connection> - <sender>network802</sender> - <signal>clicked()</signal> - <receiver>essSpecific</receiver> - <slot>animateClick()</slot> - </connection> - <connection> - <sender>network802</sender> - <signal>toggled(bool)</signal> - <receiver>TextLabel2</receiver> - <slot>setEnabled(bool)</slot> - </connection> - <connection> - <sender>network802</sender> + <sender>wepEnabled</sender> <signal>toggled(bool)</signal> - <receiver>networkChannel</receiver> + <receiver>ButtonGroup43</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> <sender>wepEnabled</sender> <signal>toggled(bool)</signal> - <receiver>ButtonGroup43</receiver> + <receiver>KeyButtonGroup</receiver> <slot>setEnabled(bool)</slot> </connection> <connection> - <sender>wepEnabled</sender> + <sender>essAny</sender> <signal>toggled(bool)</signal> - <receiver>ButtonGroup44</receiver> + <receiver>GroupBox1</receiver> <slot>setEnabled(bool)</slot> </connection> </connections> <tabstops> <tabstop>tabWidget</tabstop> - <tabstop>essNon</tabstop> - <tabstop>essSpecific</tabstop> + <tabstop>essAny</tabstop> <tabstop>essSpecificLineEdit</tabstop> - <tabstop>networkInfrastructure</tabstop> - <tabstop>network802</tabstop> + <tabstop>networkType</tabstop> <tabstop>networkChannel</tabstop> <tabstop>wepEnabled</tabstop> <tabstop>authOpen</tabstop> diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp index 6a56358..ef7329e 100644 --- a/noncore/settings/networksettings/wlan/wlanimp.cpp +++ b/noncore/settings/networksettings/wlan/wlanimp.cpp @@ -6,10 +6,12 @@ #include <qtextstream.h> #include <qmessagebox.h> #include <qlineedit.h> +#include <qlabel.h> #include <qspinbox.h> #include <qradiobutton.h> #include <qcheckbox.h> #include <qtabwidget.h> +#include <qcombobox.h> /* system() */ #include <stdlib.h> @@ -39,6 +41,13 @@ WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, W } else qDebug(QString("WLANImp: Can't open file: %1 for reading.").arg(wlanFile).latin1()); + connect(networkType, SIGNAL(activated(int)), this, SLOT(typeChanged(int))); + +} + +void WLANImp::typeChanged(int mod){ + networkChannel->setEnabled(mod); + channelLabel->setEnabled(mod); } /** @@ -71,23 +80,19 @@ void WLANImp::parseSettingFile(){ if(line.contains("ESSID=")){ QString id = line.mid(line.find("ESSID=")+6, line.length()); if(id == "any"){ - essNon->setChecked(true); - essSpecific->setChecked(false); + essAny->setChecked(false); }else{ - essSpecific->setChecked(true); + essAny->setChecked(true); essSpecificLineEdit->setText(id); - essNon->setChecked(false); } } if(line.contains("MODE=")){ QString mode = line.mid(line.find("MODE=")+5, line.length()); if(mode == "Managed"){ - network802->setChecked( false ); - networkInfrastructure->setChecked( true ); + networkType->setCurrentItem(0); } else{ - network802->setChecked( true ); - networkInfrastructure->setChecked( false ); + networkType->setCurrentItem(0); } } if(line.contains("KEY0=")) @@ -154,9 +159,16 @@ void WLANImp::changeAndSaveSettingFile(){ if(!line.contains("esac")) stream << line << "\n"; - - stream << "\tESSID=" << (essNon->isChecked() == true ? QString("any") : essSpecificLineEdit->text()) << '\n'; - stream << "\tMODE=" << (networkInfrastructure->isChecked() == true ? "Managed" : "ad-hoc") << '\n'; + if(!essAny->isChecked() == true){ + stream << "\tESSID=any\n"; + stream << "\tMODE=Managed\n"; + stream << "\tCHANNEL=6\n"; + } + else{ + stream << "\tESSID=" << essSpecificLineEdit->text() << '\n'; + stream << "\tMODE=" << ( networkType->currentItem() == 0 ? "Managed" : "ad-hoc") << '\n'; + stream << "\tCHANNEL=" << networkChannel->value() << "\n"; + } stream << "\tKEY0=" << keyLineEdit0->text() << "\n"; stream << "\tKEY1=" << keyLineEdit1->text() << "\n"; @@ -175,7 +187,6 @@ void WLANImp::changeAndSaveSettingFile(){ stream << " restricted"; stream << "\"\n"; } - stream << "\tCHANNEL=" << networkChannel->value() << "\n"; stream << "\tRATE=auto\n"; if(line.contains("esac")) stream << line << "\n"; @@ -196,11 +207,16 @@ void WLANImp::accept(){ if(wepEnabled->isChecked()){ if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) { - QMessageBox::information(this, "", "Please enter a key for WEP.", QMessageBox::Ok); + QMessageBox::information(this, "Error", "Please enter a key for WEP.", QMessageBox::Ok); return; } } + if(essSpecificLineEdit->text().isEmpty()){ + QMessageBox::information(this, "Error", "Please enter a ESS-ID.", QMessageBox::Ok); + return; + } + // Ok settings are good here, save changeAndSaveSettingFile(); @@ -208,6 +224,7 @@ void WLANImp::accept(){ if(!interfaceSetup->saveChanges()) return; + return; // Restart the device now that the settings have changed QString initpath; if( QDir("/etc/rc.d/init.d").exists() ) diff --git a/noncore/settings/networksettings/wlan/wlanimp.h b/noncore/settings/networksettings/wlan/wlanimp.h index df599af..310836c 100644 --- a/noncore/settings/networksettings/wlan/wlanimp.h +++ b/noncore/settings/networksettings/wlan/wlanimp.h @@ -18,6 +18,9 @@ public: protected: void accept(); +private slots: + void typeChanged(int); + private: void parseSettingFile(); void changeAndSaveSettingFile(); |