summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opiestumbler/opiestumbler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/net/opiestumbler/opiestumbler.cpp b/noncore/net/opiestumbler/opiestumbler.cpp
index 2f4f54b..3531162 100644
--- a/noncore/net/opiestumbler/opiestumbler.cpp
+++ b/noncore/net/opiestumbler/opiestumbler.cpp
@@ -1,385 +1,385 @@
1#include <cstdlib> 1#include <cstdlib>
2 2
3#include <qmenubar.h> 3#include <qmenubar.h>
4#include <qaction.h> 4#include <qaction.h>
5#include <qlistview.h> 5#include <qlistview.h>
6#include <qstring.h> 6#include <qstring.h>
7//#include <qapplication.h> 7//#include <qapplication.h>
8#include <qdatetime.h> 8#include <qdatetime.h>
9#include <qpopupmenu.h> 9#include <qpopupmenu.h>
10#include <qstatusbar.h> 10#include <qstatusbar.h>
11#include <qlayout.h> 11#include <qlayout.h>
12#include <qwhatsthis.h> 12#include <qwhatsthis.h>
13#include <qtimer.h> 13#include <qtimer.h>
14#include <qprogressbar.h> 14#include <qprogressbar.h>
15 15
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17#include <qpe/config.h> 17#include <qpe/config.h>
18//#include <qpe/global.h> 18//#include <qpe/global.h>
19#include <qpe/qcopenvelope_qws.h> 19#include <qpe/qcopenvelope_qws.h>
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21 21
22#include <opie2/odebug.h> 22#include <opie2/odebug.h>
23#include <opie2/ostation.h> 23#include <opie2/ostation.h>
24#include <opie2/omanufacturerdb.h> 24#include <opie2/omanufacturerdb.h>
25#include <opie2/onetwork.h> 25#include <opie2/onetwork.h>
26#include <opie2/oprocess.h> 26#include <opie2/oprocess.h>
27 27
28#include "stumbler.h" 28#include "stumbler.h"
29#include "opiestumbler.h" 29#include "opiestumbler.h"
30#include "stumblersettings.h" 30#include "stumblersettings.h"
31#include "stationviewitem.h" 31#include "stationviewitem.h"
32#include "stumblerstation.h" 32#include "stumblerstation.h"
33#include "stationinfo.h" 33#include "stationinfo.h"
34 34
35 35
36using Opie::Net::OWirelessNetworkInterface; 36using Opie::Net::OWirelessNetworkInterface;
37using Opie::Net::ONetwork; 37using Opie::Net::ONetwork;
38 38
39 39
40QString OpieStumbler::appCaption() { 40QString OpieStumbler::appCaption() {
41 return QObject::tr("OpieStumbler"); 41 return QObject::tr("OpieStumbler");
42} 42}
43 43
44OpieStumbler::OpieStumbler(QWidget *parent, const char *name, WFlags) 44OpieStumbler::OpieStumbler(QWidget *parent, const char *name, WFlags)
45 :QMainWindow(parent, name, WStyle_ContextHelp), 45 :QMainWindow(parent, name, WStyle_ContextHelp),
46 m_listCurrent(new QListView(this)), m_listHistory(new QListView(this)), 46 m_listCurrent(new QListView(this)), m_listHistory(new QListView(this)),
47 m_stationsCurrent(new QList<Opie::Net::OStation>), 47 m_stationsCurrent(new QList<Opie::Net::OStation>),
48 m_popupCurrent(new QPopupMenu(this)), 48 m_popupCurrent(new QPopupMenu(this)),
49 m_popupHistory(new QPopupMenu(this)), 49 m_popupHistory(new QPopupMenu(this)),
50 m_db(NULL), m_proc(NULL) 50 m_db(NULL), m_proc(NULL)
51{ 51{
52 52
53 if ( QCopChannel::isRegistered("QPE/OpieStumbler") ) { 53 if ( QCopChannel::isRegistered("QPE/OpieStumbler") ) {
54 QCopEnvelope e("QPE/OpieStumbler", "show()"); 54 QCopEnvelope e("QPE/OpieStumbler", "show()");
55 exit(EXIT_SUCCESS); 55 exit(EXIT_SUCCESS);
56 } 56 }
57 57
58 QGridLayout *grid = new QGridLayout( this, 1, 1, 3, 0, "grid"); 58 QGridLayout *grid = new QGridLayout( this, 1, 1, 3, 0, "grid");
59 QVBoxLayout *lay = new QVBoxLayout( NULL, 0, 5, "lay" ); 59 QVBoxLayout *lay = new QVBoxLayout( NULL, 0, 5, "lay" );
60 QSpacerItem *spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Fixed ); 60 QSpacerItem *spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Fixed );
61 lay->addItem(spacer); 61 lay->addItem(spacer);
62 lay->addWidget(m_listCurrent); 62 lay->addWidget(m_listCurrent);
63 lay->addWidget(m_listHistory); 63 lay->addWidget(m_listHistory);
64 grid->addLayout(lay, 0, 0); 64 grid->addLayout(lay, 0, 0);
65 65
66 m_stationsCurrent->setAutoDelete(true); 66 m_stationsCurrent->setAutoDelete(true);
67 67
68 m_channel = new QCopChannel( "QPE/OpieStumbler", this ); 68 m_channel = new QCopChannel( "QPE/OpieStumbler", this );
69 connect(m_channel, SIGNAL(received(const QCString &, const QByteArray &)), 69 connect(m_channel, SIGNAL(received(const QCString &, const QByteArray &)),
70 this, SLOT(slotMessageReceived( const QCString &, const QByteArray &)) ); 70 this, SLOT(slotMessageReceived( const QCString &, const QByteArray &)) );
71 71
72 //setCaption(appCaption()); 72 //setCaption(appCaption());
73 //setCentralWidget(grid); 73 //setCentralWidget(grid);
74 setToolBarsMovable(false); 74 setToolBarsMovable(false);
75 75
76 76
77 QPopupMenu *fileMenu = new QPopupMenu(this); 77 QPopupMenu *fileMenu = new QPopupMenu(this);
78 QPopupMenu *configMenu = new QPopupMenu(this); 78 QPopupMenu *configMenu = new QPopupMenu(this);
79 QPopupMenu *scanMenu = new QPopupMenu(this); 79 QPopupMenu *scanMenu = new QPopupMenu(this);
80 80
81 fileMenu->insertItem( tr("Exit"), this, SLOT(close()) ); 81 fileMenu->insertItem( tr("Exit"), this, SLOT(close()) );
82 configMenu->insertItem( tr("Configure"), this, SLOT(slotConfigure()) ); 82 configMenu->insertItem( tr("Configure"), this, SLOT(slotConfigure()) );
83 scanMenu->insertItem( tr("Start"), this, SLOT(slotStartScanning()) ); 83 scanMenu->insertItem( tr("Start"), this, SLOT(slotStartScanning()) );
84 scanMenu->insertItem( tr("Stop"), this, SLOT(slotStopScanning()) ); 84 scanMenu->insertItem( tr("Stop"), this, SLOT(slotStopScanning()) );
85 85
86 m_popupCurrent->insertItem( tr("Show details"), this, SLOT(slotShowDetails()) ); 86 m_popupCurrent->insertItem( tr("Show details"), this, SLOT(slotShowDetails()) );
87 m_popupCurrent->insertItem( tr("Join Network"), this, SLOT(slotJoinNetwork()) ); 87 m_popupCurrent->insertItem( tr("Join Network"), this, SLOT(slotJoinNetwork()) );
88 88
89 menuBar()->insertItem(tr("File"), fileMenu); 89 menuBar()->insertItem(tr("File"), fileMenu);
90 menuBar()->insertItem(tr("Settings"), configMenu); 90 menuBar()->insertItem(tr("Settings"), configMenu);
91 menuBar()->insertItem(tr("Scanning"), scanMenu); 91 menuBar()->insertItem(tr("Scanning"), scanMenu);
92 92
93 QPEApplication::setStylusOperation(m_listCurrent->viewport(), QPEApplication::RightOnHold); 93 QPEApplication::setStylusOperation(m_listCurrent->viewport(), QPEApplication::RightOnHold);
94 QPEApplication::setStylusOperation(m_listHistory->viewport(), QPEApplication::RightOnHold); 94 QPEApplication::setStylusOperation(m_listHistory->viewport(), QPEApplication::RightOnHold);
95 95
96 m_listCurrent->addColumn(tr("SSID")); 96 m_listCurrent->addColumn(tr("SSID"));
97 m_listCurrent->addColumn(tr("Chan")); 97 m_listCurrent->addColumn(tr("Chan"));
98 m_listCurrent->addColumn(tr("Signal")); 98 m_listCurrent->addColumn(tr("Signal"));
99 m_listCurrent->addColumn(tr("Enc")); 99 m_listCurrent->addColumn(tr("Enc"));
100 m_listCurrent->setSelectionMode( QListView::Extended ); 100 m_listCurrent->setSelectionMode( QListView::Extended );
101 101
102 m_listHistory->addColumn(tr("SSID")); 102 m_listHistory->addColumn(tr("SSID"));
103 m_listHistory->addColumn(tr("Chan")); 103 m_listHistory->addColumn(tr("Chan"));
104 m_listHistory->addColumn(tr("Max Sig")); 104 m_listHistory->addColumn(tr("Max Sig"));
105 m_listHistory->addColumn(tr("Enc")); 105 m_listHistory->addColumn(tr("Enc"));
106 m_listHistory->addColumn(tr("Vendor")); 106 m_listHistory->addColumn(tr("Vendor"));
107 107
108 connect(m_listCurrent, SIGNAL(mouseButtonPressed (int, QListViewItem*, const QPoint&, int)), 108 connect(m_listCurrent, SIGNAL(mouseButtonPressed (int, QListViewItem*, const QPoint&, int)),
109 this, SLOT(slotCurrentMousePressed (int, QListViewItem*, const QPoint&, int))); 109 this, SLOT(slotCurrentMousePressed (int, QListViewItem*, const QPoint&, int)));
110 110
111 connect(m_listHistory, SIGNAL(mouseButtonPressed (int, QListViewItem*, const QPoint&, int)), 111 connect(m_listHistory, SIGNAL(mouseButtonPressed (int, QListViewItem*, const QPoint&, int)),
112 this, SLOT(slotHistoryMousePressed (int, QListViewItem*, const QPoint&, int))); 112 this, SLOT(slotHistoryMousePressed (int, QListViewItem*, const QPoint&, int)));
113 113
114 for(int i = CURCHAN; i <= CURENC; ++i) { 114 for(int i = CURCHAN; i <= CURENC; ++i) {
115 m_listCurrent->setColumnAlignment( i, Qt::AlignHCenter ); 115 m_listCurrent->setColumnAlignment( i, Qt::AlignHCenter );
116 m_listHistory->setColumnAlignment( i, Qt::AlignHCenter ); 116 m_listHistory->setColumnAlignment( i, Qt::AlignHCenter );
117 } 117 }
118 118
119 loadConfig(); 119 loadConfig();
120 m_stumbler = new Stumbler(m_interface, this); 120 m_stumbler = new Stumbler(m_interface, this);
121 connect(m_stumbler, SIGNAL(newdata()), this, SLOT(slotUpdateStations())); 121 connect(m_stumbler, SIGNAL(newdata()), this, SLOT(slotUpdateStations()));
122 122
123 QTimer::singleShot(1000, this, SLOT(slotLoadManufacturers()) ); 123 QTimer::singleShot(1000, this, SLOT(slotLoadManufacturers()) );
124 124
125 slotStartScanning(); 125 slotStartScanning();
126} 126}
127 127
128void OpieStumbler::slotConfigure() 128void OpieStumbler::slotConfigure()
129{ 129{
130 StumblerSettings settings(this, "Settings", true); 130 StumblerSettings settings(this, "Settings", true);
131 if (settings.exec() == QDialog::Accepted) 131 if (settings.exec() == QDialog::Accepted)
132 loadConfig(); 132 loadConfig();
133} 133}
134 134
135void OpieStumbler::loadConfig() 135void OpieStumbler::loadConfig()
136{ 136{
137 Config cfg("OpieStumbler", Config::User); 137 Config cfg("OpieStumbler", Config::User);
138 cfg.setGroup("General"); 138 cfg.setGroup("General");
139 m_interface = cfg.readEntry("interface", "wlan0"); 139 m_interface = cfg.readEntry("interface", "wlan0");
140} 140}
141 141
142void OpieStumbler::slotStartScanning() 142void OpieStumbler::slotStartScanning()
143{ 143{
144 setCaption(appCaption() + " (" + tr("Scanning") + ")"); 144 setCaption(appCaption() + " (" + tr("Scanning") + ")");
145 m_stumbler->start(); 145 m_stumbler->start();
146} 146}
147 147
148void OpieStumbler::slotStopScanning() 148void OpieStumbler::slotStopScanning()
149{ 149{
150 setCaption(appCaption()); 150 setCaption(appCaption());
151 m_stumbler->stop(); 151 m_stumbler->stop();
152} 152}
153 153
154void OpieStumbler::slotUpdateStations() 154void OpieStumbler::slotUpdateStations()
155{ 155{
156 m_stationsCurrent->clear(); 156 m_stationsCurrent->clear();
157 157
158 m_stationsCurrent = m_stumbler->stations(); 158 m_stationsCurrent = m_stumbler->stations();
159 if (m_stationsCurrent) { 159 if (m_stationsCurrent) {
160 QListIterator<Opie::Net::OStation> it(*m_stationsCurrent); 160 QListIterator<Opie::Net::OStation> it(*m_stationsCurrent);
161 for(; it.current(); ++it) { 161 for(; it.current(); ++it) {
162 Opie::Net::OStation *station = it.current(); 162 Opie::Net::OStation *station = it.current();
163 QListIterator<StumblerStation> itr(m_stationsHistory); 163 QListIterator<StumblerStation> itr(m_stationsHistory);
164 for( ; itr.current(); ++itr) { 164 for( ; itr.current(); ++itr) {
165 if (itr.current()->st->macAddress.toString() == station->macAddress.toString()) { 165 if (itr.current()->st->macAddress.toString() == station->macAddress.toString()) {
166 break; 166 break;
167 } 167 }
168 } 168 }
169 if (!itr.current()) { 169 if (!itr.current()) {
170 //We need to copy the date because m_statiosCurrent has autodelete enabled 170 //We need to copy the date because m_statiosCurrent has autodelete enabled
171 m_stationsHistory.append(new StumblerStation(new Opie::Net::OStation, QDateTime::currentDateTime())); 171 m_stationsHistory.append(new StumblerStation(new Opie::Net::OStation, QDateTime::currentDateTime()));
172 *(m_stationsHistory.last()->st) = (*station); 172 *(m_stationsHistory.last()->st) = (*station);
173 } 173 }
174 else { 174 else {
175 if ( itr.current()->st->level < station->level ) 175 if ( itr.current()->st->level < station->level )
176 itr.current()->st->level = station->level; 176 itr.current()->st->level = station->level;
177 177
178 itr.current()->lastTimeSeen = QDateTime::currentDateTime(); 178 itr.current()->lastTimeSeen = QDateTime::currentDateTime();
179 } 179 }
180 } 180 }
181 } 181 }
182 displayStations(); 182 displayStations();
183} 183}
184 184
185void OpieStumbler::displayStations() 185void OpieStumbler::displayStations()
186{ 186{
187 m_listCurrent->clear(); 187 m_listCurrent->clear();
188 for(QListIterator<Opie::Net::OStation> it(*m_stationsCurrent); it.current(); ++it) 188 for(QListIterator<Opie::Net::OStation> it(*m_stationsCurrent); it.current(); ++it)
189 new StationViewItem( m_listCurrent, it.current()->ssid, QString::number(it.current()->channel), 189 new StationViewItem( m_listCurrent, it.current()->ssid, QString::number(it.current()->channel),
190 QString::number(it.current()->level), it.current()->encrypted ? "Y": "N", it.current()->macAddress.toString() ); 190 QString::number(it.current()->level), it.current()->encrypted ? "Y": "N", it.current()->macAddress.toString() );
191 191
192 m_listHistory->clear(); 192 m_listHistory->clear();
193 for(QListIterator<StumblerStation> it(m_stationsHistory); it.current(); ++it) 193 for(QListIterator<StumblerStation> it(m_stationsHistory); it.current(); ++it)
194 new StationViewItem( m_listHistory, it.current()->st->ssid, QString::number(it.current()->st->channel), 194 new StationViewItem( m_listHistory, it.current()->st->ssid, QString::number(it.current()->st->channel),
195 QString::number(it.current()->st->level), it.current()->st->encrypted ? "Y": "N", 195 QString::number(it.current()->st->level), it.current()->st->encrypted ? "Y": "N",
196 manufacturer(it.current()->st->macAddress.toString()), it.current()->st->macAddress.toString() ); 196 manufacturer(it.current()->st->macAddress.toString()), it.current()->st->macAddress.toString() );
197} 197}
198 198
199void OpieStumbler::slotMessageReceived( const QCString &message, const QByteArray &parameters) 199void OpieStumbler::slotMessageReceived( const QCString &message, const QByteArray &parameters)
200{ 200{
201 Q_UNUSED(const_cast<QByteArray &>(parameters)) 201 Q_UNUSED(const_cast<QByteArray &>(parameters))
202 202
203 if ( message == "show()" ) 203 if ( message == "show()" )
204 show(); 204 show();
205} 205}
206 206
207void OpieStumbler::slotCurrentMousePressed(int button, QListViewItem * item, const QPoint &point, int c) 207void OpieStumbler::slotCurrentMousePressed(int button, QListViewItem * item, const QPoint &point, int c)
208{ 208{
209 Q_UNUSED(c) 209 Q_UNUSED(c)
210 210
211 if ( 2 == button ) { 211 if ( 2 == button ) {
212 m_mac = item->text(CURENC + 1); 212 m_mac = item->text(CURENC + 1);
213 m_popupCurrent->popup(point); 213 m_popupCurrent->popup(point);
214 } 214 }
215} 215}
216 216
217 217
218void OpieStumbler::slotHistoryMousePressed(int button, QListViewItem * item, const QPoint &point, int c) 218void OpieStumbler::slotHistoryMousePressed(int button, QListViewItem * item, const QPoint &point, int c)
219{ 219{
220 Q_UNUSED(c) 220 Q_UNUSED(c)
221 221
222 if ( 2 == button ) { 222 if ( 2 == button ) {
223 m_mac = item->text(HISVENDOR + 1); 223 m_mac = item->text(HISVENDOR + 1);
224 m_popupHistory->popup(point); 224 m_popupHistory->popup(point);
225 } 225 }
226} 226}
227 227
228void OpieStumbler::slotShowDetails() 228void OpieStumbler::slotShowDetails()
229{ 229{
230 QListIterator<StumblerStation> it(m_stationsHistory); 230 QListIterator<StumblerStation> it(m_stationsHistory);
231 for(; it.current() && it.current()->st->macAddress.toString() != m_mac; ++it ); 231 for(; it.current() && it.current()->st->macAddress.toString() != m_mac; ++it );
232 232
233 if( it.current() ) { 233 if( it.current() ) {
234 StationInfo info(it.current()->st->ssid, it.current()->st->type, QString::number(it.current()->st->channel), 234 StationInfo info(it.current()->st->ssid, it.current()->st->type, QString::number(it.current()->st->channel),
235 QString::number(it.current()->st->rates.last()/1000000), QString::number(it.current()->st->level), 235 QString::number(it.current()->st->rates.last()/1000000), QString::number(it.current()->st->level),
236 it.current()->st->encrypted ? "WEP": "No", 236 it.current()->st->encrypted ? "WEP": "No",
237 it.current()->st->macAddress.toString(), manufacturer(it.current()->st->macAddress.toString(), true), 237 it.current()->st->macAddress.toString(), manufacturer(it.current()->st->macAddress.toString(), true),
238 it.current()->lastTimeSeen.toString() ,this, "", true); 238 it.current()->lastTimeSeen.toString() ,this, "", true);
239 info.exec(); 239 info.exec();
240 } 240 }
241 241
242} 242}
243 243
244void OpieStumbler::slotLoadManufacturers() 244void OpieStumbler::slotLoadManufacturers()
245{ 245{
246 m_db = Opie::Net::OManufacturerDB::instance(); 246 m_db = Opie::Net::OManufacturerDB::instance();
247} 247}
248 248
249QString OpieStumbler::manufacturer( const QString &mac, bool extended ) 249QString OpieStumbler::manufacturer( const QString &mac, bool extended )
250{ 250{
251 QString retval; 251 QString retval;
252 if ( m_db ) 252 if ( m_db )
253 if ( extended ) 253 if ( extended )
254 retval = m_db->lookupExt(mac); 254 retval = m_db->lookupExt(mac);
255 else 255 else
256 retval = m_db->lookup(mac); 256 retval = m_db->lookup(mac);
257 257
258 if ( retval.isEmpty() ) 258 if ( retval.isEmpty() )
259 retval = tr("Unknown"); 259 retval = tr("Unknown");
260 260
261 return retval; 261 return retval;
262} 262}
263 263
264void OpieStumbler::slotJoinNetwork() 264void OpieStumbler::slotJoinNetwork()
265{ 265{
266 slotStopScanning(); 266 slotStopScanning();
267 267
268 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); 268 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface));
269 269
270 if( !wiface ) 270 if( !wiface )
271 return; 271 return;
272 272
273 QListIterator<StumblerStation> it(m_stationsHistory); 273 QListIterator<StumblerStation> it(m_stationsHistory);
274 274
275 for(; it.current() && it.current()->st->macAddress.toString() != m_mac; ++it ); 275 for(; it.current() && it.current()->st->macAddress.toString() != m_mac; ++it );
276 276
277 if( !it.current() ) 277 if( !it.current() )
278 return; 278 return;
279 279
280 m_ssid = it.current()->st->ssid.left(it.current()->st->ssid.length()-1); 280 m_ssid = it.current()->st->ssid.left(it.current()->st->ssid.length()-1);
281 m_splash = new QFrame( this, "splash", false, WStyle_StaysOnTop | WStyle_DialogBorder | WStyle_Customize ); 281 m_splash = new QFrame( this, "splash", false, WStyle_StaysOnTop | WStyle_DialogBorder | WStyle_Customize );
282 m_splash->setFrameStyle( QFrame::Panel | QFrame::Raised ); 282 m_splash->setFrameStyle( QFrame::Panel | QFrame::Raised );
283 m_splashBox = new QVBoxLayout( m_splash, 4, 4 ); 283 m_splashBox = new QVBoxLayout( m_splash, 4, 4 );
284 m_infoLabel = new QLabel( QString("<center><b>%1 %2</b></center>").arg(tr("Joining Network")).arg(m_ssid), m_splash ); 284 m_infoLabel = new QLabel( QString("<center><b>%1 %2</b></center>").arg(tr("Joining Network")).arg(m_ssid), m_splash );
285 m_pbar = new QProgressBar( 3, m_splash ); 285 m_pbar = new QProgressBar( 3, m_splash );
286 m_pbar->setCenterIndicator(true); 286 m_pbar->setCenterIndicator(true);
287 m_splashBox->addWidget( m_infoLabel ); 287 m_splashBox->addWidget( m_infoLabel );
288 m_splashBox->addWidget( m_pbar ); 288 m_splashBox->addWidget( m_pbar );
289 int sw = m_splashBox->sizeHint().width()*2; 289 int sw = m_splashBox->sizeHint().width() * 2;
290 int sh = m_splashBox->sizeHint().height(); 290 int sh = m_splashBox->sizeHint().height();
291 m_splash->setGeometry((240-(sw))/2, (320-sh)/2, sw, sh); 291 m_splash->setGeometry((qApp->desktop()->width() - sw)/2, (qApp->desktop()->height() - sh)/2, sw, sh);
292 m_splash->show(); 292 m_splash->show();
293 m_splash->raise(); 293 m_splash->raise();
294 294
295 Opie::Net::OStation *station = it.current()->st; 295 Opie::Net::OStation *station = it.current()->st;
296 296
297 odebug << "Bringing interface down" << oendl; 297 odebug << "Bringing interface down" << oendl;
298 wiface->setUp(false); 298 wiface->setUp(false);
299 299
300 odebug << "Setting mode to " << (station->type == "adhoc" ? "adhoc" : "managed") << oendl; 300 odebug << "Setting mode to " << (station->type == "adhoc" ? "adhoc" : "managed") << oendl;
301 wiface->setMode(station->type == "adhoc" ? "adhoc" : "managed" ); 301 wiface->setMode(station->type == "adhoc" ? "adhoc" : "managed" );
302 302
303 odebug << "Setting channel to " << station->channel << oendl; 303 odebug << "Setting channel to " << station->channel << oendl;
304 wiface->setChannel(station->channel); 304 wiface->setChannel(station->channel);
305 305
306 odebug << "Setting SSID to " << station->ssid << oendl; 306 odebug << "Setting SSID to " << station->ssid << oendl;
307 wiface->setSSID(station->ssid); 307 wiface->setSSID(station->ssid);
308 308
309 wiface->commit(); 309 wiface->commit();
310 310
311 odebug << "Bringing interface up" << oendl; 311 odebug << "Bringing interface up" << oendl;
312 wiface->setUp(true); 312 wiface->setUp(true);
313 m_pbar->setProgress(1); 313 m_pbar->setProgress(1);
314 //Wait 5 sec for association 314 //Wait 5 sec for association
315 QTimer::singleShot(5000, this, SLOT(slotAssociated())); 315 QTimer::singleShot(5000, this, SLOT(slotAssociated()));
316} 316}
317 317
318void OpieStumbler::slotAssociated() 318void OpieStumbler::slotAssociated()
319{ 319{
320 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); 320 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface));
321 321
322 if( !wiface ) { 322 if( !wiface ) {
323 slotCleanSplash(); 323 slotCleanSplash();
324 return; 324 return;
325 } 325 }
326 326
327 if (!wiface->isAssociated()) { 327 if (!wiface->isAssociated()) {
328 Global::statusMessage(tr("Could not Join")); 328 Global::statusMessage(tr("Could not Join"));
329 m_infoLabel->setText(tr("Could not Join")); 329 m_infoLabel->setText(tr("Could not Join"));
330 QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); 330 QTimer::singleShot(5000, this, SLOT(slotCleanSplash()));
331 return; 331 return;
332 } 332 }
333 333
334 Global::statusMessage(tr("Joined")); 334 Global::statusMessage(tr("Joined"));
335 m_pbar->setProgress(2); 335 m_pbar->setProgress(2);
336 m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Joined Network")).arg(m_ssid)); 336 m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Joined Network")).arg(m_ssid));
337 337
338 if(m_proc) { 338 if(m_proc) {
339 m_proc->kill(); 339 m_proc->kill();
340 delete m_proc; 340 delete m_proc;
341 } 341 }
342 342
343 m_proc = new Opie::Core::OProcess(this); 343 m_proc = new Opie::Core::OProcess(this);
344 344
345 *m_proc << "udhcpc" << "-f" << "-n" << "-i" << m_interface; 345 *m_proc << "udhcpc" << "-f" << "-n" << "-i" << m_interface;
346 m_proc->start(Opie::Core::OProcess::DontCare); 346 m_proc->start(Opie::Core::OProcess::DontCare);
347 QTimer::singleShot(5000, this, SLOT(slotCheckDHCP())); 347 QTimer::singleShot(5000, this, SLOT(slotCheckDHCP()));
348} 348}
349 349
350void OpieStumbler::slotCheckDHCP() 350void OpieStumbler::slotCheckDHCP()
351{ 351{
352 if(!m_proc->isRunning()) { 352 if(!m_proc->isRunning()) {
353 Global::statusMessage(tr("Could not Obtain an Address")); 353 Global::statusMessage(tr("Could not Obtain an Address"));
354 m_infoLabel->setText(QString("<center><b>%1</b></center>").arg(tr("Could not Obtain an Address"))); 354 m_infoLabel->setText(QString("<center><b>%1</b></center>").arg(tr("Could not Obtain an Address")));
355 delete m_proc; 355 delete m_proc;
356 m_proc = NULL; 356 m_proc = NULL;
357 QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); 357 QTimer::singleShot(5000, this, SLOT(slotCleanSplash()));
358 return; 358 return;
359 } 359 }
360 m_listCurrent->show(); 360 m_listCurrent->show();
361 m_pbar->setProgress(3); 361 m_pbar->setProgress(3);
362 362
363 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface)); 363 OWirelessNetworkInterface *wiface = static_cast<OWirelessNetworkInterface*>(ONetwork::instance()->interface(m_interface));
364 QString ipv4 = wiface->ipV4Address().toString(); 364 QString ipv4 = wiface->ipV4Address().toString();
365 m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Obtained IP")).arg(ipv4)); 365 m_infoLabel->setText(QString("<center><b>%1 %2</b></center>").arg(tr("Obtained IP")).arg(ipv4));
366 Global::statusMessage(tr("Obtained IP") + " " + ipv4); 366 Global::statusMessage(tr("Obtained IP") + " " + ipv4);
367 QTimer::singleShot(5000, this, SLOT(slotCleanSplash())); 367 QTimer::singleShot(5000, this, SLOT(slotCleanSplash()));
368 368
369} 369}
370 370
371void OpieStumbler::slotCleanSplash() 371void OpieStumbler::slotCleanSplash()
372{ 372{
373 delete m_pbar; 373 delete m_pbar;
374 m_pbar = 0; 374 m_pbar = 0;
375 375
376 delete m_infoLabel; 376 delete m_infoLabel;
377 m_infoLabel = 0; 377 m_infoLabel = 0;
378 378
379 delete m_splashBox; 379 delete m_splashBox;
380 m_splashBox = 0; 380 m_splashBox = 0;
381 381
382 delete m_splash; 382 delete m_splash;
383 m_splash = 0; 383 m_splash = 0;
384} 384}
385 385