Diffstat (limited to 'noncore/net/mail/taskbarapplet/mailapplet.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 8 |
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 | ||
75 | void MailApplet::startup() { | 75 | void 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 | ||
87 | void MailApplet::slotCheck() { | 87 | void 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]; |