summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp163
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.h28
-rw-r--r--noncore/net/mail/taskbarapplet/mailappletimpl.cpp29
-rw-r--r--noncore/net/mail/taskbarapplet/mailappletimpl.h16
4 files changed, 120 insertions, 116 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
@@ -10,118 +10,119 @@
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) 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}
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.h b/noncore/net/mail/taskbarapplet/mailapplet.h
index 25f0652..b4d3742 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.h
+++ b/noncore/net/mail/taskbarapplet/mailapplet.h
@@ -5,34 +5,34 @@
5 5
6#include <libmailwrapper/statusmail.h> 6#include <libmailwrapper/statusmail.h>
7 7
8class Config; 8class Config;
9class QTimer; 9class QTimer;
10 10
11class MailApplet : public QWidget { 11class MailApplet : public QWidget {
12 12
13 Q_OBJECT 13 Q_OBJECT
14 14
15public: 15public:
16 MailApplet( QWidget *parent = 0 ); 16 MailApplet( QWidget *parent = 0 );
17 ~MailApplet(); 17 ~MailApplet();
18 18
19protected: 19protected:
20 void gotNewMail(); 20 void gotNewMail();
21 void mouseReleaseEvent( QMouseEvent* ); 21 void mouseReleaseEvent( QMouseEvent* );
22 void paintEvent( QPaintEvent* ); 22 void paintEvent( QPaintEvent* );
23 23
24protected slots: 24protected slots:
25 void startup(); 25 void startup();
26 void slotCheck(); 26 void slotCheck();
27 void slotClicked(); 27 void slotClicked();
28private: 28private:
29 Config *m_config; 29 Config *m_config;
30 QTimer *m_intervalTimer; 30 QTimer *m_intervalTimer;
31 int m_intervalMs; 31 int m_intervalMs;
32 StatusMail* m_statusMail; 32 StatusMail* m_statusMail;
33 int m_newMails; 33 int m_newMails;
34 34
35}; 35};
36 36
37#endif 37#endif
38 38
diff --git a/noncore/net/mail/taskbarapplet/mailappletimpl.cpp b/noncore/net/mail/taskbarapplet/mailappletimpl.cpp
index 26f6a6f..c01a674 100644
--- a/noncore/net/mail/taskbarapplet/mailappletimpl.cpp
+++ b/noncore/net/mail/taskbarapplet/mailappletimpl.cpp
@@ -1,33 +1,36 @@
1#include "mailappletimpl.h" 1#include "mailappletimpl.h"
2#include "mailapplet.h" 2#include "mailapplet.h"
3 3
4MailAppletImpl::MailAppletImpl() 4MailAppletImpl::MailAppletImpl()
5 : m_mailApplet(0), ref(0) { 5: m_mailApplet(0), ref(0) {
6
7} 6}
8 7
9MailAppletImpl::~MailAppletImpl() { 8MailAppletImpl::~MailAppletImpl() {
10 delete m_mailApplet; 9 delete m_mailApplet;
11} 10}
12 11
13QWidget *MailAppletImpl::applet(QWidget *parent) { 12QWidget *MailAppletImpl::applet(QWidget *parent) {
14 if (!m_mailApplet) m_mailApplet = new MailApplet(parent); 13 if (!m_mailApplet)
15 return m_mailApplet; 14 m_mailApplet = new MailApplet(parent);
15 return m_mailApplet;
16} 16}
17 17
18int MailAppletImpl::position() const { 18int MailAppletImpl::position() const {
19 return 4; 19 return 4;
20} 20}
21 21
22QRESULT MailAppletImpl::queryInterface(const QUuid &uuid, QUnknownInterface **iface) { 22QRESULT MailAppletImpl::queryInterface(const QUuid &uuid, QUnknownInterface **iface) {
23 *iface = 0; 23 *iface = 0;
24 if (uuid == IID_QUnknown) *iface = this; 24 if (uuid == IID_QUnknown)
25 else if (uuid == IID_TaskbarApplet) *iface = this; 25 *iface = this;
26 26 else if (uuid == IID_TaskbarApplet)
27 if (*iface) (*iface)->addRef(); 27 *iface = this;
28 return QS_OK; 28
29 if (*iface)
30 (*iface)->addRef();
31 return QS_OK;
29} 32}
30 33
31Q_EXPORT_INTERFACE() { 34Q_EXPORT_INTERFACE() {
32 Q_CREATE_INSTANCE( MailAppletImpl ) 35 Q_CREATE_INSTANCE( MailAppletImpl )
33} 36}
diff --git a/noncore/net/mail/taskbarapplet/mailappletimpl.h b/noncore/net/mail/taskbarapplet/mailappletimpl.h
index 4f27eb3..4809053 100644
--- a/noncore/net/mail/taskbarapplet/mailappletimpl.h
+++ b/noncore/net/mail/taskbarapplet/mailappletimpl.h
@@ -3,25 +3,25 @@
3 3
4#include <qpe/taskbarappletinterface.h> 4#include <qpe/taskbarappletinterface.h>
5 5
6class MailApplet; 6class MailApplet;
7 7
8class MailAppletImpl : public TaskbarAppletInterface { 8class MailAppletImpl : public TaskbarAppletInterface {
9 9
10public: 10public:
11 MailAppletImpl(); 11 MailAppletImpl();
12 virtual ~MailAppletImpl(); 12 virtual ~MailAppletImpl();
13 13
14 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ); 14 QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface );
15 Q_REFCOUNT 15 Q_REFCOUNT
16 16
17 virtual QWidget *applet( QWidget *parent ); 17 virtual QWidget *applet( QWidget *parent );
18 virtual int position() const; 18 virtual int position() const;
19 19
20private: 20private:
21 MailApplet *m_mailApplet; 21 MailApplet *m_mailApplet;
22 ulong ref; 22 ulong ref;
23 23
24}; 24};
25 25
26#endif 26#endif
27 27