summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp18
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() {
65 65
66 ODevice *device = ODevice::inst(); 66 ODevice *device = ODevice::inst();
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();
80 QList<Account> ma = settings->getAccounts(); 81 QList<Account> ma = settings->getAccounts();
81 m_statusMail = new StatusMail( ma ); 82 m_statusMail = new StatusMail( ma );
@@ -96,19 +97,20 @@ void MailApplet::slotCheck() {
96 } 97 }
97 98
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];
113 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); 115 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On );
114 } 116 }
@@ -127,15 +129,17 @@ void MailApplet::slotCheck() {
127 ODevice *device = ODevice::inst(); 129 ODevice *device = ODevice::inst();
128 if ( !isHidden() ) 130 if ( !isHidden() )
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
135 Config cfg( "mail" ); 137 if ( newMailsOld != m_newMails ) {
136 cfg.setGroup( "Status" ); 138 Config cfg( "mail" );
137 cfg.writeEntry( "newMails", m_newMails ); 139 cfg.setGroup( "Status" );
138 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 140 cfg.writeEntry( "newMails", m_newMails );
139 env << m_newMails; 141 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
142 env << m_newMails;
143 }
140 } 144 }
141} 145}