-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 | |||
@@ -55,12 +55,13 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) | |||
55 | m_irda_active = false; | 55 | m_irda_active = false; |
56 | m_irda_discovery_active = false; | 56 | m_irda_discovery_active = false; |
57 | m_receive_active = false; | 57 | m_receive_active = false; |
58 | m_receive_state_changed = false; | 58 | m_receive_state_changed = false; |
59 | m_popup = 0; | 59 | m_popup = 0; |
60 | m_wasOn = false; | 60 | m_wasOn = false; |
61 | m_wasDiscover = false; | ||
61 | 62 | ||
62 | QCopChannel* chan = new QCopChannel("QPE/IrDaApplet", this ); | 63 | QCopChannel* chan = new QCopChannel("QPE/IrDaApplet", this ); |
63 | connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), | 64 | connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), |
64 | this, SLOT(slotMessage(const QCString&, const QByteArray& ) ) ); | 65 | this, SLOT(slotMessage(const QCString&, const QByteArray& ) ) ); |
65 | } | 66 | } |
66 | 67 | ||
@@ -326,17 +327,26 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) | |||
326 | * a and b will temp enable the IrDa device and disable will disable it again if it wasn't on | 327 | * a and b will temp enable the IrDa device and disable will disable it again if it wasn't on |
327 | * c) listDevices: We will return a list of known devices | 328 | * c) listDevices: We will return a list of known devices |
328 | */ | 329 | */ |
329 | void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ar ) { | 330 | void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ar ) { |
330 | if ( str == "enableIrda()") { | 331 | if ( str == "enableIrda()") { |
331 | m_wasOn = checkIrdaStatus(); | 332 | m_wasOn = checkIrdaStatus(); |
332 | if (!m_wasOn) | 333 | m_wasDiscover = checkIrdaDiscoveryStatus(); |
334 | if (!m_wasOn) { | ||
333 | setIrdaStatus( true ); | 335 | setIrdaStatus( true ); |
336 | } | ||
337 | if ( !m_wasDiscover ) { | ||
338 | setIrdaDiscoveryStatus ( true ); | ||
339 | } | ||
334 | }else if ( str == "disableIrda()") { | 340 | }else if ( str == "disableIrda()") { |
335 | if (!m_wasOn) | 341 | if (!m_wasOn) { |
336 | setIrdaStatus( false ); | 342 | setIrdaStatus( false ); |
343 | } | ||
344 | if ( !m_wasDiscover ) { | ||
345 | setIrdaDiscoveryStatus ( false ); | ||
346 | } | ||
337 | }else if ( str == "listDevices()") { | 347 | }else if ( str == "listDevices()") { |
338 | QCopEnvelope e("QPE/IrDaAppletBack", "devices(QStringList)"); | 348 | QCopEnvelope e("QPE/IrDaAppletBack", "devices(QStringList)"); |
339 | 349 | ||
340 | QStringList list; | 350 | QStringList list; |
341 | QMap<QString, QString>::Iterator it; | 351 | QMap<QString, QString>::Iterator it; |
342 | for (it = m_devices.begin(); it != m_devices.end(); ++it ) | 352 | for (it = m_devices.begin(); it != m_devices.end(); ++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 | |||
@@ -66,10 +66,11 @@ private: | |||
66 | 66 | ||
67 | int m_sockfd; | 67 | int m_sockfd; |
68 | 68 | ||
69 | QMap <QString, QString> m_devices; | 69 | QMap <QString, QString> m_devices; |
70 | 70 | ||
71 | bool m_wasOn; // if IrDa was enabled | 71 | bool m_wasOn; // if IrDa was enabled |
72 | bool m_wasDiscover; | ||
72 | }; | 73 | }; |
73 | 74 | ||
74 | 75 | ||
75 | #endif // __OPIE_IRDA_APPLET_H__ | 76 | #endif // __OPIE_IRDA_APPLET_H__ |