-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 | |||
@@ -57,85 +57,89 @@ void MailApplet::paintEvent( QPaintEvent* ) { | |||
57 | 57 | ||
58 | void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { | 58 | void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { |
59 | slotClicked(); | 59 | slotClicked(); |
60 | } | 60 | } |
61 | 61 | ||
62 | void MailApplet::slotClicked() { | 62 | void MailApplet::slotClicked() { |
63 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 63 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
64 | e << QString( "opiemail" ); | 64 | e << QString( "opiemail" ); |
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 | ||
78 | void MailApplet::startup() { | 79 | void 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 ); |
82 | delete settings; | 83 | delete settings; |
83 | 84 | ||
84 | m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; | 85 | m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; |
85 | m_intervalTimer = new QTimer(); | 86 | m_intervalTimer = new QTimer(); |
86 | m_intervalTimer->start( m_intervalMs ); | 87 | m_intervalTimer->start( m_intervalMs ); |
87 | connect( m_intervalTimer, SIGNAL( timeout() ), this, SLOT( slotCheck() ) ); | 88 | connect( m_intervalTimer, SIGNAL( timeout() ), this, SLOT( slotCheck() ) ); |
88 | } | 89 | } |
89 | 90 | ||
90 | void MailApplet::slotCheck() { | 91 | void MailApplet::slotCheck() { |
91 | // Check wether the check interval has been changed. | 92 | // Check wether the check interval has been changed. |
92 | int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; | 93 | int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; |
93 | if ( newIntervalMs != m_intervalMs ) { | 94 | if ( newIntervalMs != m_intervalMs ) { |
94 | m_intervalTimer->changeInterval( newIntervalMs ); | 95 | m_intervalTimer->changeInterval( newIntervalMs ); |
95 | m_intervalMs = newIntervalMs; | 96 | m_intervalMs = newIntervalMs; |
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 | } |
115 | } | 117 | } |
116 | if ( m_config->readBoolEntry( "PlaySound", false ) ) | 118 | if ( m_config->readBoolEntry( "PlaySound", false ) ) |
117 | device->alarmSound(); | 119 | device->alarmSound(); |
118 | 120 | ||
119 | Config cfg( "mail" ); | 121 | Config cfg( "mail" ); |
120 | cfg.setGroup( "Status" ); | 122 | cfg.setGroup( "Status" ); |
121 | cfg.writeEntry( "newMails", m_newMails ); | 123 | cfg.writeEntry( "newMails", m_newMails ); |
122 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); | 124 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); |
123 | env << m_newMails; | 125 | env << m_newMails; |
124 | repaint( true ); | 126 | repaint( true ); |
125 | 127 | ||
126 | } else { | 128 | } else { |
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 | } |