Diffstat (limited to 'noncore/settings/networksettings/wlan/infoimp.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/wlan/infoimp.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/noncore/settings/networksettings/wlan/infoimp.cpp b/noncore/settings/networksettings/wlan/infoimp.cpp new file mode 100644 index 0000000..e1eef81 --- a/dev/null +++ b/noncore/settings/networksettings/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 | */ | ||
11 | WlanInfoImp::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 | */ | ||
27 | void 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 | |||