-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 @@ -67,13 +67,14 @@ void MailApplet::slotClicked() { 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(); @@ -98,15 +99,16 @@ 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]; @@ -129,13 +131,15 @@ void MailApplet::slotCheck() { 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; + } } } |