Diffstat (limited to 'noncore/applets/wirelessapplet/wireless.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/applets/wirelessapplet/wireless.cpp | 211 |
1 files changed, 112 insertions, 99 deletions
diff --git a/noncore/applets/wirelessapplet/wireless.cpp b/noncore/applets/wirelessapplet/wireless.cpp index 763aab8..cbaf5d6 100644 --- a/noncore/applets/wirelessapplet/wireless.cpp +++ b/noncore/applets/wirelessapplet/wireless.cpp @@ -1,6 +1,4 @@ /********************************************************************** -** Copyright (C) 2002 Michael 'Mickey' Lauer -** <mickey@tm.informatik.uni-frankfurt.de> -** http://www.Vanille.de +** Copyright (C) 2002-2004 Michael 'Mickey' Lauer <mickey@vanille.de> ** ** This file may be distributed and/or modified under the terms of the @@ -15,9 +13,21 @@ #include "wireless.h" +#include "networkinfo.h" +#include "mgraph.h" +#include "advancedconfig.h" +#include "connect0.xpm" +#include "connect1.xpm" +#include "connect2.xpm" +#include "connect3.xpm" +#include "connect4.xpm" +#include "connect5.xpm" +#include "nowireless.xpm" -#include <qapplication.h> +/* OPIE */ +#include <opie2/otaskbarapplet.h> #include <qpe/qpeapplication.h> #include <qpe/config.h> +/* QT */ #include <qpoint.h> #include <qradiobutton.h> @@ -34,20 +44,8 @@ #include <qtextstream.h> +/* STD */ #include <sys/types.h> #include <signal.h> -#include "networkinfo.h" -#include "mgraph.h" - -#include "advancedconfig.h" - -#include "connect0.xpm" -#include "connect1.xpm" -#include "connect2.xpm" -#include "connect3.xpm" -#include "connect4.xpm" -#include "connect5.xpm" -#include "nowireless.xpm" - #define STYLE_BARS 0 #define STYLE_ANTENNA 1 @@ -57,5 +55,5 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name ) - : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet ) + : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet ) { @@ -71,13 +69,13 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const statusLabel = new QLabel( this, "statuslabel" ); QString text( "Wireless Status:<br>" - "*** Unknown ***<br>" - "Card not inserted ?<br>" - "Or Sharp ROM ?<br>" - "CELL: 00:00:00:00:00:00" ); -/* QString text( "Station: Unknown<br>" - "ESSID: Unknown<br>" - "MODE: Unknown<br>" - "FREQ: Unknown<br>" - "CELL: AA:BB:CC:DD:EE:FF" ); */ + "*** Unknown ***<br>" + "Card not inserted ?<br>" + "Or Sharp ROM ?<br>" + "CELL: 00:00:00:00:00:00" ); + /* QString text( "Station: Unknown<br>" + "ESSID: Unknown<br>" + "MODE: Unknown<br>" + "FREQ: Unknown<br>" + "CELL: AA:BB:CC:DD:EE:FF" ); */ statusLabel->setText( text ); statusLabel->setFixedSize( statusLabel->sizeHint() ); @@ -137,8 +135,8 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const applet->displayStyleChange( displayStyle ); applet->updateDelayChange( updateFrequency ); - + connect( group, SIGNAL( clicked( int ) ), this, SLOT( displayStyleChange( int ) ) ); - + applet->updateDHCPConfig( rocESSID, rocFREQ, rocAP, rocMODE ); } @@ -146,5 +144,5 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const void WirelessControl::advancedConfigClicked() { - AdvancedConfig* a = new AdvancedConfig( this, "dialog", TRUE ); + AdvancedConfig * a = new AdvancedConfig( this, "dialog", TRUE ); int result = a->exec(); a->hide(); @@ -174,14 +172,14 @@ void WirelessControl::displayStyleChange( int style ) void WirelessControl::show ( bool ) { - QPoint curPos = applet->mapToGlobal( QPoint ( 0, 0 ) ); + QPoint curPos = applet->mapToGlobal( QPoint ( 0, 0 ) ); - int w = sizeHint().width(); - int x = curPos.x() - ( w / 2 ); + int w = sizeHint().width(); + int x = curPos.x() - ( w / 2 ); - if ( ( x + w ) > QPEApplication::desktop()->width() ) - x = QPEApplication::desktop ( )-> width ( ) - w; + if ( ( x + w ) > QPEApplication::desktop() ->width() ) + x = QPEApplication::desktop ( ) -> width ( ) - w; - move( x, curPos.y () - sizeHint().height () ); - QFrame::show(); + move( x, curPos.y () - sizeHint().height () ); + QFrame::show(); } @@ -190,5 +188,5 @@ void WirelessControl::readConfig() Config cfg( "qpe" ); cfg.setGroup( "Wireless" ); - + updateFrequency = cfg.readNumEntry( "UpdateFrequency", 2 ); displayStyle = cfg.readNumEntry( "DisplayStyle", STYLE_ANTENNA ); @@ -205,11 +203,11 @@ void WirelessControl::writeConfigEntry( const char *entry, int val ) cfg.writeEntry( entry, val ); } - + //=========================================================================== WirelessApplet::WirelessApplet( QWidget *parent, const char *name ) - : QWidget( parent, name ), visualStyle( STYLE_ANTENNA ), - timer( 0 ), interface( 0 ), - rocESSID( false ), rocFREQ( false ), rocAP( false ), rocMODE( false ) + : QWidget( parent, name ), visualStyle( STYLE_ANTENNA ), + timer( 0 ), interface( 0 ), + rocESSID( false ), rocFREQ( false ), rocAP( false ), rocMODE( false ) { setFixedHeight( 18 ); @@ -225,6 +223,7 @@ void WirelessApplet::checkInterface() { #ifdef MDEBUG - qDebug( "WIFIAPPLET: using interface '%s'", (const char*) interface->getName() ); + qDebug( "WIFIAPPLET: using interface '%s'", ( const char* ) interface->getName() ); #endif + } else @@ -245,12 +244,12 @@ void WirelessApplet::renewDHCP() QString pidfile; if ( !interface ) - return; + return ; QString ifacename( interface->getName() ); // At first we are trying dhcpcd - pidfile.sprintf( "/var/run/dhcpcd-%s.pid", (const char* ) ifacename ); + pidfile.sprintf( "/var/run/dhcpcd-%s.pid", ( const char* ) ifacename ); #ifdef MDEBUG - qDebug( "WIFIAPPLET: dhcpcd pidfile is '%s'", (const char*) pidfile ); + qDebug( "WIFIAPPLET: dhcpcd pidfile is '%s'", ( const char* ) pidfile ); #endif int pid; @@ -265,5 +264,5 @@ void WirelessApplet::renewDHCP() #endif kill( pid, SIGALRM ); - return; + return ; } @@ -272,7 +271,7 @@ void WirelessApplet::renewDHCP() qDebug( "WIFIAPPLET: dhcpcd not available." ); #endif - pidfile.sprintf( "/var/run/udhcpc.%s.pid", (const char*) ifacename ); + pidfile.sprintf( "/var/run/udhcpc.%s.pid", ( const char* ) ifacename ); #ifdef MDEBUG - qDebug( "WIFIAPPLET: udhcpc pidfile is '%s'", (const char*) pidfile ); + qDebug( "WIFIAPPLET: udhcpc pidfile is '%s'", ( const char* ) pidfile ); #endif QFile pfile2( pidfile ); @@ -286,5 +285,5 @@ void WirelessApplet::renewDHCP() #endif kill( pid, SIGUSR1 ); - return; + return ; } } @@ -315,11 +314,10 @@ void WirelessApplet::displayStyleChange( int style ) WirelessApplet::~WirelessApplet() -{ -} +{} void WirelessApplet::timerEvent( QTimerEvent* ) { - MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; - + MWirelessNetworkInterface * iface = ( MWirelessNetworkInterface* ) interface; + if ( iface ) { @@ -329,21 +327,23 @@ void WirelessApplet::timerEvent( QTimerEvent* ) interface = 0; mustRepaint(); - return; - } else - if ( mustRepaint() ) - { - //qDebug( "WIFIAPPLET: A value has changed -> repainting." ); - repaint(); + return ; } - + else + if ( mustRepaint() ) + { + //qDebug( "WIFIAPPLET: A value has changed -> repainting." ); + repaint(); + } + if ( status->isVisible() ) updatePopupWindow(); - } else checkInterface(); + } + else checkInterface(); } -void WirelessApplet::mousePressEvent( QMouseEvent *) -{ +void WirelessApplet::mousePressEvent( QMouseEvent * ) +{ if ( status->isVisible() ) - status->hide(); + status->hide(); else status->show( true ); @@ -352,10 +352,10 @@ void WirelessApplet::mousePressEvent( QMouseEvent *) bool WirelessApplet::mustRepaint() { - MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; - + MWirelessNetworkInterface * iface = ( MWirelessNetworkInterface* ) interface; + // check if there are enough changes to justify a (flickering) repaint - + // has the interface changed? - + if ( iface != oldiface ) { @@ -377,7 +377,7 @@ bool WirelessApplet::mustRepaint() } } - + const char** pixmap = getQualityPixmap(); - + if ( pixmap && ( pixmap != oldpixmap ) ) { @@ -385,12 +385,12 @@ bool WirelessApplet::mustRepaint() return true; } - + int noiseH = iface->noisePercent() * ( height() - 3 ) / 100; int signalH = iface->signalPercent() * ( height() - 3 ) / 100; int qualityH = iface->qualityPercent() * ( height() - 3 ) / 100; - + if ( ( noiseH != oldnoiseH ) - || ( signalH != oldsignalH ) - || ( qualityH != oldqualityH ) ) + || ( signalH != oldsignalH ) + || ( qualityH != oldqualityH ) ) { oldnoiseH = noiseH; @@ -403,5 +403,5 @@ bool WirelessApplet::mustRepaint() { #ifdef MDEBUG - qDebug( "WIFIAPPLET: ESSID has changed."); + qDebug( "WIFIAPPLET: ESSID has changed." ); #endif renewDHCP(); @@ -410,5 +410,5 @@ bool WirelessApplet::mustRepaint() { #ifdef MDEBUG - qDebug( "WIFIAPPLET: FREQ has changed."); + qDebug( "WIFIAPPLET: FREQ has changed." ); #endif renewDHCP(); @@ -417,5 +417,5 @@ bool WirelessApplet::mustRepaint() { #ifdef MDEBUG - qDebug( "WIFIAPPLET: AP has changed."); + qDebug( "WIFIAPPLET: AP has changed." ); #endif renewDHCP(); @@ -424,14 +424,14 @@ bool WirelessApplet::mustRepaint() { #ifdef MDEBUG - qDebug( "WIFIAPPLET: MODE has changed."); + qDebug( "WIFIAPPLET: MODE has changed." ); #endif renewDHCP(); } - + oldESSID = iface->essid; oldMODE = iface->mode; oldFREQ = iface->freq; oldAP = iface->APAddr; - + return false; } @@ -439,10 +439,10 @@ bool WirelessApplet::mustRepaint() void WirelessApplet::updatePopupWindow() { - MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; + MWirelessNetworkInterface * iface = ( MWirelessNetworkInterface* ) interface; int qualityH = iface->qualityPercent(); if ( status->mgraph ) status->mgraph->addValue( qualityH, false ); - + QString freqString; QString cell = ( iface->mode == "Managed" ) ? "AP: " : "Cell: "; @@ -453,18 +453,18 @@ void WirelessApplet::updatePopupWindow() "FREQ: " + freqString + "<br>" + cell + " " + iface->APAddr ); -} +} const char** WirelessApplet::getQualityPixmap() -{ - MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; - +{ + MWirelessNetworkInterface * iface = ( MWirelessNetworkInterface* ) interface; + if ( !iface ) return ( const char** ) nowireless_xpm; int qualityH = iface->qualityPercent(); if ( qualityH < 0 ) return ( const char** ) nowireless_xpm; - + if ( visualStyle == STYLE_ANTENNA ) { if ( qualityH < 1 ) return ( const char** ) connect0_xpm; - if ( qualityH < 17 ) return ( const char** ) connect1_xpm; + if ( qualityH < 17 ) return ( const char** ) connect1_xpm; if ( qualityH < 34 ) return ( const char** ) connect2_xpm; if ( qualityH < 50 ) return ( const char** ) connect3_xpm; @@ -472,5 +472,5 @@ const char** WirelessApplet::getQualityPixmap() return ( const char** ) connect5_xpm; } - + return 0; // please draw your bars } @@ -478,7 +478,7 @@ const char** WirelessApplet::getQualityPixmap() void WirelessApplet::paintEvent( QPaintEvent* ) { - MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; + MWirelessNetworkInterface * iface = ( MWirelessNetworkInterface* ) interface; - QPainter p(this); + QPainter p( this ); QColor color; @@ -507,8 +507,8 @@ void WirelessApplet::paintEvent( QPaintEvent* ) for ( int i = 0; i < pixelHeight; ++i ) { - intensity = 50 + ( (double) i / (double) pixelHeight ) * 205; + intensity = 50 + ( ( double ) i / ( double ) pixelHeight ) * 205; color.setHsv( Hue, 255, intensity ); p.setPen ( color ); - p.drawLine( leftoffset, height()-bottomoffset-i, pixelWidth+leftoffset, height()-bottomoffset-i ); + p.drawLine( leftoffset, height() - bottomoffset - i, pixelWidth + leftoffset, height() - bottomoffset - i ); } @@ -519,8 +519,8 @@ void WirelessApplet::paintEvent( QPaintEvent* ) for ( int i = 0; i < pixelHeight; ++i ) { - intensity = 50 + ( (double) i / (double) pixelHeight ) * 205; + intensity = 50 + ( ( double ) i / ( double ) pixelHeight ) * 205; color.setHsv( Hue, 255, intensity ); p.setPen ( color ); - p.drawLine( leftoffset, height()-bottomoffset-i, pixelWidth+leftoffset, height()-bottomoffset-i ); + p.drawLine( leftoffset, height() - bottomoffset - i, pixelWidth + leftoffset, height() - bottomoffset - i ); } @@ -531,9 +531,22 @@ void WirelessApplet::paintEvent( QPaintEvent* ) for ( int i = 0; i < pixelHeight; ++i ) { - intensity = 50 + ( (double) i / (double) pixelHeight ) * 205; + intensity = 50 + ( ( double ) i / ( double ) pixelHeight ) * 205; color.setHsv( Hue, 255, intensity ); p.setPen ( color ); - p.drawLine( leftoffset, height()-bottomoffset-i, pixelWidth+leftoffset, height()-bottomoffset-i ); + p.drawLine( leftoffset, height() - bottomoffset - i, pixelWidth + leftoffset, height() - bottomoffset - i ); } - } + } } + + +int WirelessApplet::position() +{ + return 6; +} + + +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( OTaskbarAppletWrapper<WirelessApplet> ); +} + |