author | erik <erik> | 2007-03-06 01:25:46 (UTC) |
---|---|---|
committer | erik <erik> | 2007-03-06 01:25:46 (UTC) |
commit | f6b4fc71812aa4db9c7209e28667010d1f04d771 (patch) (side-by-side diff) | |
tree | 77bc5b50326ba2d525684eaf46b671b82defcf3c /core | |
parent | 3efe70df6fdaf32a8213ceadbdd1679a0a658934 (diff) | |
download | opie-f6b4fc71812aa4db9c7209e28667010d1f04d771.zip opie-f6b4fc71812aa4db9c7209e28667010d1f04d771.tar.gz opie-f6b4fc71812aa4db9c7209e28667010d1f04d771.tar.bz2 |
Reworked to fit into the Opie style guidelines.
-rw-r--r-- | core/applets/irdaapplet/irda.cpp | 134 | ||||
-rw-r--r-- | core/applets/irdaapplet/irda.h | 6 |
2 files changed, 89 insertions, 51 deletions
diff --git a/core/applets/irdaapplet/irda.cpp b/core/applets/irdaapplet/irda.cpp index cea836e..d57104b 100644 --- a/core/applets/irdaapplet/irda.cpp +++ b/core/applets/irdaapplet/irda.cpp @@ -41,30 +41,38 @@ //=========================================================================== -IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) - : QWidget ( parent, name ) +IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) : + QWidget ( parent, name ), + m_irda_active( false ), + m_irda_discovery_active( false ), + m_receive_active( false ), + m_receive_state_changed( false ), + m_popup( 0 ), + m_wasOn( false ), + m_wasDiscover( false ) { setFixedHeight( AppLnk::smallIconSize() ); setFixedWidth( AppLnk::smallIconSize() ); - m_sockfd = ::socket ( PF_INET, SOCK_DGRAM, IPPROTO_IP ); - - m_irdaOnPixmap = Opie::Core::OResource::loadPixmap( "irdaapplet/irdaon", Opie::Core::OResource::SmallIcon ); - m_irdaOffPixmap = Opie::Core::OResource::loadPixmap( "irdaapplet/irdaoff", Opie::Core::OResource::SmallIcon ); - m_irdaDiscoveryOnPixmap = Opie::Core::OResource::loadPixmap( "irdaapplet/magglass", Opie::Core::OResource::SmallIcon ); - m_receiveActivePixmap = Opie::Core::OResource::loadPixmap( "irdaapplet/receive", Opie::Core::OResource::SmallIcon ); - - m_irda_active = false; - m_irda_discovery_active = false; - m_receive_active = false; - m_receive_state_changed = false; - m_popup = 0; - m_wasOn = false; - m_wasDiscover = false; + if (m_sockfd = ::socket ( PF_INET, SOCK_DGRAM, IPPROTO_IP ) == -1) + perror ( "failed grabbing IrDA socket" ); + + m_irdaOnPixmap = + Opie::Core::OResource::loadPixmap( "irdaapplet/irdaon", + Opie::Core::OResource::SmallIcon ); + m_irdaOffPixmap = + Opie::Core::OResource::loadPixmap( "irdaapplet/irdaoff", + Opie::Core::OResource::SmallIcon ); + m_irdaDiscoveryOnPixmap = + Opie::Core::OResource::loadPixmap( "irdaapplet/magglass", + Opie::Core::OResource::SmallIcon ); + m_receiveActivePixmap = + Opie::Core::OResource::loadPixmap( "irdaapplet/receive", + Opie::Core::OResource::SmallIcon ); QCopChannel* chan = new QCopChannel("QPE/IrDaApplet", this ); - connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), - this, SLOT(slotMessage(const QCString&,const QByteArray&) ) ); + connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), this, + SLOT(slotMessage(const QCString&,const QByteArray&) ) ); } int IrdaApplet::position() @@ -94,13 +102,22 @@ void IrdaApplet::popup ( QString message, QString icon ) if ( icon. isEmpty ( )) m_popup-> insertItem ( message, 0 ); else - m_popup-> insertItem ( QIconSet ( Opie::Core::OResource::loadPixmap ( icon, Opie::Core::OResource::SmallIcon )), - message, 0 ); + m_popup-> insertItem ( QIconSet ( + Opie::Core::OResource::loadPixmap ( + icon, + Opie::Core::OResource::SmallIcon + ) + ), + message, 0 + ); QPoint p = mapToGlobal ( QPoint ( 0, 0 )); QSize s = m_popup-> sizeHint ( ); - m_popup-> popup ( QPoint ( p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), - p. y ( ) - s. height ( ))); + m_popup-> popup ( QPoint ( + p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), + p. y ( ) - s. height ( ) + ) + ); QTimer::singleShot ( 2000, this, SLOT( popupTimeout())); } @@ -115,7 +132,7 @@ bool IrdaApplet::checkIrdaStatus ( ) struct ifreq ifr; strcpy ( ifr. ifr_name, "irda0" ); - if ( ::ioctl ( m_sockfd, SIOCGIFFLAGS, &ifr ) < 0 ) + if ( m_sockfd < 0 || ::ioctl ( m_sockfd, SIOCGIFFLAGS, &ifr ) < 0 ) return false; return ( ifr. ifr_flags & IFF_UP ); @@ -126,19 +143,18 @@ bool IrdaApplet::setIrdaStatus ( bool b ) struct ifreq ifr; strcpy ( ifr. ifr_name, "irda0" ); - if ( ::ioctl ( m_sockfd, SIOCGIFFLAGS, &ifr ) < 0 ) + if ( m_sockfd < 0 || ::ioctl ( m_sockfd, SIOCGIFFLAGS, &ifr ) < 0 ) return false; - if ( b ) { + if ( b ) ifr. ifr_flags |= IFF_UP; - } else { setIrdaDiscoveryStatus ( 0 ); setIrdaReceiveStatus ( 0 ); ifr. ifr_flags &= ~IFF_UP; } - if ( ::ioctl ( m_sockfd, SIOCSIFFLAGS, &ifr ) < 0 ) + if ( m_sockfd < 0 || ::ioctl ( m_sockfd, SIOCSIFFLAGS, &ifr ) < 0 ) return false; return true; @@ -196,19 +212,27 @@ void IrdaApplet::showDiscovered ( ) QString discoveredDevice; QString deviceAddr; - // since it is /proc we _must_ use QTextStream - QStringList list = QStringList::split ( "\n", QTextStream ( &discovery ). read ( )); + /*! + * @note To read /proc, it makes more sense to use QTextStream. + */ + QStringList list = + QStringList::split ( "\n", QTextStream ( &discovery ). read ( )); QMap <QString, QString>::Iterator it; for ( it = m_devices. begin ( ); it != m_devices. end ( ); ++it ) it. data ( ). prepend ( "+++" ); - for ( QStringList::Iterator lit = list. begin ( ); lit != list. end ( ); ++lit ) { + for ( QStringList::Iterator lit = list. begin ( ); + lit != list. end ( ); ++lit + ) + { const QString &line = *lit; if ( line. startsWith ( "nickname:" )) { - discoveredDevice = line. mid ( line. find ( ':' ) + 2, line. find ( ',' ) - line. find ( ':' ) - 2 ); + discoveredDevice = + line. mid ( line. find ( ':' ) + 2, line. find ( ',' ) - + line. find ( ':' ) - 2 ); deviceAddr = line. mid ( line. find ( "daddr:" ) + 9, 8 ); // odebug << discoveredDevice + "(" + deviceAddr + ")" << oendl; @@ -223,7 +247,8 @@ void IrdaApplet::showDiscovered ( ) } for ( it = m_devices. begin ( ); it != m_devices. end ( ); ) { - // odebug << "IrdaMon: delete " + it.currentKey() + "=" + *devicesAvailable[it.currentKey()] + "?" << oendl; + // odebug << "IrdaMon: delete " + it.currentKey() + "=" + + // *devicesAvailable[it.currentKey()] + "?" << oendl; if ( it. data ( ). left ( 3 ) == "+++" ) { popup ( tr( "Lost:" ) + " " + it. data ( ). mid ( 3 )); @@ -231,12 +256,13 @@ void IrdaApplet::showDiscovered ( ) QMap <QString, QString>::Iterator tmp = it; tmp++; - m_devices. remove ( it ); // in contrast to QValueListIterator this remove doesn't return the next Iterator - it = tmp; + m_devices. remove ( it ); + ///< @note In contrast to QValueListIterator this remove doesn't + ///< return the next Iterator + it = tmp; qcopsend = true; - } - else + } else it++; } // XXX if( qcopsend ) { @@ -259,8 +285,11 @@ void IrdaApplet::mousePressEvent ( QMouseEvent * ) if ( m_irda_active && !m_devices. isEmpty ( )) { menu-> insertItem ( tr( "Discovered Device:" ), 9 ); - for ( QMap<QString, QString>::Iterator it = m_devices. begin ( ); it != m_devices. end ( ); ++it ) + for ( QMap<QString, QString>::Iterator it = m_devices. begin ( ); + it != m_devices. end ( ); ++it ) + { menu-> insertItem ( *it ); + } menu-> insertSeparator ( ); } @@ -268,17 +297,24 @@ void IrdaApplet::mousePressEvent ( QMouseEvent * ) menu-> insertItem ( m_irda_active ? tr( "Disable IrDA" ) : tr( "Enable IrDA" ), 0 ); if ( m_irda_active ) { - menu-> insertItem ( m_irda_discovery_active ? tr( "Disable Discovery" ) : tr( "Enable Discovery" ), 1 ); + menu-> insertItem ( + m_irda_discovery_active ? tr( "Disable Discovery" ) : + tr( "Enable Discovery" ), 1 + ); /* Only Receive if OBEX is installed */ if( Ir::supported() ) - menu-> insertItem ( m_receive_active ? tr( "Disable Receive" ) : tr( "Enable Receive" ), 2 ); + menu-> insertItem ( + m_receive_active ? tr( "Disable Receive" ) : + tr( "Enable Receive" ), 2 + ); } QPoint p = mapToGlobal ( QPoint ( 0, 0 ) ); QSize s = menu-> sizeHint ( ); - p = QPoint ( p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), p. y ( ) - s. height ( )); + p = QPoint ( p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ), p. y ( ) - + s. height ( )); switch ( menu-> exec ( p )) { case 0: @@ -315,9 +351,12 @@ void IrdaApplet::timerEvent ( QTimerEvent * ) if ( m_irda_discovery_active ) showDiscovered ( ); - if (( m_irda_active != oldactive ) || ( m_irda_discovery_active != olddiscovery ) || receiveUpdate ) + if (( m_irda_active != oldactive ) || + ( m_irda_discovery_active != olddiscovery ) || receiveUpdate ) + { update ( ); } +} void IrdaApplet::paintEvent ( QPaintEvent * ) { @@ -331,12 +370,12 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) if ( m_receive_active ) p.drawPixmap( 0, 1, m_receiveActivePixmap ); } -/* - * We know 3 calls - * a) enable - * b) disable - * a and b will temp enable the IrDa device and disable will disable it again if it wasn't on - * c) listDevices: We will return a list of known devices + +/*! + * We recognize 3 events: + * - enable: Attempt to enable the IrDA device + * - disable: Attempt to disable the IrDA device if it was already enabled + * - listDevices: Returns a list of known IrDA devices */ void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ) { if ( str == "enableIrda()") { @@ -368,3 +407,4 @@ void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ) { } EXPORT_OPIE_APPLET_v1( IrdaApplet ) + diff --git a/core/applets/irdaapplet/irda.h b/core/applets/irdaapplet/irda.h index f713bbe..2cbf4f7 100644 --- a/core/applets/irdaapplet/irda.h +++ b/core/applets/irdaapplet/irda.h @@ -52,7 +52,6 @@ private: void showDiscovered(); -private: QPixmap m_irdaOnPixmap; QPixmap m_irdaOffPixmap; QPixmap m_irdaDiscoveryOnPixmap; @@ -69,9 +68,8 @@ private: QMap <QString, QString> m_devices; - bool m_wasOn; // if IrDa was enabled + bool m_wasOn; ///< If IrDA was enabled this is true bool m_wasDiscover; }; - - #endif // __OPIE_IRDA_APPLET_H__ + |