summaryrefslogtreecommitdiff
path: root/noncore/net/mail/taskbarapplet/mailapplet.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/taskbarapplet/mailapplet.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp8
1 files changed, 6 insertions, 2 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() {
67 if ( !device-> ledList().isEmpty() ) { 67 if ( !device-> ledList().isEmpty() ) {
68 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 68 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
69 69
70 device->setLedState( led, Led_Off ); 70 device->setLedState( led, Led_Off );
71 } 71 }
72 72
73 if (m_statusMail) m_statusMail->reset_status(); 73 if (m_statusMail)
74 m_statusMail->reset_status();
74 75
75 hide(); 76 hide();
76} 77}
77 78
78void MailApplet::startup() { 79void MailApplet::startup() {
79 Settings *settings = new Settings(); 80 Settings *settings = new Settings();
@@ -98,15 +99,16 @@ void MailApplet::slotCheck() {
98 if (m_statusMail == 0) { 99 if (m_statusMail == 0) {
99 return; 100 return;
100 } 101 }
101 102
102 folderStat stat; 103 folderStat stat;
103 m_statusMail->check_current_stat( stat ); 104 m_statusMail->check_current_stat( stat );
105 int newMailsOld = m_newMails;
104 m_newMails = stat.message_unseen; 106 m_newMails = stat.message_unseen;
105 qDebug( QString( "test %1" ).arg( m_newMails ) ); 107 qDebug( QString( "test %1" ).arg( m_newMails ) );
106 if ( m_newMails > 0 ) { 108 if ( m_newMails > 0 && newMailsOld != m_newMails ) {
107 ODevice *device = ODevice::inst(); 109 ODevice *device = ODevice::inst();
108 if ( isHidden() ) 110 if ( isHidden() )
109 show(); 111 show();
110 if ( m_config->readBoolEntry( "BlinkLed", true ) ) { 112 if ( m_config->readBoolEntry( "BlinkLed", true ) ) {
111 if ( !device->ledList().isEmpty() ) { 113 if ( !device->ledList().isEmpty() ) {
112 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 114 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
@@ -129,13 +131,15 @@ void MailApplet::slotCheck() {
129 hide(); 131 hide();
130 if ( !device->ledList().isEmpty() ) { 132 if ( !device->ledList().isEmpty() ) {
131 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 133 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
132 device->setLedState( led, Led_Off ); 134 device->setLedState( led, Led_Off );
133 } 135 }
134 136
137 if ( newMailsOld != m_newMails ) {
135 Config cfg( "mail" ); 138 Config cfg( "mail" );
136 cfg.setGroup( "Status" ); 139 cfg.setGroup( "Status" );
137 cfg.writeEntry( "newMails", m_newMails ); 140 cfg.writeEntry( "newMails", m_newMails );
138 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 141 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
139 env << m_newMails; 142 env << m_newMails;
140 } 143 }
141} 144}
145}