summaryrefslogtreecommitdiff
path: root/noncore/net/networksetup/wlan/infoimp.cpp
Unidiff
Diffstat (limited to 'noncore/net/networksetup/wlan/infoimp.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/networksetup/wlan/infoimp.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/noncore/net/networksetup/wlan/infoimp.cpp b/noncore/net/networksetup/wlan/infoimp.cpp
new file mode 100644
index 0000000..e1eef81
--- a/dev/null
+++ b/noncore/net/networksetup/wlan/infoimp.cpp
@@ -0,0 +1,55 @@
1#include "infoimp.h"
2#include "wextensions.h"
3#include <qtimer.h>
4#include <qprogressbar.h>
5#include <qlabel.h>
6
7/**
8 * Constructor. If wireless extensions are enabled on device name then
9 * start a timer that every second will update the information.
10 */
11WlanInfoImp::WlanInfoImp( QWidget* parent, const char* name, WFlags fl): WlanInfo(parent, name, fl){
12 WExtensions *wExtensions = new WExtensions(name);
13 if(!wExtensions->doesHaveWirelessExtensions()){
14 delete wExtensions;
15 qDebug("No extension");
16 return;
17 }
18 delete wExtensions;
19 timer = new QTimer( this );
20 connect( timer, SIGNAL(timeout()), this, SLOT(update()));
21 timer->start( 1000, false );
22}
23
24/**
25 * Updates the information about the wireless device.
26 */
27void WlanInfoImp::update(){
28 WExtensions *wExtensions = new WExtensions(this->name());
29 if(!wExtensions->doesHaveWirelessExtensions()){
30 qDebug("No extension");
31 delete wExtensions;
32 timer->stop();
33 return;
34 }
35 essidLabel->setText(wExtensions->essid());
36 apLabel->setText(wExtensions->ap());
37 stationLabel->setText(wExtensions->station());
38 modeLabel->setText(wExtensions->mode());
39 freqLabel->setText(QString("%1 GHz").arg(wExtensions->frequency()));
40 int signal = 0;
41 int noise = 0;
42 int quality = 0;
43 wExtensions->stats(signal, noise, quality);
44 if(signalProgressBar->progress() != signal)
45 signalProgressBar->setProgress(signal);
46 if(noiseProgressBar->progress() != noise)
47 noiseProgressBar->setProgress(noise);
48 if(qualityProgressBar->progress() != quality)
49 qualityProgressBar->setProgress(quality);
50 rateLabel->setText(QString("%1 Mb/s").arg(wExtensions->rate()));
51 delete wExtensions;
52}
53
54// infoimp.cpp
55