summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/TODO6
-rw-r--r--noncore/net/networksetup/interface.cpp4
-rw-r--r--noncore/net/networksetup/mainwindowimp.cpp2
-rw-r--r--noncore/net/networksetup/wlan/wextensions.cpp2
-rw-r--r--noncore/net/networksetup/wlan/wlanimp.cpp2
-rw-r--r--noncore/net/networksetup/wlan/wlanmodule.cpp20
-rw-r--r--noncore/settings/networksettings/TODO6
-rw-r--r--noncore/settings/networksettings/interface.cpp4
-rw-r--r--noncore/settings/networksettings/mainwindowimp.cpp2
-rw-r--r--noncore/settings/networksettings/wlan/wextensions.cpp2
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp.cpp2
-rw-r--r--noncore/settings/networksettings/wlan/wlanmodule.cpp20
12 files changed, 36 insertions, 36 deletions
diff --git a/noncore/net/networksetup/TODO b/noncore/net/networksetup/TODO
index 7a71142..d61c510 100644
--- a/noncore/net/networksetup/TODO
+++ b/noncore/net/networksetup/TODO
@@ -1,11 +1,9 @@
1WLAN needs to be re-written to not use Config 1WLAN needs to be re-written to not use Config
2-remove WLAN Config item 2WHERE Is DHCP info stored???
3-sub class out the wlan info
4-check if an interface supports wireless extensions before config.
5 3
6PPP module needs to be written 4PPP module needs to be written
7 5
8Write a class that parses /proc and not ifconfig 6Write a class that parses /proc and not ifconfig
9 7
10Possible other modules: ipsec, bluetooth 8Possible other modules: ipsec, bluetooth, ipchains
11 9
diff --git a/noncore/net/networksetup/interface.cpp b/noncore/net/networksetup/interface.cpp
index a84b91f..929b3a1 100644
--- a/noncore/net/networksetup/interface.cpp
+++ b/noncore/net/networksetup/interface.cpp
@@ -1,33 +1,33 @@
1#include "interface.h" 1#include "interface.h"
2#include <qdatetime.h> 2#include <qdatetime.h>
3#include <qfile.h> 3#include <qfile.h>
4#include <qdir.h> 4#include <qdir.h>
5#include <qfileinfo.h> 5#include <qfileinfo.h>
6#include <qtextstream.h> 6#include <qtextstream.h>
7 7
8#define IFCONFIG "/sbin/ifconfig" 8#define IFCONFIG "/sbin/ifconfig"
9#define HDCP_INFO_DIR "/etc/dhcpc" 9#define DHCP_INFO_DIR "/etc/dhcpc"
10 10
11#include <stdio.h> 11#include <stdio.h>
12#include <stdlib.h> 12#include <stdlib.h>
13 13
14Interface::Interface(QObject * parent, const char * name, bool newSatus): QObject(parent, name), status(newSatus), attached(false), hardwareName("Unknown"), moduleOwner(NULL), macAddress(""), ip("0.0.0.0"), broadcast(""), subnetMask("0.0.0.0"), dhcp(false){ 14Interface::Interface(QObject * parent, const char * name, bool newSatus): QObject(parent, name), status(newSatus), attached(false), hardwareName("Unknown"), moduleOwner(NULL), macAddress(""), ip("0.0.0.0"), broadcast(""), subnetMask("0.0.0.0"), dhcp(false){
15 refresh(); 15 refresh();
16} 16}
17 17
18/** 18/**
19 * Set status 19 * Set status
20 * @param newStatus - the new status 20 * @param newStatus - the new status
21 * emit updateInterface 21 * emit updateInterface
22 */ 22 */
23void Interface::setStatus(bool newStatus){ 23void Interface::setStatus(bool newStatus){
24 if(status != newStatus){ 24 if(status != newStatus){
25 status = newStatus; 25 status = newStatus;
26 refresh(); 26 refresh();
27 } 27 }
28}; 28};
29 29
30/** 30/**
31 * Set if attached or not (802.11 card pulled out for example) 31 * Set if attached or not (802.11 card pulled out for example)
32 * @param isAttached - if attached 32 * @param isAttached - if attached
33 * emit updateInterface 33 * emit updateInterface
@@ -150,49 +150,49 @@ bool Interface::refresh(){
150 int ipl = line.find("inet addr"); 150 int ipl = line.find("inet addr");
151 int space = line.find(" ", ipl+10); 151 int space = line.find(" ", ipl+10);
152 ip = line.mid(ipl+10, space-ipl-10); 152 ip = line.mid(ipl+10, space-ipl-10);
153 } 153 }
154 if(line.contains("Mask")){ 154 if(line.contains("Mask")){
155 int mask = line.find("Mask"); 155 int mask = line.find("Mask");
156 subnetMask = line.mid(mask+5, line.length()); 156 subnetMask = line.mid(mask+5, line.length());
157 } 157 }
158 if(line.contains("Bcast")){ 158 if(line.contains("Bcast")){
159 int mask = line.find("Bcast"); 159 int mask = line.find("Bcast");
160 int space = line.find(" ", mask+6); 160 int space = line.find(" ", mask+6);
161 broadcast = line.mid(mask+6, space-mask-6); 161 broadcast = line.mid(mask+6, space-mask-6);
162 } 162 }
163 } 163 }
164 file.close(); 164 file.close();
165 QFile::remove(fileName); 165 QFile::remove(fileName);
166 166
167 // DHCP TESTING 167 // DHCP TESTING
168 // reset DHCP info 168 // reset DHCP info
169 dhcpServerIp = ""; 169 dhcpServerIp = "";
170 leaseObtained = ""; 170 leaseObtained = "";
171 leaseExpires = ""; 171 leaseExpires = "";
172 dhcp = false; 172 dhcp = false;
173 173
174 QString dhcpDirectory(HDCP_INFO_DIR); 174 QString dhcpDirectory(DHCP_INFO_DIR);
175 QDir d(dhcpDirectory); 175 QDir d(dhcpDirectory);
176 if(!d.exists(dhcpDirectory)) 176 if(!d.exists(dhcpDirectory))
177 dhcpDirectory = "/var/run"; 177 dhcpDirectory = "/var/run";
178 178
179 // See if we have 179 // See if we have
180 QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name())); 180 QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name()));
181 // If there is no DHCP information then exit now with no errors. 181 // If there is no DHCP information then exit now with no errors.
182 if(!QFile::exists(dhcpFile)){ 182 if(!QFile::exists(dhcpFile)){
183 emit(updateInterface(this)); 183 emit(updateInterface(this));
184 return true; 184 return true;
185 } 185 }
186 186
187 file.setName(dhcpFile); 187 file.setName(dhcpFile);
188 if (!file.open(IO_ReadOnly)){ 188 if (!file.open(IO_ReadOnly)){
189 qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1()); 189 qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1());
190 return false; 190 return false;
191 } 191 }
192 192
193 // leaseTime and renewalTime and used if pid and deamon exe can be accessed. 193 // leaseTime and renewalTime and used if pid and deamon exe can be accessed.
194 int leaseTime = 0; 194 int leaseTime = 0;
195 int renewalTime = 0; 195 int renewalTime = 0;
196 196
197 stream.setDevice( &file ); 197 stream.setDevice( &file );
198 while ( !stream.eof() ) { 198 while ( !stream.eof() ) {
diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp
index 9d81ab1..c86acdc 100644
--- a/noncore/net/networksetup/mainwindowimp.cpp
+++ b/noncore/net/networksetup/mainwindowimp.cpp
@@ -57,66 +57,68 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
57 profilesList->insertItem((*it)); 57 profilesList->insertItem((*it));
58 currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All")); 58 currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All"));
59 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); 59 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
60 scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME); 60 scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME);
61 61
62 QFile file(scheme); 62 QFile file(scheme);
63 if ( file.open(IO_ReadOnly) ) { // file opened successfully 63 if ( file.open(IO_ReadOnly) ) { // file opened successfully
64 QTextStream stream( &file ); // use a text stream 64 QTextStream stream( &file ); // use a text stream
65 while ( !stream.eof() ) { // until end of file... 65 while ( !stream.eof() ) { // until end of file...
66 QString line = stream.readLine(); // line of text excluding '\n' 66 QString line = stream.readLine(); // line of text excluding '\n'
67 if(line.contains("SCHEME")){ 67 if(line.contains("SCHEME")){
68 line = line.mid(7, line.length()); 68 line = line.mid(7, line.length());
69 currentProfileLabel->setText(line); 69 currentProfileLabel->setText(line);
70 break; 70 break;
71 } 71 }
72 } 72 }
73 file.close(); 73 file.close();
74 } 74 }
75} 75}
76 76
77/** 77/**
78 * Deconstructor. Save profiles. Delete loaded libraries. 78 * Deconstructor. Save profiles. Delete loaded libraries.
79 */ 79 */
80MainWindowImp::~MainWindowImp(){ 80MainWindowImp::~MainWindowImp(){
81 qDebug("start Saving mainwindow");
81 // Save profiles. 82 // Save profiles.
82 Config cfg("NetworkSetup"); 83 Config cfg("NetworkSetup");
83 cfg.setGroup("General"); 84 cfg.setGroup("General");
84 cfg.writeEntry("Profiles", profiles.join(" ")); 85 cfg.writeEntry("Profiles", profiles.join(" "));
85 86
86 // Delete all interfaces that don't have owners. 87 // Delete all interfaces that don't have owners.
87 QMap<Interface*, QListViewItem*>::Iterator iIt; 88 QMap<Interface*, QListViewItem*>::Iterator iIt;
88 for( iIt = items.begin(); iIt != items.end(); ++iIt ){ 89 for( iIt = items.begin(); iIt != items.end(); ++iIt ){
89 if(iIt.key()->getModuleOwner() == NULL) 90 if(iIt.key()->getModuleOwner() == NULL)
90 delete iIt.key(); 91 delete iIt.key();
91 } 92 }
92 93
93 // Delete Modules and Libraries 94 // Delete Modules and Libraries
94 QMap<Module*, QLibrary*>::Iterator it; 95 QMap<Module*, QLibrary*>::Iterator it;
95 for( it = libraries.begin(); it != libraries.end(); ++it ){ 96 for( it = libraries.begin(); it != libraries.end(); ++it ){
96 delete it.key(); 97 delete it.key();
97 delete it.data(); 98 delete it.data();
98 } 99 }
100 qDebug("done Saving mainwindow");
99} 101}
100 102
101/** 103/**
102 * Load all modules that are found in the path 104 * Load all modules that are found in the path
103 * @param path a directory that is scaned for any plugins that can be loaded 105 * @param path a directory that is scaned for any plugins that can be loaded
104 * and attempts to load them 106 * and attempts to load them
105 */ 107 */
106void MainWindowImp::loadModules(QString path){ 108void MainWindowImp::loadModules(QString path){
107 //qDebug(path.latin1()); 109 //qDebug(path.latin1());
108 QDir d(path); 110 QDir d(path);
109 if(!d.exists()) 111 if(!d.exists())
110 return; 112 return;
111 113
112 // Don't want sym links 114 // Don't want sym links
113 d.setFilter( QDir::Files | QDir::NoSymLinks ); 115 d.setFilter( QDir::Files | QDir::NoSymLinks );
114 const QFileInfoList *list = d.entryInfoList(); 116 const QFileInfoList *list = d.entryInfoList();
115 QFileInfoListIterator it( *list ); 117 QFileInfoListIterator it( *list );
116 QFileInfo *fi; 118 QFileInfo *fi;
117 while ( (fi=it.current()) ) { 119 while ( (fi=it.current()) ) {
118 if(fi->fileName().contains(".so")){ 120 if(fi->fileName().contains(".so")){
119 loadPlugin(path + "/" + fi->fileName()); 121 loadPlugin(path + "/" + fi->fileName());
120 } 122 }
121 ++it; 123 ++it;
122 } 124 }
diff --git a/noncore/net/networksetup/wlan/wextensions.cpp b/noncore/net/networksetup/wlan/wextensions.cpp
index ef4ba8f..e545bd1 100644
--- a/noncore/net/networksetup/wlan/wextensions.cpp
+++ b/noncore/net/networksetup/wlan/wextensions.cpp
@@ -136,40 +136,40 @@ bool WExtensions::stats(int &signal, int &noise, int &quality){
136 // gather link quality from /proc/net/wireless 136 // gather link quality from /proc/net/wireless
137 if(!QFile::exists(PROCNETWIRELESS)) 137 if(!QFile::exists(PROCNETWIRELESS))
138 return false; 138 return false;
139 139
140 char c; 140 char c;
141 QString status; 141 QString status;
142 QString name; 142 QString name;
143 143
144 QFile wfile( PROCNETWIRELESS ); 144 QFile wfile( PROCNETWIRELESS );
145 if(!wfile.open( IO_ReadOnly )) 145 if(!wfile.open( IO_ReadOnly ))
146 return false; 146 return false;
147 147
148 QTextStream wstream( &wfile ); 148 QTextStream wstream( &wfile );
149 wstream.readLine(); // skip the first two lines 149 wstream.readLine(); // skip the first two lines
150 wstream.readLine(); // because they only contain headers 150 wstream.readLine(); // because they only contain headers
151 while(!wstream.atEnd()){ 151 while(!wstream.atEnd()){
152 wstream >> name >> status >> quality >> c >> signal >> c >> noise; 152 wstream >> name >> status >> quality >> c >> signal >> c >> noise;
153 if(name == QString("%1:").arg(interface)){ 153 if(name == QString("%1:").arg(interface)){
154 if ( quality > 92 ) 154 if ( quality > 92 )
155 qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality ); 155 qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality );
156 if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) ) 156 if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) )
157 qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal ); 157 qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal );
158 if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) ) 158 if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) )
159 qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise ); 159 qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise );
160 qDebug(QString("q:%1, s:%2, n:%3").arg(quality).arg(signal).arg(noise).latin1()); 160 //qDebug(QString("q:%1, s:%2, n:%3").arg(quality).arg(signal).arg(noise).latin1());
161 signal = ( ( signal-IW_LOWER ) * 100 ) / IW_UPPER; 161 signal = ( ( signal-IW_LOWER ) * 100 ) / IW_UPPER;
162 noise = ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER; 162 noise = ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER;
163 quality = ( quality*100 ) / 92; 163 quality = ( quality*100 ) / 92;
164 return true; 164 return true;
165 } 165 }
166 } 166 }
167 167
168 qDebug("WExtensions::statsCard no longer present."); 168 qDebug("WExtensions::statsCard no longer present.");
169 quality = -1; 169 quality = -1;
170 signal = IW_LOWER; 170 signal = IW_LOWER;
171 noise = IW_LOWER; 171 noise = IW_LOWER;
172 return false; 172 return false;
173} 173}
174 174
175// wextensions.cpp 175// wextensions.cpp
diff --git a/noncore/net/networksetup/wlan/wlanimp.cpp b/noncore/net/networksetup/wlan/wlanimp.cpp
index ea19207..94c7518 100644
--- a/noncore/net/networksetup/wlan/wlanimp.cpp
+++ b/noncore/net/networksetup/wlan/wlanimp.cpp
@@ -1,43 +1,43 @@
1#include "wlanimp.h" 1#include "wlanimp.h"
2 2
3/* Config class */ 3/* Config class */
4#include <qpe/config.h> 4#include <qpe/config.h>
5/* Global namespace */ 5/* Global namespace */
6#include <qpe/global.h> 6#include <qpe/global.h>
7/* system() */ 7/* system() */
8#include <stdlib.h> 8#include <stdlib.h>
9#include <qfile.h> 9#include <qfile.h>
10#include <qdir.h> 10#include <qdir.h>
11#include <qtextstream.h> 11#include <qtextstream.h>
12#include <qmessagebox.h> 12#include <qmessagebox.h>
13#include <qlineedit.h> 13#include <qlineedit.h>
14#include <qspinbox.h> 14#include <qspinbox.h>
15#include <qradiobutton.h> 15#include <qradiobutton.h>
16#include <qcheckbox.h> 16#include <qcheckbox.h>
17#include <qregexp.h> 17#include <qregexp.h>
18 18
19WLANImp::WLANImp( QWidget* parent, const char* name):WLAN(parent, name){ 19WLANImp::WLANImp( QWidget* parent, const char* name):WLAN(parent, name, Qt::WDestructiveClose){
20 config = new Config("wireless"); 20 config = new Config("wireless");
21 readConfig(); 21 readConfig();
22} 22}
23 23
24WLANImp::~WLANImp( ){ 24WLANImp::~WLANImp( ){
25 delete config; 25 delete config;
26} 26}
27 27
28void WLANImp::readConfig() 28void WLANImp::readConfig()
29{ 29{
30 qWarning( "WLANImp::readConfig() called." ); 30 qWarning( "WLANImp::readConfig() called." );
31 config->setGroup( "Properties" ); 31 config->setGroup( "Properties" );
32 QString ssid = config->readEntry( "SSID", "any" ); 32 QString ssid = config->readEntry( "SSID", "any" );
33 if( ssid == "any" || ssid == "ANY" ){ 33 if( ssid == "any" || ssid == "ANY" ){
34 essNon->setChecked( true ); 34 essNon->setChecked( true );
35 } else { 35 } else {
36 essSpecific->setChecked( true ); 36 essSpecific->setChecked( true );
37 essSpecificLineEdit->setText( ssid ); 37 essSpecificLineEdit->setText( ssid );
38 } 38 }
39 QString mode = config->readEntry( "Mode", "Managed" ); 39 QString mode = config->readEntry( "Mode", "Managed" );
40 if( mode == "adhoc" ) { 40 if( mode == "adhoc" ) {
41 network802->setChecked( true ); 41 network802->setChecked( true );
42 } else { 42 } else {
43 networkInfrastructure->setChecked( true ); 43 networkInfrastructure->setChecked( true );
diff --git a/noncore/net/networksetup/wlan/wlanmodule.cpp b/noncore/net/networksetup/wlan/wlanmodule.cpp
index 73e753c..7507c54 100644
--- a/noncore/net/networksetup/wlan/wlanmodule.cpp
+++ b/noncore/net/networksetup/wlan/wlanmodule.cpp
@@ -1,118 +1,118 @@
1#include "wlanmodule.h" 1#include "wlanmodule.h"
2#include "wlanimp.h" 2#include "wlanimp.h"
3#include "info.h" 3#include "info.h"
4#include "wextensions.h" 4#include "wextensions.h"
5 5
6#include <qlabel.h> 6#include <qlabel.h>
7#include <qprogressbar.h> 7#include <qprogressbar.h>
8 8
9/** 9/**
10 * Constructor, find all of the possible interfaces 10 * Constructor, find all of the possible interfaces
11 */ 11 */
12WLANModule::WLANModule() : Module() { 12WLANModule::WLANModule() : Module() {
13 // get output from iwconfig
14} 13}
15 14
16/** 15/**
17 */ 16 */
18WLANModule::~WLANModule(){ 17WLANModule::~WLANModule(){
19 Interface *i; 18 Interface *i;
20 for ( i=list.first(); i != 0; i=list.next() ) 19 for ( i=list.first(); i != 0; i=list.next() )
21 delete i; 20 delete i;
22} 21}
23 22
24/** 23/**
25 * Change the current profile 24 * Change the current profile
26 */ 25 */
27void WLANModule::setProfile(QString newProfile){ 26void WLANModule::setProfile(QString newProfile){
28 profile = newProfile; 27 profile = newProfile;
29} 28}
30 29
31/** 30/**
32 * get the icon name for this device. 31 * get the icon name for this device.
33 * @param Interface* can be used in determining the icon. 32 * @param Interface* can be used in determining the icon.
34 * @return QString the icon name (minus .png, .gif etc) 33 * @return QString the icon name (minus .png, .gif etc)
35 */ 34 */
36QString WLANModule::getPixmapName(Interface* ){ 35QString WLANModule::getPixmapName(Interface* ){
37 return "wlan"; 36 return "wlan";
38} 37}
39 38
40/** 39/**
41 * Check to see if the interface i is owned by this module. 40 * Check to see if the interface i is owned by this module.
42 * @param Interface* interface to check against 41 * @param Interface* interface to check against
43 * @return bool true if i is owned by this module, false otherwise. 42 * @return bool true if i is owned by this module, false otherwise.
44 */ 43 */
45bool WLANModule::isOwner(Interface *i){ 44bool WLANModule::isOwner(Interface *i){
46 WExtensions we(i->getInterfaceName()); 45 WExtensions we(i->getInterfaceName());
47 if(!we.doesHaveWirelessExtensions()) 46 if(!we.doesHaveWirelessExtensions())
48 return false; 47 return false;
49 48
50 //if(i->getInterfaceName() == "eth0" || i->getInterfaceName() == "wlan0"){ 49 i->setHardwareName("802.11b");
51 i->setHardwareName("802.11b"); 50 list.append(i);
52 list.append(i); 51 return true;
53 return true;
54 //}
55 //return false;
56} 52}
57 53
58/** 54/**
59 * Create, set tabWiget and return the WLANConfigure Module 55 * Create, set tabWiget and return the WLANConfigure Module
60 * @param tabWidget a pointer to the tab widget that this configure has. 56 * @param tabWidget a pointer to the tab widget that this configure has.
61 * @return QWidget* pointer to the tab widget in this modules configure. 57 * @return QWidget* pointer to the tab widget in this modules configure.
62 */ 58 */
63QWidget *WLANModule::configure(Interface *, QTabWidget **tabWidget){ 59QWidget *WLANModule::configure(Interface *, QTabWidget **tabWidget){
64 WLANImp *wlanconfig = new WLANImp(0, "WlanConfig"); 60 WLANImp *wlanconfig = new WLANImp(0, "WlanConfig");
65 (*tabWidget) = wlanconfig->tabWidget; 61 (*tabWidget) = wlanconfig->tabWidget;
66 return wlanconfig; 62 return wlanconfig;
67} 63}
68 64
69/** 65/**
70 * Create, set tabWiget and return the Information Module 66 * Create, set tabWiget and return the Information Module
71 * @param tabWidget a pointer to the tab widget that this information has. 67 * @param tabWidget a pointer to the tab widget that this information has.
72 * @return QWidget* pointer to the tab widget in this modules info. 68 * @return QWidget* pointer to the tab widget in this modules info.
73 */ 69 */
74QWidget *WLANModule::information(Interface *i, QTabWidget **tabWidget){ 70QWidget *WLANModule::information(Interface *i, QTabWidget **tabWidget){
75 WExtensions we(i->getInterfaceName()); 71 WExtensions we(i->getInterfaceName());
76 if(!we.doesHaveWirelessExtensions()) 72 if(!we.doesHaveWirelessExtensions())
77 return NULL; 73 return NULL;
78 74
79 WlanInfo *info = new WlanInfo(0, "wireless info"); 75 WlanInfo *info = new WlanInfo(0, "wireless info", Qt::WDestructiveClose);
80 (*tabWidget) = info->tabWidget; 76 (*tabWidget) = info->tabWidget;
81 77
82 info->essidLabel->setText(we.essid()); 78 info->essidLabel->setText(we.essid());
83 info->apLabel->setText(we.ap()); 79 info->apLabel->setText(we.ap());
84 info->stationLabel->setText(we.station()); 80 info->stationLabel->setText(we.station());
85 info->modeLabel->setText(we.mode()); 81 info->modeLabel->setText(we.mode());
86 info->freqLabel->setText(QString("%1 GHz").arg(we.frequency())); 82 info->freqLabel->setText(QString("%1 GHz").arg(we.frequency()));
87 int signal = 0; 83 int signal = 0;
88 int noise = 0; 84 int noise = 0;
89 int quality = 0; 85 int quality = 0;
90 we.stats(signal, noise, quality); 86 we.stats(signal, noise, quality);
91 info->signalProgressBar->setProgress(signal); 87 info->signalProgressBar->setProgress(signal);
92 info->noiseProgressBar->setProgress(noise); 88 info->noiseProgressBar->setProgress(noise);
93 info->qualityProgressBar->setProgress(quality); 89 info->qualityProgressBar->setProgress(quality);
94 info->rateLabel->setText(QString("%1 Mb/s").arg(we.rate())); 90 info->rateLabel->setText(QString("%1 Mb/s").arg(we.rate()));
91 //WlanInfo info (0, "wireless info", true);
92 //info.show();
93 //return NULL;
94
95 return info; 95 return info;
96} 96}
97 97
98/** 98/**
99 * Get all active (up or down) interfaces 99 * Get all active (up or down) interfaces
100 * @return QList<Interface> A list of interfaces that exsist that havn't 100 * @return QList<Interface> A list of interfaces that exsist that havn't
101 * been called by isOwner() 101 * been called by isOwner()
102 */ 102 */
103QList<Interface> WLANModule::getInterfaces(){ 103QList<Interface> WLANModule::getInterfaces(){
104 return list; 104 return list;
105} 105}
106 106
107/** 107/**
108 * Attempt to add a new interface as defined by name 108 * Attempt to add a new interface as defined by name
109 * @param name the name of the type of interface that should be created given 109 * @param name the name of the type of interface that should be created given
110 * by possibleNewInterfaces(); 110 * by possibleNewInterfaces();
111 * @return Interface* NULL if it was unable to be created. 111 * @return Interface* NULL if it was unable to be created.
112 */ 112 */
113Interface *WLANModule::addNewInterface(QString ){ 113Interface *WLANModule::addNewInterface(QString ){
114 // We can't add a 802.11 interface, either the hardware will be there 114 // We can't add a 802.11 interface, either the hardware will be there
115 // or it wont. 115 // or it wont.
116 return NULL; 116 return NULL;
117} 117}
118 118
diff --git a/noncore/settings/networksettings/TODO b/noncore/settings/networksettings/TODO
index 7a71142..d61c510 100644
--- a/noncore/settings/networksettings/TODO
+++ b/noncore/settings/networksettings/TODO
@@ -1,11 +1,9 @@
1WLAN needs to be re-written to not use Config 1WLAN needs to be re-written to not use Config
2-remove WLAN Config item 2WHERE Is DHCP info stored???
3-sub class out the wlan info
4-check if an interface supports wireless extensions before config.
5 3
6PPP module needs to be written 4PPP module needs to be written
7 5
8Write a class that parses /proc and not ifconfig 6Write a class that parses /proc and not ifconfig
9 7
10Possible other modules: ipsec, bluetooth 8Possible other modules: ipsec, bluetooth, ipchains
11 9
diff --git a/noncore/settings/networksettings/interface.cpp b/noncore/settings/networksettings/interface.cpp
index a84b91f..929b3a1 100644
--- a/noncore/settings/networksettings/interface.cpp
+++ b/noncore/settings/networksettings/interface.cpp
@@ -1,33 +1,33 @@
1#include "interface.h" 1#include "interface.h"
2#include <qdatetime.h> 2#include <qdatetime.h>
3#include <qfile.h> 3#include <qfile.h>
4#include <qdir.h> 4#include <qdir.h>
5#include <qfileinfo.h> 5#include <qfileinfo.h>
6#include <qtextstream.h> 6#include <qtextstream.h>
7 7
8#define IFCONFIG "/sbin/ifconfig" 8#define IFCONFIG "/sbin/ifconfig"
9#define HDCP_INFO_DIR "/etc/dhcpc" 9#define DHCP_INFO_DIR "/etc/dhcpc"
10 10
11#include <stdio.h> 11#include <stdio.h>
12#include <stdlib.h> 12#include <stdlib.h>
13 13
14Interface::Interface(QObject * parent, const char * name, bool newSatus): QObject(parent, name), status(newSatus), attached(false), hardwareName("Unknown"), moduleOwner(NULL), macAddress(""), ip("0.0.0.0"), broadcast(""), subnetMask("0.0.0.0"), dhcp(false){ 14Interface::Interface(QObject * parent, const char * name, bool newSatus): QObject(parent, name), status(newSatus), attached(false), hardwareName("Unknown"), moduleOwner(NULL), macAddress(""), ip("0.0.0.0"), broadcast(""), subnetMask("0.0.0.0"), dhcp(false){
15 refresh(); 15 refresh();
16} 16}
17 17
18/** 18/**
19 * Set status 19 * Set status
20 * @param newStatus - the new status 20 * @param newStatus - the new status
21 * emit updateInterface 21 * emit updateInterface
22 */ 22 */
23void Interface::setStatus(bool newStatus){ 23void Interface::setStatus(bool newStatus){
24 if(status != newStatus){ 24 if(status != newStatus){
25 status = newStatus; 25 status = newStatus;
26 refresh(); 26 refresh();
27 } 27 }
28}; 28};
29 29
30/** 30/**
31 * Set if attached or not (802.11 card pulled out for example) 31 * Set if attached or not (802.11 card pulled out for example)
32 * @param isAttached - if attached 32 * @param isAttached - if attached
33 * emit updateInterface 33 * emit updateInterface
@@ -150,49 +150,49 @@ bool Interface::refresh(){
150 int ipl = line.find("inet addr"); 150 int ipl = line.find("inet addr");
151 int space = line.find(" ", ipl+10); 151 int space = line.find(" ", ipl+10);
152 ip = line.mid(ipl+10, space-ipl-10); 152 ip = line.mid(ipl+10, space-ipl-10);
153 } 153 }
154 if(line.contains("Mask")){ 154 if(line.contains("Mask")){
155 int mask = line.find("Mask"); 155 int mask = line.find("Mask");
156 subnetMask = line.mid(mask+5, line.length()); 156 subnetMask = line.mid(mask+5, line.length());
157 } 157 }
158 if(line.contains("Bcast")){ 158 if(line.contains("Bcast")){
159 int mask = line.find("Bcast"); 159 int mask = line.find("Bcast");
160 int space = line.find(" ", mask+6); 160 int space = line.find(" ", mask+6);
161 broadcast = line.mid(mask+6, space-mask-6); 161 broadcast = line.mid(mask+6, space-mask-6);
162 } 162 }
163 } 163 }
164 file.close(); 164 file.close();
165 QFile::remove(fileName); 165 QFile::remove(fileName);
166 166
167 // DHCP TESTING 167 // DHCP TESTING
168 // reset DHCP info 168 // reset DHCP info
169 dhcpServerIp = ""; 169 dhcpServerIp = "";
170 leaseObtained = ""; 170 leaseObtained = "";
171 leaseExpires = ""; 171 leaseExpires = "";
172 dhcp = false; 172 dhcp = false;
173 173
174 QString dhcpDirectory(HDCP_INFO_DIR); 174 QString dhcpDirectory(DHCP_INFO_DIR);
175 QDir d(dhcpDirectory); 175 QDir d(dhcpDirectory);
176 if(!d.exists(dhcpDirectory)) 176 if(!d.exists(dhcpDirectory))
177 dhcpDirectory = "/var/run"; 177 dhcpDirectory = "/var/run";
178 178
179 // See if we have 179 // See if we have
180 QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name())); 180 QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name()));
181 // If there is no DHCP information then exit now with no errors. 181 // If there is no DHCP information then exit now with no errors.
182 if(!QFile::exists(dhcpFile)){ 182 if(!QFile::exists(dhcpFile)){
183 emit(updateInterface(this)); 183 emit(updateInterface(this));
184 return true; 184 return true;
185 } 185 }
186 186
187 file.setName(dhcpFile); 187 file.setName(dhcpFile);
188 if (!file.open(IO_ReadOnly)){ 188 if (!file.open(IO_ReadOnly)){
189 qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1()); 189 qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1());
190 return false; 190 return false;
191 } 191 }
192 192
193 // leaseTime and renewalTime and used if pid and deamon exe can be accessed. 193 // leaseTime and renewalTime and used if pid and deamon exe can be accessed.
194 int leaseTime = 0; 194 int leaseTime = 0;
195 int renewalTime = 0; 195 int renewalTime = 0;
196 196
197 stream.setDevice( &file ); 197 stream.setDevice( &file );
198 while ( !stream.eof() ) { 198 while ( !stream.eof() ) {
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp
index 9d81ab1..c86acdc 100644
--- a/noncore/settings/networksettings/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindowimp.cpp
@@ -57,66 +57,68 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par
57 profilesList->insertItem((*it)); 57 profilesList->insertItem((*it));
58 currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All")); 58 currentProfileLabel->setText(cfg.readEntry("CurrentProfile", "All"));
59 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); 59 advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false);
60 scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME); 60 scheme = cfg.readEntry("SchemeFile", DEFAULT_SCHEME);
61 61
62 QFile file(scheme); 62 QFile file(scheme);
63 if ( file.open(IO_ReadOnly) ) { // file opened successfully 63 if ( file.open(IO_ReadOnly) ) { // file opened successfully
64 QTextStream stream( &file ); // use a text stream 64 QTextStream stream( &file ); // use a text stream
65 while ( !stream.eof() ) { // until end of file... 65 while ( !stream.eof() ) { // until end of file...
66 QString line = stream.readLine(); // line of text excluding '\n' 66 QString line = stream.readLine(); // line of text excluding '\n'
67 if(line.contains("SCHEME")){ 67 if(line.contains("SCHEME")){
68 line = line.mid(7, line.length()); 68 line = line.mid(7, line.length());
69 currentProfileLabel->setText(line); 69 currentProfileLabel->setText(line);
70 break; 70 break;
71 } 71 }
72 } 72 }
73 file.close(); 73 file.close();
74 } 74 }
75} 75}
76 76
77/** 77/**
78 * Deconstructor. Save profiles. Delete loaded libraries. 78 * Deconstructor. Save profiles. Delete loaded libraries.
79 */ 79 */
80MainWindowImp::~MainWindowImp(){ 80MainWindowImp::~MainWindowImp(){
81 qDebug("start Saving mainwindow");
81 // Save profiles. 82 // Save profiles.
82 Config cfg("NetworkSetup"); 83 Config cfg("NetworkSetup");
83 cfg.setGroup("General"); 84 cfg.setGroup("General");
84 cfg.writeEntry("Profiles", profiles.join(" ")); 85 cfg.writeEntry("Profiles", profiles.join(" "));
85 86
86 // Delete all interfaces that don't have owners. 87 // Delete all interfaces that don't have owners.
87 QMap<Interface*, QListViewItem*>::Iterator iIt; 88 QMap<Interface*, QListViewItem*>::Iterator iIt;
88 for( iIt = items.begin(); iIt != items.end(); ++iIt ){ 89 for( iIt = items.begin(); iIt != items.end(); ++iIt ){
89 if(iIt.key()->getModuleOwner() == NULL) 90 if(iIt.key()->getModuleOwner() == NULL)
90 delete iIt.key(); 91 delete iIt.key();
91 } 92 }
92 93
93 // Delete Modules and Libraries 94 // Delete Modules and Libraries
94 QMap<Module*, QLibrary*>::Iterator it; 95 QMap<Module*, QLibrary*>::Iterator it;
95 for( it = libraries.begin(); it != libraries.end(); ++it ){ 96 for( it = libraries.begin(); it != libraries.end(); ++it ){
96 delete it.key(); 97 delete it.key();
97 delete it.data(); 98 delete it.data();
98 } 99 }
100 qDebug("done Saving mainwindow");
99} 101}
100 102
101/** 103/**
102 * Load all modules that are found in the path 104 * Load all modules that are found in the path
103 * @param path a directory that is scaned for any plugins that can be loaded 105 * @param path a directory that is scaned for any plugins that can be loaded
104 * and attempts to load them 106 * and attempts to load them
105 */ 107 */
106void MainWindowImp::loadModules(QString path){ 108void MainWindowImp::loadModules(QString path){
107 //qDebug(path.latin1()); 109 //qDebug(path.latin1());
108 QDir d(path); 110 QDir d(path);
109 if(!d.exists()) 111 if(!d.exists())
110 return; 112 return;
111 113
112 // Don't want sym links 114 // Don't want sym links
113 d.setFilter( QDir::Files | QDir::NoSymLinks ); 115 d.setFilter( QDir::Files | QDir::NoSymLinks );
114 const QFileInfoList *list = d.entryInfoList(); 116 const QFileInfoList *list = d.entryInfoList();
115 QFileInfoListIterator it( *list ); 117 QFileInfoListIterator it( *list );
116 QFileInfo *fi; 118 QFileInfo *fi;
117 while ( (fi=it.current()) ) { 119 while ( (fi=it.current()) ) {
118 if(fi->fileName().contains(".so")){ 120 if(fi->fileName().contains(".so")){
119 loadPlugin(path + "/" + fi->fileName()); 121 loadPlugin(path + "/" + fi->fileName());
120 } 122 }
121 ++it; 123 ++it;
122 } 124 }
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp
index ef4ba8f..e545bd1 100644
--- a/noncore/settings/networksettings/wlan/wextensions.cpp
+++ b/noncore/settings/networksettings/wlan/wextensions.cpp
@@ -136,40 +136,40 @@ bool WExtensions::stats(int &signal, int &noise, int &quality){
136 // gather link quality from /proc/net/wireless 136 // gather link quality from /proc/net/wireless
137 if(!QFile::exists(PROCNETWIRELESS)) 137 if(!QFile::exists(PROCNETWIRELESS))
138 return false; 138 return false;
139 139
140 char c; 140 char c;
141 QString status; 141 QString status;
142 QString name; 142 QString name;
143 143
144 QFile wfile( PROCNETWIRELESS ); 144 QFile wfile( PROCNETWIRELESS );
145 if(!wfile.open( IO_ReadOnly )) 145 if(!wfile.open( IO_ReadOnly ))
146 return false; 146 return false;
147 147
148 QTextStream wstream( &wfile ); 148 QTextStream wstream( &wfile );
149 wstream.readLine(); // skip the first two lines 149 wstream.readLine(); // skip the first two lines
150 wstream.readLine(); // because they only contain headers 150 wstream.readLine(); // because they only contain headers
151 while(!wstream.atEnd()){ 151 while(!wstream.atEnd()){
152 wstream >> name >> status >> quality >> c >> signal >> c >> noise; 152 wstream >> name >> status >> quality >> c >> signal >> c >> noise;
153 if(name == QString("%1:").arg(interface)){ 153 if(name == QString("%1:").arg(interface)){
154 if ( quality > 92 ) 154 if ( quality > 92 )
155 qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality ); 155 qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality );
156 if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) ) 156 if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) )
157 qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal ); 157 qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal );
158 if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) ) 158 if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) )
159 qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise ); 159 qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise );
160 qDebug(QString("q:%1, s:%2, n:%3").arg(quality).arg(signal).arg(noise).latin1()); 160 //qDebug(QString("q:%1, s:%2, n:%3").arg(quality).arg(signal).arg(noise).latin1());
161 signal = ( ( signal-IW_LOWER ) * 100 ) / IW_UPPER; 161 signal = ( ( signal-IW_LOWER ) * 100 ) / IW_UPPER;
162 noise = ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER; 162 noise = ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER;
163 quality = ( quality*100 ) / 92; 163 quality = ( quality*100 ) / 92;
164 return true; 164 return true;
165 } 165 }
166 } 166 }
167 167
168 qDebug("WExtensions::statsCard no longer present."); 168 qDebug("WExtensions::statsCard no longer present.");
169 quality = -1; 169 quality = -1;
170 signal = IW_LOWER; 170 signal = IW_LOWER;
171 noise = IW_LOWER; 171 noise = IW_LOWER;
172 return false; 172 return false;
173} 173}
174 174
175// wextensions.cpp 175// wextensions.cpp
diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp
index ea19207..94c7518 100644
--- a/noncore/settings/networksettings/wlan/wlanimp.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp.cpp
@@ -1,43 +1,43 @@
1#include "wlanimp.h" 1#include "wlanimp.h"
2 2
3/* Config class */ 3/* Config class */
4#include <qpe/config.h> 4#include <qpe/config.h>
5/* Global namespace */ 5/* Global namespace */
6#include <qpe/global.h> 6#include <qpe/global.h>
7/* system() */ 7/* system() */
8#include <stdlib.h> 8#include <stdlib.h>
9#include <qfile.h> 9#include <qfile.h>
10#include <qdir.h> 10#include <qdir.h>
11#include <qtextstream.h> 11#include <qtextstream.h>
12#include <qmessagebox.h> 12#include <qmessagebox.h>
13#include <qlineedit.h> 13#include <qlineedit.h>
14#include <qspinbox.h> 14#include <qspinbox.h>
15#include <qradiobutton.h> 15#include <qradiobutton.h>
16#include <qcheckbox.h> 16#include <qcheckbox.h>
17#include <qregexp.h> 17#include <qregexp.h>
18 18
19WLANImp::WLANImp( QWidget* parent, const char* name):WLAN(parent, name){ 19WLANImp::WLANImp( QWidget* parent, const char* name):WLAN(parent, name, Qt::WDestructiveClose){
20 config = new Config("wireless"); 20 config = new Config("wireless");
21 readConfig(); 21 readConfig();
22} 22}
23 23
24WLANImp::~WLANImp( ){ 24WLANImp::~WLANImp( ){
25 delete config; 25 delete config;
26} 26}
27 27
28void WLANImp::readConfig() 28void WLANImp::readConfig()
29{ 29{
30 qWarning( "WLANImp::readConfig() called." ); 30 qWarning( "WLANImp::readConfig() called." );
31 config->setGroup( "Properties" ); 31 config->setGroup( "Properties" );
32 QString ssid = config->readEntry( "SSID", "any" ); 32 QString ssid = config->readEntry( "SSID", "any" );
33 if( ssid == "any" || ssid == "ANY" ){ 33 if( ssid == "any" || ssid == "ANY" ){
34 essNon->setChecked( true ); 34 essNon->setChecked( true );
35 } else { 35 } else {
36 essSpecific->setChecked( true ); 36 essSpecific->setChecked( true );
37 essSpecificLineEdit->setText( ssid ); 37 essSpecificLineEdit->setText( ssid );
38 } 38 }
39 QString mode = config->readEntry( "Mode", "Managed" ); 39 QString mode = config->readEntry( "Mode", "Managed" );
40 if( mode == "adhoc" ) { 40 if( mode == "adhoc" ) {
41 network802->setChecked( true ); 41 network802->setChecked( true );
42 } else { 42 } else {
43 networkInfrastructure->setChecked( true ); 43 networkInfrastructure->setChecked( true );
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp
index 73e753c..7507c54 100644
--- a/noncore/settings/networksettings/wlan/wlanmodule.cpp
+++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp
@@ -1,118 +1,118 @@
1#include "wlanmodule.h" 1#include "wlanmodule.h"
2#include "wlanimp.h" 2#include "wlanimp.h"
3#include "info.h" 3#include "info.h"
4#include "wextensions.h" 4#include "wextensions.h"
5 5
6#include <qlabel.h> 6#include <qlabel.h>
7#include <qprogressbar.h> 7#include <qprogressbar.h>
8 8
9/** 9/**
10 * Constructor, find all of the possible interfaces 10 * Constructor, find all of the possible interfaces
11 */ 11 */
12WLANModule::WLANModule() : Module() { 12WLANModule::WLANModule() : Module() {
13 // get output from iwconfig
14} 13}
15 14
16/** 15/**
17 */ 16 */
18WLANModule::~WLANModule(){ 17WLANModule::~WLANModule(){
19 Interface *i; 18 Interface *i;
20 for ( i=list.first(); i != 0; i=list.next() ) 19 for ( i=list.first(); i != 0; i=list.next() )
21 delete i; 20 delete i;
22} 21}
23 22
24/** 23/**
25 * Change the current profile 24 * Change the current profile
26 */ 25 */
27void WLANModule::setProfile(QString newProfile){ 26void WLANModule::setProfile(QString newProfile){
28 profile = newProfile; 27 profile = newProfile;
29} 28}
30 29
31/** 30/**
32 * get the icon name for this device. 31 * get the icon name for this device.
33 * @param Interface* can be used in determining the icon. 32 * @param Interface* can be used in determining the icon.
34 * @return QString the icon name (minus .png, .gif etc) 33 * @return QString the icon name (minus .png, .gif etc)
35 */ 34 */
36QString WLANModule::getPixmapName(Interface* ){ 35QString WLANModule::getPixmapName(Interface* ){
37 return "wlan"; 36 return "wlan";
38} 37}
39 38
40/** 39/**
41 * Check to see if the interface i is owned by this module. 40 * Check to see if the interface i is owned by this module.
42 * @param Interface* interface to check against 41 * @param Interface* interface to check against
43 * @return bool true if i is owned by this module, false otherwise. 42 * @return bool true if i is owned by this module, false otherwise.
44 */ 43 */
45bool WLANModule::isOwner(Interface *i){ 44bool WLANModule::isOwner(Interface *i){
46 WExtensions we(i->getInterfaceName()); 45 WExtensions we(i->getInterfaceName());
47 if(!we.doesHaveWirelessExtensions()) 46 if(!we.doesHaveWirelessExtensions())
48 return false; 47 return false;
49 48
50 //if(i->getInterfaceName() == "eth0" || i->getInterfaceName() == "wlan0"){ 49 i->setHardwareName("802.11b");
51 i->setHardwareName("802.11b"); 50 list.append(i);
52 list.append(i); 51 return true;
53 return true;
54 //}
55 //return false;
56} 52}
57 53
58/** 54/**
59 * Create, set tabWiget and return the WLANConfigure Module 55 * Create, set tabWiget and return the WLANConfigure Module
60 * @param tabWidget a pointer to the tab widget that this configure has. 56 * @param tabWidget a pointer to the tab widget that this configure has.
61 * @return QWidget* pointer to the tab widget in this modules configure. 57 * @return QWidget* pointer to the tab widget in this modules configure.
62 */ 58 */
63QWidget *WLANModule::configure(Interface *, QTabWidget **tabWidget){ 59QWidget *WLANModule::configure(Interface *, QTabWidget **tabWidget){
64 WLANImp *wlanconfig = new WLANImp(0, "WlanConfig"); 60 WLANImp *wlanconfig = new WLANImp(0, "WlanConfig");
65 (*tabWidget) = wlanconfig->tabWidget; 61 (*tabWidget) = wlanconfig->tabWidget;
66 return wlanconfig; 62 return wlanconfig;
67} 63}
68 64
69/** 65/**
70 * Create, set tabWiget and return the Information Module 66 * Create, set tabWiget and return the Information Module
71 * @param tabWidget a pointer to the tab widget that this information has. 67 * @param tabWidget a pointer to the tab widget that this information has.
72 * @return QWidget* pointer to the tab widget in this modules info. 68 * @return QWidget* pointer to the tab widget in this modules info.
73 */ 69 */
74QWidget *WLANModule::information(Interface *i, QTabWidget **tabWidget){ 70QWidget *WLANModule::information(Interface *i, QTabWidget **tabWidget){
75 WExtensions we(i->getInterfaceName()); 71 WExtensions we(i->getInterfaceName());
76 if(!we.doesHaveWirelessExtensions()) 72 if(!we.doesHaveWirelessExtensions())
77 return NULL; 73 return NULL;
78 74
79 WlanInfo *info = new WlanInfo(0, "wireless info"); 75 WlanInfo *info = new WlanInfo(0, "wireless info", Qt::WDestructiveClose);
80 (*tabWidget) = info->tabWidget; 76 (*tabWidget) = info->tabWidget;
81 77
82 info->essidLabel->setText(we.essid()); 78 info->essidLabel->setText(we.essid());
83 info->apLabel->setText(we.ap()); 79 info->apLabel->setText(we.ap());
84 info->stationLabel->setText(we.station()); 80 info->stationLabel->setText(we.station());
85 info->modeLabel->setText(we.mode()); 81 info->modeLabel->setText(we.mode());
86 info->freqLabel->setText(QString("%1 GHz").arg(we.frequency())); 82 info->freqLabel->setText(QString("%1 GHz").arg(we.frequency()));
87 int signal = 0; 83 int signal = 0;
88 int noise = 0; 84 int noise = 0;
89 int quality = 0; 85 int quality = 0;
90 we.stats(signal, noise, quality); 86 we.stats(signal, noise, quality);
91 info->signalProgressBar->setProgress(signal); 87 info->signalProgressBar->setProgress(signal);
92 info->noiseProgressBar->setProgress(noise); 88 info->noiseProgressBar->setProgress(noise);
93 info->qualityProgressBar->setProgress(quality); 89 info->qualityProgressBar->setProgress(quality);
94 info->rateLabel->setText(QString("%1 Mb/s").arg(we.rate())); 90 info->rateLabel->setText(QString("%1 Mb/s").arg(we.rate()));
91 //WlanInfo info (0, "wireless info", true);
92 //info.show();
93 //return NULL;
94
95 return info; 95 return info;
96} 96}
97 97
98/** 98/**
99 * Get all active (up or down) interfaces 99 * Get all active (up or down) interfaces
100 * @return QList<Interface> A list of interfaces that exsist that havn't 100 * @return QList<Interface> A list of interfaces that exsist that havn't
101 * been called by isOwner() 101 * been called by isOwner()
102 */ 102 */
103QList<Interface> WLANModule::getInterfaces(){ 103QList<Interface> WLANModule::getInterfaces(){
104 return list; 104 return list;
105} 105}
106 106
107/** 107/**
108 * Attempt to add a new interface as defined by name 108 * Attempt to add a new interface as defined by name
109 * @param name the name of the type of interface that should be created given 109 * @param name the name of the type of interface that should be created given
110 * by possibleNewInterfaces(); 110 * by possibleNewInterfaces();
111 * @return Interface* NULL if it was unable to be created. 111 * @return Interface* NULL if it was unable to be created.
112 */ 112 */
113Interface *WLANModule::addNewInterface(QString ){ 113Interface *WLANModule::addNewInterface(QString ){
114 // We can't add a 802.11 interface, either the hardware will be there 114 // We can't add a 802.11 interface, either the hardware will be there
115 // or it wont. 115 // or it wont.
116 return NULL; 116 return NULL;
117} 117}
118 118