summaryrefslogtreecommitdiff
path: root/core/applets/irdaapplet/irda.cpp
Side-by-side diff
Diffstat (limited to 'core/applets/irdaapplet/irda.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/irdaapplet/irda.cpp28
1 files changed, 19 insertions, 9 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
@@ -54,13 +54,14 @@ IrdaApplet::IrdaApplet ( QWidget *parent, const char *name )
m_irda_active = false;
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& ) ) );
}
@@ -285,22 +286,22 @@ void IrdaApplet::mousePressEvent ( QMouseEvent * )
delete menu;
}
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 ( );
if (( m_irda_active != oldactive ) || ( m_irda_discovery_active != olddiscovery ) || receiveUpdate )
@@ -311,13 +312,13 @@ void IrdaApplet::paintEvent ( QPaintEvent * )
{
QPainter p ( this );
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 );
}
/*
* We know 3 calls
@@ -326,18 +327,27 @@ void IrdaApplet::paintEvent ( QPaintEvent * )
* a and b will temp enable the IrDa device and disable will disable it again if it wasn't on
* c) listDevices: We will return a list of known devices
*/
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;
for (it = m_devices.begin(); it != m_devices.end(); ++it )
list << (*it);