author | harlekin <harlekin> | 2004-01-06 15:29:33 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-01-06 15:29:33 (UTC) |
commit | 7a9f4e78be5e2b888568ba99b2b65505d2a50bf0 (patch) (side-by-side diff) | |
tree | 0f4af391fe40aa5b535ef344b0ac68ccb8bb819d | |
parent | 5d7ebe571f6191d2eb9ed0cf4ba5669ce8522ce2 (diff) | |
download | opie-7a9f4e78be5e2b888568ba99b2b65505d2a50bf0.zip opie-7a9f4e78be5e2b888568ba99b2b65505d2a50bf0.tar.gz opie-7a9f4e78be5e2b888568ba99b2b65505d2a50bf0.tar.bz2 |
only action if value changed
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp index f242bda..a0805ba 100644 --- a/noncore/net/mail/taskbarapplet/mailapplet.cpp +++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp @@ -65,17 +65,18 @@ void MailApplet::slotClicked() { ODevice *device = ODevice::inst(); if ( !device-> ledList().isEmpty() ) { OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; device->setLedState( led, Led_Off ); } - if (m_statusMail) m_statusMail->reset_status(); + if (m_statusMail) + m_statusMail->reset_status(); hide(); } void MailApplet::startup() { Settings *settings = new Settings(); QList<Account> ma = settings->getAccounts(); m_statusMail = new StatusMail( ma ); @@ -96,19 +97,20 @@ void MailApplet::slotCheck() { } if (m_statusMail == 0) { return; } folderStat stat; m_statusMail->check_current_stat( stat ); + int newMailsOld = m_newMails; m_newMails = stat.message_unseen; qDebug( QString( "test %1" ).arg( m_newMails ) ); - if ( m_newMails > 0 ) { + if ( m_newMails > 0 && newMailsOld != m_newMails ) { ODevice *device = ODevice::inst(); if ( isHidden() ) show(); if ( m_config->readBoolEntry( "BlinkLed", true ) ) { if ( !device->ledList().isEmpty() ) { OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); } @@ -127,15 +129,17 @@ void MailApplet::slotCheck() { ODevice *device = ODevice::inst(); if ( !isHidden() ) hide(); if ( !device->ledList().isEmpty() ) { OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; device->setLedState( led, Led_Off ); } - Config cfg( "mail" ); - cfg.setGroup( "Status" ); - cfg.writeEntry( "newMails", m_newMails ); - QCopEnvelope env( "QPE/Pim", "newMails(int)" ); - env << m_newMails; + if ( newMailsOld != m_newMails ) { + Config cfg( "mail" ); + cfg.setGroup( "Status" ); + cfg.writeEntry( "newMails", m_newMails ); + QCopEnvelope env( "QPE/Pim", "newMails(int)" ); + env << m_newMails; + } } } |