summaryrefslogtreecommitdiff
path: root/noncore/net/mail/taskbarapplet/mailapplet.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/taskbarapplet/mailapplet.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp163
1 files changed, 82 insertions, 81 deletions
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp
index 5d98783..35198d1 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -15,113 +15,114 @@
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) delete m_statusMail; 40 if ( m_statusMail )
41 if (m_config) delete m_config; 41 delete m_statusMail;
42 if ( m_config )
43 delete m_config;
42} 44}
43 45
44void MailApplet::paintEvent( QPaintEvent* ) { 46void MailApplet::paintEvent( QPaintEvent* ) {
45 QPainter p(this); 47 QPainter p( this );
46 p.drawPixmap( 0, 0, Resource::loadPixmap( "mail/mailchecker" ) ); 48 p.drawPixmap( 0, 0, Resource::loadPixmap( "mail/mailchecker" ) );
47 QFont f( "Fixed", AppLnk::smallIconSize() ); 49 QFont f( "Fixed", AppLnk::smallIconSize() );
48 QFontMetrics fm( f ); 50 QFontMetrics fm( f );
49 p.setFont( f ); 51 p.setFont( f );
50 p.drawText( AppLnk::smallIconSize()/2, AppLnk::smallIconSize()/2, QString::number( m_newMails ) ); 52 p.drawText( AppLnk::smallIconSize()/2, AppLnk::smallIconSize()/2, QString::number( m_newMails ) );
51 return; 53 return;
52 54
53} 55}
54 56
55void MailApplet::mouseReleaseEvent( QMouseEvent* e) { 57void MailApplet::mouseReleaseEvent( QMouseEvent* e ) {
56 slotClicked(); 58 slotClicked();
57} 59}
58 60
59void MailApplet::slotClicked() { 61void MailApplet::slotClicked() {
60 qDebug( " CLICKED" ); 62 QCopEnvelope e( "QPE/System", "execute(QString)" );
61 QCopEnvelope e( "QPE/System", "execute(QString)" ); 63 e << QString( "opiemail" );
62 e << QString( "opiemail" );
63 64
64 ODevice *device = ODevice::inst(); 65 ODevice *device = ODevice::inst();
65 if ( !device-> ledList ( ). isEmpty ( ) ) { 66 if ( !device-> ledList().isEmpty() ) {
66 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];
67 68
68 device->setLedState( led, Led_Off ); 69 device->setLedState( led, Led_Off );
69 } 70 }
70 71
71 // m_statusMails->reset_status(); 72 // m_statusMails->reset_status();
72} 73}
73 74
74void MailApplet::startup() { 75void MailApplet::startup() {
75 Settings *settings = new Settings(); 76 Settings *settings = new Settings();
76 QList<Account> ma = settings->getAccounts(); 77 QList<Account> ma = settings->getAccounts();
77 StatusMail m_statusMail = StatusMail( ma ); 78 StatusMail m_statusMail = StatusMail( ma );
78 delete settings; 79 delete settings;
79 80
80 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; 81 m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
81 m_intervalTimer = new QTimer(); 82 m_intervalTimer = new QTimer();
82 m_intervalTimer->start( m_intervalMs ); 83 m_intervalTimer->start( m_intervalMs );
83 connect( m_intervalTimer, SIGNAL(timeout() ), this, SLOT( slotCheck() ) ); 84 connect( m_intervalTimer, SIGNAL( timeout() ), this, SLOT( slotCheck() ) );
84
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 95 folderStat stat;
96 folderStat stat; 96 m_statusMail->check_current_stat( stat );
97 m_statusMail->check_current_stat( stat ); 97 m_newMails = stat.message_unseen;
98 m_newMails = stat.message_unseen; 98 qDebug( QString( "test %1" ).arg( m_newMails ) );
99 qDebug( QString( "test %1" ).arg( stat.message_unseen ) ); 99 if ( m_newMails > 0 ) {
100 if ( m_newMails > 0 ) { 100 ODevice *device = ODevice::inst();
101 ODevice *device = ODevice::inst(); 101 if ( isHidden() )
102 if ( isHidden() ) show(); 102 show();
103 if ( m_config->readBoolEntry( "BlinkLed", true ) ) { 103 if ( m_config->readBoolEntry( "BlinkLed", true ) ) {
104 if ( !device-> ledList ( ).isEmpty( ) ) { 104 if ( !device->ledList().isEmpty() ) {
105 OLed led = ( device->ledList( ).contains( Led_Mail ) ) ? Led_Mail : device->ledList( ) [0]; 105 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
106 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); 106 device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On );
107 } 107 }
108 } 108 }
109 if ( m_config->readBoolEntry( "PlaySound", false ) ) 109 if ( m_config->readBoolEntry( "PlaySound", false ) )
110 device->alarmSound(); 110 device->alarmSound();
111 111
112 Config cfg( "mail" ); 112 Config cfg( "mail" );
113 cfg.setGroup( "Status" ); 113 cfg.setGroup( "Status" );
114 cfg.writeEntry( "NewMails", m_newMails ); 114 cfg.writeEntry( "NewMails", m_newMails );
115 QCopEnvelope env( "QPE/Pim", "newMails(int)" ); 115 QCopEnvelope env( "QPE/Pim", "newMails(int)" );
116 env << stat.message_unseen; 116 env << stat.message_unseen;
117 repaint( true ); 117 repaint( true );
118 118
119 } else { 119 } else {
120 ODevice *device = ODevice::inst(); 120 ODevice *device = ODevice::inst();
121 if ( !isHidden() ) hide(); 121 if ( !isHidden() )
122 if ( !device-> ledList( ).isEmpty( ) ) { 122 hide();
123 OLed led = ( device->ledList( ).contains( Led_Mail ) ) ? Led_Mail : device->ledList( ) [0]; 123 if ( !device->ledList().isEmpty() ) {
124 device->setLedState( led, Led_Off ); 124 OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0];
125 } 125 device->setLedState( led, Led_Off );
126 } 126 }
127 }
127} 128}