author | harlekin <harlekin> | 2003-03-26 18:23:57 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2003-03-26 18:23:57 (UTC) |
commit | 8c1acc27882a79ea9f1ee9b9be708b9bbab052ba (patch) (side-by-side diff) | |
tree | b906f762e28da948eaaa3ea0df5c81fdd9d41755 | |
parent | 88a93db37e001dc02f9edddf81919266fde0173c (diff) | |
download | opie-8c1acc27882a79ea9f1ee9b9be708b9bbab052ba.zip opie-8c1acc27882a79ea9f1ee9b9be708b9bbab052ba.tar.gz opie-8c1acc27882a79ea9f1ee9b9be708b9bbab052ba.tar.bz2 |
also activate discovery if not allready running - makes beaming with s45 easier
-rw-r--r-- | core/applets/irdaapplet/irda.cpp | 14 | ||||
-rw-r--r-- | core/applets/irdaapplet/irda.h | 1 |
2 files changed, 13 insertions, 2 deletions
diff --git a/core/applets/irdaapplet/irda.cpp b/core/applets/irdaapplet/irda.cpp index a5b4bfc..51c2ebf 100644 --- a/core/applets/irdaapplet/irda.cpp +++ b/core/applets/irdaapplet/irda.cpp @@ -45,32 +45,33 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) setFixedHeight ( 18 ); setFixedWidth ( 14 ); m_sockfd = ::socket ( PF_INET, SOCK_DGRAM, IPPROTO_IP ); m_irdaOnPixmap = Resource::loadPixmap( "irdaapplet/irdaon" ); m_irdaOffPixmap = Resource::loadPixmap( "irdaapplet/irdaoff" ); m_irdaDiscoveryOnPixmap = Resource::loadPixmap( "irdaapplet/magglass" ); m_receiveActivePixmap = Resource::loadPixmap( "irdaapplet/receive" ); 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; QCopChannel* chan = new QCopChannel("QPE/IrDaApplet", this ); connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), this, SLOT(slotMessage(const QCString&, const QByteArray& ) ) ); } void IrdaApplet::show() { QWidget::show ( ); startTimer ( 2000 ); } IrdaApplet::~IrdaApplet() { if ( m_sockfd >= 0 ) ::close ( m_sockfd ); @@ -316,32 +317,41 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) if ( m_irda_discovery_active ) p. drawPixmap( 0, 1, m_irdaDiscoveryOnPixmap ); 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 */ void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ar ) { if ( str == "enableIrda()") { m_wasOn = checkIrdaStatus(); - if (!m_wasOn) + m_wasDiscover = checkIrdaDiscoveryStatus(); + if (!m_wasOn) { setIrdaStatus( true ); + } + if ( !m_wasDiscover ) { + setIrdaDiscoveryStatus ( true ); + } }else if ( str == "disableIrda()") { - if (!m_wasOn) + if (!m_wasOn) { setIrdaStatus( false ); + } + if ( !m_wasDiscover ) { + setIrdaDiscoveryStatus ( false ); + } }else if ( str == "listDevices()") { QCopEnvelope e("QPE/IrDaAppletBack", "devices(QStringList)"); QStringList list; QMap<QString, QString>::Iterator it; for (it = m_devices.begin(); it != m_devices.end(); ++it ) list << (*it); e << list; } } diff --git a/core/applets/irdaapplet/irda.h b/core/applets/irdaapplet/irda.h index 675f874..ec1d32c 100644 --- a/core/applets/irdaapplet/irda.h +++ b/core/applets/irdaapplet/irda.h @@ -56,20 +56,21 @@ private: QPixmap m_irdaOffPixmap; QPixmap m_irdaDiscoveryOnPixmap; QPixmap m_receiveActivePixmap; bool m_irda_active; bool m_irda_discovery_active; bool m_receive_active; bool m_receive_state_changed; QPopupMenu *m_popup; int m_sockfd; QMap <QString, QString> m_devices; bool m_wasOn; // if IrDa was enabled + bool m_wasDiscover; }; #endif // __OPIE_IRDA_APPLET_H__ |