-rw-r--r-- | core/applets/irdaapplet/irda.cpp | 34 | ||||
-rw-r--r-- | core/applets/irdaapplet/irda.h | 3 |
2 files changed, 37 insertions, 0 deletions
diff --git a/core/applets/irdaapplet/irda.cpp b/core/applets/irdaapplet/irda.cpp index c3ddff2..84c656f 100644 --- a/core/applets/irdaapplet/irda.cpp +++ b/core/applets/irdaapplet/irda.cpp | |||
@@ -1,21 +1,24 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2002 David Woodhouse <dwmw2@infradead.org> | 2 | ** Copyright (C) 2002 David Woodhouse <dwmw2@infradead.org> |
3 | ** Max Reiss <harlekin@handhelds.org> [trivial stuff] | 3 | ** Max Reiss <harlekin@handhelds.org> [trivial stuff] |
4 | ** Robert Griebl <sandman@handhelds.org> | 4 | ** Robert Griebl <sandman@handhelds.org> |
5 | ** Holger Freyther <zecke@handhelds.org> QCOP Interface | ||
5 | ** | 6 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 7 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 8 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 9 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 10 | ** packaging of this file. |
10 | ** | 11 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 12 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 13 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 14 | ** |
14 | **********************************************************************/ | 15 | **********************************************************************/ |
15 | 16 | ||
17 | #include <qcopchannel_qws.h> | ||
18 | |||
16 | #include <qpe/qpeapplication.h> | 19 | #include <qpe/qpeapplication.h> |
17 | #include <qpe/resource.h> | 20 | #include <qpe/resource.h> |
18 | #include <qpe/ir.h> | 21 | #include <qpe/ir.h> |
19 | #include <qpe/qcopenvelope_qws.h> | 22 | #include <qpe/qcopenvelope_qws.h> |
20 | #include <qpe/sound.h> | 23 | #include <qpe/sound.h> |
21 | 24 | ||
@@ -51,12 +54,17 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name ) | |||
51 | 54 | ||
52 | m_irda_active = false; | 55 | m_irda_active = false; |
53 | m_irda_discovery_active = false; | 56 | m_irda_discovery_active = false; |
54 | m_receive_active = false; | 57 | m_receive_active = false; |
55 | m_receive_state_changed = false; | 58 | m_receive_state_changed = false; |
56 | m_popup = 0; | 59 | m_popup = 0; |
60 | m_wasOn = false; | ||
61 | |||
62 | QCopChannel* chan = new QCopChannel("QPE/IrDaApplet", this ); | ||
63 | connect(chan, SIGNAL(received(const QCString&,const QByteArray&) ), | ||
64 | this, SLOT(slotMessage(const QCString&, const QByteArray& ) ) ); | ||
57 | } | 65 | } |
58 | 66 | ||
59 | void IrdaApplet::show() | 67 | void IrdaApplet::show() |
60 | { | 68 | { |
61 | QWidget::show ( ); | 69 | QWidget::show ( ); |
62 | startTimer ( 2000 ); | 70 | startTimer ( 2000 ); |
@@ -308,6 +316,32 @@ void IrdaApplet::paintEvent ( QPaintEvent * ) | |||
308 | if ( m_irda_discovery_active ) | 316 | if ( m_irda_discovery_active ) |
309 | p. drawPixmap( 0, 1, m_irdaDiscoveryOnPixmap ); | 317 | p. drawPixmap( 0, 1, m_irdaDiscoveryOnPixmap ); |
310 | 318 | ||
311 | if ( m_receive_active ) | 319 | if ( m_receive_active ) |
312 | p. drawPixmap( 0, 1, m_receiveActivePixmap ); | 320 | p. drawPixmap( 0, 1, m_receiveActivePixmap ); |
313 | } | 321 | } |
322 | /* | ||
323 | * We know 3 calls | ||
324 | * a) enable | ||
325 | * b) disable | ||
326 | * 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 | */ | ||
329 | void IrdaApplet::slotMessage( const QCString& str, const QByteArray& ar ) { | ||
330 | if ( str == "enableIrda()") { | ||
331 | m_wasOn = checkIrdaStatus(); | ||
332 | if (!m_wasOn) | ||
333 | setIrdaStatus( true ); | ||
334 | }else if ( str == "disableIrda()") { | ||
335 | if (!m_wasOn) | ||
336 | setIrdaStatus( false ); | ||
337 | }else if ( str == "listDevices()") { | ||
338 | QCopEnvelope e("QPE/IrDaAppletBack", "devices(QStringList)"); | ||
339 | |||
340 | QStringList list; | ||
341 | QMap<QString, QString>::Iterator it; | ||
342 | for (it = m_devices.begin(); it != m_devices.end(); ++it ) | ||
343 | list << (*it); | ||
344 | |||
345 | e << list; | ||
346 | } | ||
347 | } | ||
diff --git a/core/applets/irdaapplet/irda.h b/core/applets/irdaapplet/irda.h index 1b5faa6..675f874 100644 --- a/core/applets/irdaapplet/irda.h +++ b/core/applets/irdaapplet/irda.h | |||
@@ -35,12 +35,13 @@ protected: | |||
35 | virtual void timerEvent ( QTimerEvent * ); | 35 | virtual void timerEvent ( QTimerEvent * ); |
36 | virtual void mousePressEvent ( QMouseEvent * ); | 36 | virtual void mousePressEvent ( QMouseEvent * ); |
37 | virtual void paintEvent ( QPaintEvent* ); | 37 | virtual void paintEvent ( QPaintEvent* ); |
38 | 38 | ||
39 | private slots: | 39 | private slots: |
40 | void popupTimeout ( ); | 40 | void popupTimeout ( ); |
41 | void slotMessage( const QCString& , const QByteArray& ); | ||
41 | 42 | ||
42 | private: | 43 | private: |
43 | void popup( QString message, QString icon = QString::null ); | 44 | void popup( QString message, QString icon = QString::null ); |
44 | 45 | ||
45 | bool checkIrdaStatus ( ); | 46 | bool checkIrdaStatus ( ); |
46 | bool setIrdaStatus ( bool ); | 47 | bool setIrdaStatus ( bool ); |
@@ -63,10 +64,12 @@ private: | |||
63 | 64 | ||
64 | QPopupMenu *m_popup; | 65 | QPopupMenu *m_popup; |
65 | 66 | ||
66 | int m_sockfd; | 67 | int m_sockfd; |
67 | 68 | ||
68 | QMap <QString, QString> m_devices; | 69 | QMap <QString, QString> m_devices; |
70 | |||
71 | bool m_wasOn; // if IrDa was enabled | ||
69 | }; | 72 | }; |
70 | 73 | ||
71 | 74 | ||
72 | #endif // __OPIE_IRDA_APPLET_H__ | 75 | #endif // __OPIE_IRDA_APPLET_H__ |