Diffstat (limited to 'noncore/applets/wirelessapplet/wireless.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/applets/wirelessapplet/wireless.cpp | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/noncore/applets/wirelessapplet/wireless.cpp b/noncore/applets/wirelessapplet/wireless.cpp index 72ac380..cee789c 100644 --- a/noncore/applets/wirelessapplet/wireless.cpp +++ b/noncore/applets/wirelessapplet/wireless.cpp | |||
@@ -51,6 +51,6 @@ | |||
51 | #define STYLE_ANTENNA 1 | 51 | #define STYLE_ANTENNA 1 |
52 | 52 | ||
53 | #define MDEBUG | 53 | //#define MDEBUG |
54 | //#undef MDEBUG | 54 | #undef MDEBUG |
55 | 55 | ||
56 | WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name ) | 56 | WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name ) |
@@ -220,4 +220,5 @@ void WirelessApplet::checkInterface() | |||
220 | interface = 0L; | 220 | interface = 0L; |
221 | ONetwork* net = ONetwork::instance(); | 221 | ONetwork* net = ONetwork::instance(); |
222 | net->synchronize(); | ||
222 | ONetwork::InterfaceIterator it = net->iterator(); | 223 | ONetwork::InterfaceIterator it = net->iterator(); |
223 | 224 | ||
@@ -325,12 +326,24 @@ WirelessApplet::~WirelessApplet() | |||
325 | void WirelessApplet::timerEvent( QTimerEvent* ) | 326 | void WirelessApplet::timerEvent( QTimerEvent* ) |
326 | { | 327 | { |
328 | #ifdef MDEBUG | ||
327 | qDebug( "WirelessApplet::timerEvent" ); | 329 | qDebug( "WirelessApplet::timerEvent" ); |
328 | OWirelessNetworkInterface* iface = interface; | 330 | #endif |
329 | 331 | if ( interface ) | |
330 | if ( iface ) | ||
331 | { | 332 | { |
333 | if ( !ONetwork::instance()->isPresent( (const char*) interface->name() ) ) | ||
334 | { | ||
335 | #ifdef MDEBUG | ||
336 | qDebug( "WIFIAPPLET: Interface no longer present." ); | ||
337 | #endif | ||
338 | interface = 0L; | ||
339 | mustRepaint(); | ||
340 | return; | ||
341 | } | ||
342 | |||
332 | if ( mustRepaint() ) | 343 | if ( mustRepaint() ) |
333 | { | 344 | { |
345 | #ifdef MDEBUG | ||
334 | qDebug( "WIFIAPPLET: A value has changed -> repainting." ); | 346 | qDebug( "WIFIAPPLET: A value has changed -> repainting." ); |
347 | #endif | ||
335 | repaint(); | 348 | repaint(); |
336 | } | 349 | } |
@@ -357,14 +370,12 @@ void WirelessApplet::mousePressEvent( QMouseEvent * ) | |||
357 | bool WirelessApplet::mustRepaint() | 370 | bool WirelessApplet::mustRepaint() |
358 | { | 371 | { |
359 | OWirelessNetworkInterface* iface = interface; | ||
360 | |||
361 | // check if there are enough changes to justify a (flickering) repaint | 372 | // check if there are enough changes to justify a (flickering) repaint |
362 | 373 | ||
363 | // has the interface changed? | 374 | // has the interface changed? |
364 | 375 | ||
365 | if ( iface != oldiface ) | 376 | if ( interface != oldiface ) |
366 | { | 377 | { |
367 | oldiface = iface; | 378 | oldiface = interface; |
368 | if ( iface ) | 379 | if ( interface ) |
369 | { | 380 | { |
370 | #ifdef MDEBUG | 381 | #ifdef MDEBUG |
@@ -392,5 +403,5 @@ bool WirelessApplet::mustRepaint() | |||
392 | 403 | ||
393 | int noiseH = 50; // iface->noisePercent() * ( height() - 3 ) / 100; | 404 | int noiseH = 50; // iface->noisePercent() * ( height() - 3 ) / 100; |
394 | int signalH = iface->signalStrength() * ( height() - 3 ) / 100; | 405 | int signalH = interface->signalStrength() * ( height() - 3 ) / 100; |
395 | int qualityH = 50; // iface->qualityPercent() * ( height() - 3 ) / 100; | 406 | int qualityH = 50; // iface->qualityPercent() * ( height() - 3 ) / 100; |
396 | 407 | ||
@@ -405,5 +416,5 @@ bool WirelessApplet::mustRepaint() | |||
405 | } | 416 | } |
406 | 417 | ||
407 | if ( rocESSID && ( oldESSID != iface->SSID() ) ) | 418 | if ( rocESSID && ( oldESSID != interface->SSID() ) ) |
408 | { | 419 | { |
409 | #ifdef MDEBUG | 420 | #ifdef MDEBUG |
@@ -412,5 +423,5 @@ bool WirelessApplet::mustRepaint() | |||
412 | renewDHCP(); | 423 | renewDHCP(); |
413 | } | 424 | } |
414 | else if ( rocFREQ && ( oldFREQ != iface->frequency() ) ) | 425 | else if ( rocFREQ && ( oldFREQ != interface->frequency() ) ) |
415 | { | 426 | { |
416 | #ifdef MDEBUG | 427 | #ifdef MDEBUG |
@@ -419,5 +430,5 @@ bool WirelessApplet::mustRepaint() | |||
419 | renewDHCP(); | 430 | renewDHCP(); |
420 | } | 431 | } |
421 | else if ( rocAP && ( oldAP != iface->associatedAP().toString() ) ) | 432 | else if ( rocAP && ( oldAP != interface->associatedAP().toString() ) ) |
422 | { | 433 | { |
423 | #ifdef MDEBUG | 434 | #ifdef MDEBUG |
@@ -426,5 +437,5 @@ bool WirelessApplet::mustRepaint() | |||
426 | renewDHCP(); | 437 | renewDHCP(); |
427 | } | 438 | } |
428 | else if ( rocMODE && ( oldMODE != iface->mode() ) ) | 439 | else if ( rocMODE && ( oldMODE != interface->mode() ) ) |
429 | { | 440 | { |
430 | #ifdef MDEBUG | 441 | #ifdef MDEBUG |
@@ -434,8 +445,8 @@ bool WirelessApplet::mustRepaint() | |||
434 | } | 445 | } |
435 | 446 | ||
436 | oldESSID = iface->SSID(); | 447 | oldESSID = interface->SSID(); |
437 | oldMODE = iface->mode(); | 448 | oldMODE = interface->mode(); |
438 | oldFREQ = iface->frequency(); | 449 | oldFREQ = interface->frequency(); |
439 | oldAP = iface->associatedAP().toString(); | 450 | oldAP = interface->associatedAP().toString(); |
440 | 451 | ||
441 | return false; | 452 | return false; |
@@ -444,6 +455,5 @@ bool WirelessApplet::mustRepaint() | |||
444 | void WirelessApplet::updatePopupWindow() | 455 | void WirelessApplet::updatePopupWindow() |
445 | { | 456 | { |
446 | OWirelessNetworkInterface* iface = interface; | 457 | int qualityH = interface->signalStrength(); |
447 | int qualityH = iface->signalStrength(); | ||
448 | 458 | ||
449 | if ( status->mgraph ) | 459 | if ( status->mgraph ) |
@@ -451,19 +461,17 @@ void WirelessApplet::updatePopupWindow() | |||
451 | 461 | ||
452 | QString freqString; | 462 | QString freqString; |
453 | QString cell = ( iface->mode() == "Managed" ) ? "AP: " : "Cell: "; | 463 | QString cell = ( interface->mode() == "Managed" ) ? "AP: " : "Cell: "; |
454 | freqString.sprintf( "%.3f GHz", iface->frequency() ); | 464 | freqString.sprintf( "%.3f GHz", interface->frequency() ); |
455 | status->statusLabel->setText( "Station: " + iface->nickName() + "<br>" + | 465 | status->statusLabel->setText( "Station: " + interface->nickName() + "<br>" + |
456 | "ESSID: " + iface->SSID() + "<br>" + | 466 | "ESSID: " + interface->SSID() + "<br>" + |
457 | "MODE: " + iface->mode() + "<br>" + | 467 | "MODE: " + interface->mode() + "<br>" + |
458 | "FREQ: " + freqString + "<br>" + | 468 | "FREQ: " + freqString + "<br>" + |
459 | cell + " " + iface->associatedAP().toString() ); | 469 | cell + " " + interface->associatedAP().toString() ); |
460 | } | 470 | } |
461 | 471 | ||
462 | const char** WirelessApplet::getQualityPixmap() | 472 | const char** WirelessApplet::getQualityPixmap() |
463 | { | 473 | { |
464 | OWirelessNetworkInterface* iface = interface; | 474 | if ( !interface ) return ( const char** ) nowireless_xpm; |
465 | 475 | int qualityH = interface->signalStrength(); | |
466 | if ( !iface ) return ( const char** ) nowireless_xpm; | ||
467 | int qualityH = iface->signalStrength(); | ||
468 | if ( qualityH < 0 ) return ( const char** ) nowireless_xpm; | 476 | if ( qualityH < 0 ) return ( const char** ) nowireless_xpm; |
469 | 477 | ||
@@ -483,6 +491,4 @@ const char** WirelessApplet::getQualityPixmap() | |||
483 | void WirelessApplet::paintEvent( QPaintEvent* ) | 491 | void WirelessApplet::paintEvent( QPaintEvent* ) |
484 | { | 492 | { |
485 | OWirelessNetworkInterface* iface = interface; | ||
486 | |||
487 | QPainter p( this ); | 493 | QPainter p( this ); |
488 | QColor color; | 494 | QColor color; |
@@ -497,5 +503,5 @@ void WirelessApplet::paintEvent( QPaintEvent* ) | |||
497 | int noiseH = 30; // iface->noisePercent() * ( height() - 3 ) / 100; | 503 | int noiseH = 30; // iface->noisePercent() * ( height() - 3 ) / 100; |
498 | int signalH = 50; // iface->signalPercent() * ( height() - 3 ) / 100; | 504 | int signalH = 50; // iface->signalPercent() * ( height() - 3 ) / 100; |
499 | int qualityH = iface->signalStrength(); // iface->qualityPercent() * ( height() - 3 ) / 100; | 505 | int qualityH = interface->signalStrength(); // iface->qualityPercent() * ( height() - 3 ) / 100; |
500 | 506 | ||
501 | double intensity; | 507 | double intensity; |