summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/wlan/wlanimp2.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings/wlan/wlanimp2.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings/wlan/wlanimp2.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/noncore/settings/networksettings/wlan/wlanimp2.cpp b/noncore/settings/networksettings/wlan/wlanimp2.cpp
index 5cb78cf..11dfe74 100644
--- a/noncore/settings/networksettings/wlan/wlanimp2.cpp
+++ b/noncore/settings/networksettings/wlan/wlanimp2.cpp
@@ -361,25 +361,26 @@ void WLANImp::rescanNeighbourhood()
361 return; 361 return;
362 } 362 }
363 363
364 // open a packet capturer 364 // open a packet capturer
365 OPacketCapturer* cap = new OPacketCapturer(); 365 OPacketCapturer* cap = new OPacketCapturer();
366 cap->open( name ); 366 cap->open( name );
367 if ( !cap->isOpen() ) 367 if ( !cap->isOpen() )
368 { 368 {
369 owarn << "rescanNeighbourhood(): Unable to open libpcap (" << strerror( errno ) << ")." << oendl; 369 owarn << "rescanNeighbourhood(): Unable to open libpcap (" << strerror( errno ) << ")." << oendl;
370 return; 370 return;
371 } 371 }
372 372
373 // display splash screen 373 // disable button and display splash screen
374 rescanButton->setEnabled( false );
374 QFrame* splash = new QFrame( this, "splash", false, WStyle_StaysOnTop | WStyle_DialogBorder | WStyle_Customize ); 375 QFrame* splash = new QFrame( this, "splash", false, WStyle_StaysOnTop | WStyle_DialogBorder | WStyle_Customize );
375 splash->setLineWidth( 2 ); 376 splash->setLineWidth( 2 );
376 splash->setFrameStyle( QFrame::Panel | QFrame::Raised ); 377 splash->setFrameStyle( QFrame::Panel | QFrame::Raised );
377 QVBoxLayout* vbox = new QVBoxLayout( splash, 4, 4 ); 378 QVBoxLayout* vbox = new QVBoxLayout( splash, 4, 4 );
378 QLabel* lab = new QLabel( "<center><b>Scanning...</b><br>Please Wait...</center>", splash ); 379 QLabel* lab = new QLabel( "<center><b>Scanning...</b><br>Please Wait...</center>", splash );
379 QProgressBar* pb = new QProgressBar( wiface->channels(), splash ); 380 QProgressBar* pb = new QProgressBar( wiface->channels(), splash );
380 vbox->addWidget( lab ); 381 vbox->addWidget( lab );
381 vbox->addWidget( pb ); 382 vbox->addWidget( pb );
382 pb->setCenterIndicator( true ); 383 pb->setCenterIndicator( true );
383 pb->setFixedHeight( pb->sizeHint().height() ); 384 pb->setFixedHeight( pb->sizeHint().height() );
384 QWidget* widgetDesktop = qApp->desktop(); 385 QWidget* widgetDesktop = qApp->desktop();
385 int dw = widgetDesktop->width(); 386 int dw = widgetDesktop->width();
@@ -407,27 +408,28 @@ void WLANImp::rescanNeighbourhood()
407 } 408 }
408 else 409 else
409 { 410 {
410 odebug << "rescanNeighbourhood(): TADAA - something came in on channel " << i << "" << oendl; 411 odebug << "rescanNeighbourhood(): TADAA - something came in on channel " << i << "" << oendl;
411 handlePacket( p ); 412 handlePacket( p );
412 } 413 }
413 } 414 }
414 415
415 cap->close(); 416 cap->close();
416 wiface->setMode( "managed" ); // TODO: use previous mode 417 wiface->setMode( "managed" ); // TODO: use previous mode
417 wiface->setPromiscuousMode( false ); 418 wiface->setPromiscuousMode( false );
418 419
420 // hide splash screen and reenable button
419 splash->hide(); 421 splash->hide();
420 delete splash; 422 delete splash;
421 423 rescanButton->setEnabled( true );
422} 424}
423 425
424void WLANImp::handlePacket( OPacket* p ) 426void WLANImp::handlePacket( OPacket* p )
425{ 427{
426 428
427 // check if we received a beacon frame 429 // check if we received a beacon frame
428 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) ); 430 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) );
429 if ( beacon && beacon->managementType() == "Beacon" ) 431 if ( beacon && beacon->managementType() == "Beacon" )
430 { 432 {
431 433
432 QString type; 434 QString type;
433 if ( beacon->canIBSS() ) 435 if ( beacon->canIBSS() )