-rw-r--r-- | core/applets/irdaapplet/irda.cpp | 28 | ||||
-rw-r--r-- | core/applets/irdaapplet/irda.h | 3 |
2 files changed, 21 insertions, 10 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 @@ -56,9 +56,10 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) m_irda_discovery_active = false; m_receive_active = false; m_receive_state_changed = false; m_popup = 0; - m_wasOn = false; + 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& ) ) ); @@ -287,18 +288,18 @@ void IrdaApplet::mousePressEvent ( QMouseEvent * ) } void IrdaApplet::timerEvent ( QTimerEvent * ) { - bool oldactive = m_irda_active; - bool olddiscovery = m_irda_discovery_active; + bool oldactive = m_irda_active; + bool olddiscovery = m_irda_discovery_active; bool receiveUpdate = false; if ( m_receive_state_changed ) { receiveUpdate = true; m_receive_state_changed = false; } - m_irda_active = checkIrdaStatus ( ); + m_irda_active = checkIrdaStatus ( ); m_irda_discovery_active = checkIrdaDiscoveryStatus ( ); if ( m_irda_discovery_active ) showDiscovered ( ); @@ -313,9 +314,9 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) p. drawPixmap ( 0, 1, m_irda_active ? m_irdaOnPixmap : m_irdaOffPixmap ); if ( m_irda_discovery_active ) - p. drawPixmap( 0, 1, m_irdaDiscoveryOnPixmap ); + p. drawPixmap( 0, 1, m_irdaDiscoveryOnPixmap ); if ( m_receive_active ) p. drawPixmap( 0, 1, m_receiveActivePixmap ); } @@ -328,14 +329,23 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) */ 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 ); - }else if ( str == "disableIrda()") { - if (!m_wasOn) + } + if ( !m_wasDiscover ) { + setIrdaDiscoveryStatus ( true ); + } + } else if ( str == "disableIrda()") { + if (!m_wasOn) { setIrdaStatus( false ); - }else if ( str == "listDevices()") { + } + if ( !m_wasDiscover ) { + setIrdaDiscoveryStatus ( false ); + } + } else if ( str == "listDevices()") { QCopEnvelope e("QPE/IrDaAppletBack", "devices(QStringList)"); QStringList list; QMap<QString, QString>::Iterator it; 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 @@ -67,9 +67,10 @@ private: int m_sockfd; QMap <QString, QString> m_devices; - bool m_wasOn; // if IrDa was enabled + bool m_wasOn; // if IrDa was enabled + bool m_wasDiscover; }; #endif // __OPIE_IRDA_APPLET_H__ |