summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/irdaapplet/irda.cpp28
-rw-r--r--core/applets/irdaapplet/irda.h3
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__