summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/irdaapplet/irda.cpp14
-rw-r--r--core/applets/irdaapplet/irda.h1
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
@@ -58,6 +58,7 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name )
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&) ),
@@ -329,11 +330,20 @@ 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 );
+ }
+ 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)");
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
@@ -69,6 +69,7 @@ private:
QMap <QString, QString> m_devices;
bool m_wasOn; // if IrDa was enabled
+ bool m_wasDiscover;
};