summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore 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 35198d1..25fd400 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -70,33 +70,37 @@ void MailApplet::slotClicked() {
70 } 70 }
71 71
72 // m_statusMails->reset_status(); 72 // m_statusMails->reset_status();
73} 73}
74 74
75void MailApplet::startup() { 75void MailApplet::startup() {
76 Settings *settings = new Settings(); 76 Settings *settings = new Settings();
77 QList<Account> ma = settings->getAccounts(); 77 QList<Account> ma = settings->getAccounts();
78 StatusMail m_statusMail = StatusMail( ma ); 78 m_statusMail = new StatusMail( ma );
79 delete settings; 79 delete settings;
80 80
81 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; 81 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
82 m_intervalTimer = new QTimer(); 82 m_intervalTimer = new QTimer();
83 m_intervalTimer->start( m_intervalMs ); 83 m_intervalTimer->start( m_intervalMs );
84 connect( m_intervalTimer, SIGNAL( timeout() ), this, SLOT( slotCheck() ) ); 84 connect( m_intervalTimer, SIGNAL( timeout() ), this, SLOT( slotCheck() ) );
85} 85}
86 86
87void MailApplet::slotCheck() { 87void MailApplet::slotCheck() {
88 // Check wether the check interval has been changed. 88 // Check wether the check interval has been changed.
89 int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; 89 int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
90 if ( newIntervalMs != m_intervalMs ) { 90 if ( newIntervalMs != m_intervalMs ) {
91 m_intervalTimer->changeInterval( newIntervalMs ); 91 m_intervalTimer->changeInterval( newIntervalMs );
92 m_intervalMs = newIntervalMs; 92 m_intervalMs = newIntervalMs;
93 } 93 }
94 94
95 if (m_statusMail == 0) {
96 return;
97 }
98
95 folderStat stat; 99 folderStat stat;
96 m_statusMail->check_current_stat( stat ); 100 m_statusMail->check_current_stat( stat );
97 m_newMails = stat.message_unseen; 101 m_newMails = stat.message_unseen;
98 qDebug( QString( "test %1" ).arg( m_newMails ) ); 102 qDebug( QString( "test %1" ).arg( m_newMails ) );
99 if ( m_newMails > 0 ) { 103 if ( m_newMails > 0 ) {
100 ODevice *device = ODevice::inst(); 104 ODevice *device = ODevice::inst();
101 if ( isHidden() ) 105 if ( isHidden() )
102 show(); 106 show();
@@ -108,17 +112,17 @@ void MailApplet::slotCheck() {
108 } 112 }
109 if ( m_config->readBoolEntry( "PlaySound", false ) ) 113 if ( m_config->readBoolEntry( "PlaySound", false ) )
110 device->alarmSound(); 114 device->alarmSound();
111 115
112 Config cfg( "mail" ); 116 Config cfg( "mail" );
113 cfg.setGroup( "Status" ); 117 cfg.setGroup( "Status" );
114 cfg.writeEntry( "NewMails", m_newMails ); 118 cfg.writeEntry( "NewMails", m_newMails );
115 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 119 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
116 env << stat.message_unseen; 120 env << m_newMails;
117 repaint( true ); 121 repaint( true );
118 122
119 } else { 123 } else {
120 ODevice *device = ODevice::inst(); 124 ODevice *device = ODevice::inst();
121 if ( !isHidden() ) 125 if ( !isHidden() )
122 hide(); 126 hide();
123 if ( !device->ledList().isEmpty() ) { 127 if ( !device->ledList().isEmpty() ) {
124 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 128 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];