00001 #include "infoimp.h"
00002 #include "wextensions.h"
00003
00004
00005 #include <opie2/odebug.h>
00006 using namespace Opie::Core;
00007
00008
00009 #include <qtimer.h>
00010 #include <qprogressbar.h>
00011 #include <qlabel.h>
00012
00017 WlanInfoImp::WlanInfoImp( QWidget* parent, const char* name, WFlags fl): WlanInfo(parent, name, fl){
00018 WExtensions *wExtensions = new WExtensions(name);
00019 if(!wExtensions->doesHaveWirelessExtensions()){
00020 delete wExtensions;
00021 odebug << "WlanInfoImp::No wireless extension" << oendl;
00022 return;
00023 }
00024 delete wExtensions;
00025 timer = new QTimer( this );
00026 connect( timer, SIGNAL(timeout()), this, SLOT(update()));
00027 timer->start( 1000, false );
00028 }
00029
00033 void WlanInfoImp::update(){
00034 WExtensions *wExtensions = new WExtensions(this->name());
00035 if(!wExtensions->doesHaveWirelessExtensions()){
00036 odebug << "No extension" << oendl;
00037 delete wExtensions;
00038 timer->stop();
00039 return;
00040 }
00041 essidLabel->setText(wExtensions->essid());
00042 apLabel->setText(wExtensions->ap());
00043 stationLabel->setText(wExtensions->station());
00044 modeLabel->setText(wExtensions->mode());
00045 channelLabel->setText(QString("%1").arg(wExtensions->channel()));
00046 int signal = 0;
00047 int noise = 0;
00048 int quality = 0;
00049 wExtensions->stats(signal, noise, quality);
00050 if(signalProgressBar->progress() != signal)
00051 signalProgressBar->setProgress(signal);
00052 if(noiseProgressBar->progress() != noise)
00053 noiseProgressBar->setProgress(noise);
00054 if(qualityProgressBar->progress() != quality)
00055 qualityProgressBar->setProgress(quality);
00056 rateLabel->setText(QString("%1 Mb/s").arg(wExtensions->rate()));
00057 delete wExtensions;
00058 }
00059
00060
00061