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
@@ -57,8 +57,9 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name )
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& ) ) );
@@ -328,13 +329,22 @@ 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)");
QStringList 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
@@ -68,8 +68,9 @@ private:
QMap <QString, QString> m_devices;
bool m_wasOn; // if IrDa was enabled
+ bool m_wasDiscover;
};
#endif // __OPIE_IRDA_APPLET_H__