summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp
index 58f068b..a261d14 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -1,132 +1,138 @@
1#include <qpainter.h> 1#include <qpainter.h>
2#include <qtimer.h> 2#include <qtimer.h>
3 3
4#include <qpe/qcopenvelope_qws.h> 4#include <qpe/qcopenvelope_qws.h>
5#include <qpe/resource.h> 5#include <qpe/resource.h>
6#include <qpe/config.h> 6#include <qpe/config.h>
7#include <qpe/applnk.h> 7#include <qpe/applnk.h>
8 8
9#include <opie/odevice.h> 9#include <opie/odevice.h>
10 10
11#include <libmailwrapper/settings.h> 11#include <libmailwrapper/settings.h>
12 12
13#include "mailapplet.h" 13#include "mailapplet.h"
14 14
15using namespace Opie; 15using namespace Opie;
16 16
17MailApplet::MailApplet( QWidget *parent ) 17MailApplet::MailApplet( QWidget *parent )
18: QWidget( parent ) { 18: QWidget( parent ) {
19 19
20 m_config = new Config( "mail" ); 20 m_config = new Config( "mail" );
21 m_config->setGroup( "Applet" ); 21 m_config->setGroup( "Applet" );
22 22
23 setFixedWidth( AppLnk::smallIconSize() ); 23 setFixedWidth( AppLnk::smallIconSize() );
24 setFixedHeight( AppLnk::smallIconSize() ); 24 setFixedHeight( AppLnk::smallIconSize() );
25 25
26 hide(); 26 hide();
27 27
28 m_newMails = 0; 28 m_newMails = 0;
29 m_statusMail = 0l; 29 m_statusMail = 0l;
30 30
31 if ( !m_config->readBoolEntry( "Disabled", false ) ) { 31 if ( !m_config->readBoolEntry( "Disabled", false ) ) {
32 // delay 5 sec until the whole mail backend gets started .-) 32 // delay 5 sec until the whole mail backend gets started .-)
33 QTimer::singleShot( 5000, this, SLOT( startup() ) ); 33 QTimer::singleShot( 5000, this, SLOT( startup() ) );
34 } 34 }
35 repaint( true ); 35 repaint( true );
36} 36}
37 37
38 38
39MailApplet::~MailApplet() { 39MailApplet::~MailApplet() {
40 if ( m_statusMail ) 40 if ( m_statusMail )
41 delete m_statusMail; 41 delete m_statusMail;
42 if ( m_config ) 42 if ( m_config )
43 delete m_config; 43 delete m_config;
44} 44}
45 45
46void MailApplet::paintEvent( QPaintEvent* ) { 46void MailApplet::paintEvent( QPaintEvent* ) {
47 QPainter p( this ); 47 QPainter p( this );
48 p.drawPixmap( 0, 0, Resource::loadPixmap( "mail/mailchecker" ) ); 48 p.drawPixmap( 0, 0, Resource::loadPixmap( "mail/inbox" ) );
49 QFont f( "Fixed", AppLnk::smallIconSize() ); 49 QFont f( "vera", AppLnk::smallIconSize() );
50 QFontMetrics fm( f ); 50 QFontMetrics fm( f );
51 p.setFont( f ); 51 p.setFont( f );
52 p.drawText( AppLnk::smallIconSize()/2, AppLnk::smallIconSize()/2, QString::number( m_newMails ) ); 52 p.drawText( AppLnk::smallIconSize()/3, AppLnk::smallIconSize() - 2, QString::number( m_newMails ) );
53 return; 53 return;
54 54
55} 55}
56 56
57void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { 57void MailApplet::mouseReleaseEvent( QMouseEvent* e ) {
58 slotClicked(); 58 slotClicked();
59} 59}
60 60
61void MailApplet::slotClicked() { 61void MailApplet::slotClicked() {
62 QCopEnvelope e( "QPE/System", "execute(QString)" ); 62 QCopEnvelope e( "QPE/System", "execute(QString)" );
63 e << QString( "opiemail" ); 63 e << QString( "opiemail" );
64 64
65 ODevice *device = ODevice::inst(); 65 ODevice *device = ODevice::inst();
66 if ( !device-> ledList().isEmpty() ) { 66 if ( !device-> ledList().isEmpty() ) {
67 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 67 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
68 68
69 device->setLedState( led, Led_Off ); 69 device->setLedState( led, Led_Off );
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 m_statusMail = new 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) { 95 if (m_statusMail == 0) {
96 return; 96 return;
97 } 97 }
98 98
99 folderStat stat; 99 folderStat stat;
100 m_statusMail->check_current_stat( stat ); 100 m_statusMail->check_current_stat( stat );
101 m_newMails = stat.message_unseen; 101 m_newMails = stat.message_unseen;
102 qDebug( QString( "test %1" ).arg( m_newMails ) ); 102 qDebug( QString( "test %1" ).arg( m_newMails ) );
103 if ( m_newMails > 0 ) { 103 if ( m_newMails > 0 ) {
104 ODevice *device = ODevice::inst(); 104 ODevice *device = ODevice::inst();
105 if ( isHidden() ) 105 if ( isHidden() )
106 show(); 106 show();
107 if ( m_config->readBoolEntry( "BlinkLed", true ) ) { 107 if ( m_config->readBoolEntry( "BlinkLed", true ) ) {
108 if ( !device->ledList().isEmpty() ) { 108 if ( !device->ledList().isEmpty() ) {
109 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; 109 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
110 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); 110 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On );
111 } 111 }
112 } 112 }
113 if ( m_config->readBoolEntry( "PlaySound", false ) ) 113 if ( m_config->readBoolEntry( "PlaySound", false ) )
114 device->alarmSound(); 114 device->alarmSound();
115 115
116 Config cfg( "mail" ); 116 Config cfg( "mail" );
117 cfg.setGroup( "Status" ); 117 cfg.setGroup( "Status" );
118 cfg.writeEntry( "newMails", m_newMails ); 118 cfg.writeEntry( "newMails", m_newMails );
119 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 119 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
120 env << m_newMails; 120 env << m_newMails;
121 repaint( true ); 121 repaint( true );
122 122
123 } else { 123 } else {
124 ODevice *device = ODevice::inst(); 124 ODevice *device = ODevice::inst();
125 if ( !isHidden() ) 125 if ( !isHidden() )
126 hide(); 126 hide();
127 if ( !device->ledList().isEmpty() ) { 127 if ( !device->ledList().isEmpty() ) {
128 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];
129 device->setLedState( led, Led_Off ); 129 device->setLedState( led, Led_Off );
130 } 130 }
131
132 Config cfg( "mail" );
133 cfg.setGroup( "Status" );
134 cfg.writeEntry( "newMails", m_newMails );
135 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
136 env << m_newMails;
131 } 137 }
132} 138}