author | harlekin <harlekin> | 2004-01-05 21:13:38 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-01-05 21:13:38 (UTC) |
commit | 0c41bcb3472b013a55b990bc45280043dfcf4986 (patch) (unidiff) | |
tree | 1136f4580b5f8f8a2a699545f8e9fb0006a0e054 | |
parent | 3804209658d051d197526a28561bbd2e31b6f439 (diff) | |
download | opie-0c41bcb3472b013a55b990bc45280043dfcf4986.zip opie-0c41bcb3472b013a55b990bc45280043dfcf4986.tar.gz opie-0c41bcb3472b013a55b990bc45280043dfcf4986.tar.bz2 |
update
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 163 | ||||
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.h | 28 | ||||
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailappletimpl.cpp | 29 | ||||
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailappletimpl.h | 16 |
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 | |||
@@ -16,112 +16,113 @@ using namespace Opie; | |||
16 | 16 | ||
17 | MailApplet::MailApplet( QWidget *parent ) | 17 | MailApplet::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 | ||
39 | MailApplet::~MailApplet() { | 39 | MailApplet::~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 | ||
44 | void MailApplet::paintEvent( QPaintEvent* ) { | 46 | void 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 | ||
55 | void MailApplet::mouseReleaseEvent( QMouseEvent* e) { | 57 | void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { |
56 | slotClicked(); | 58 | slotClicked(); |
57 | } | 59 | } |
58 | 60 | ||
59 | void MailApplet::slotClicked() { | 61 | void 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 | ||
74 | void MailApplet::startup() { | 75 | void 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 | ||
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 | 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 | |||
@@ -11,25 +11,25 @@ class QTimer; | |||
11 | class MailApplet : public QWidget { | 11 | class MailApplet : public QWidget { |
12 | 12 | ||
13 | Q_OBJECT | 13 | Q_OBJECT |
14 | 14 | ||
15 | public: | 15 | public: |
16 | MailApplet( QWidget *parent = 0 ); | 16 | MailApplet( QWidget *parent = 0 ); |
17 | ~MailApplet(); | 17 | ~MailApplet(); |
18 | 18 | ||
19 | protected: | 19 | protected: |
20 | void gotNewMail(); | 20 | void gotNewMail(); |
21 | void mouseReleaseEvent( QMouseEvent* ); | 21 | void mouseReleaseEvent( QMouseEvent* ); |
22 | void paintEvent( QPaintEvent* ); | 22 | void paintEvent( QPaintEvent* ); |
23 | 23 | ||
24 | protected slots: | 24 | protected slots: |
25 | void startup(); | 25 | void startup(); |
26 | void slotCheck(); | 26 | void slotCheck(); |
27 | void slotClicked(); | 27 | void slotClicked(); |
28 | private: | 28 | private: |
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 | }; |
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 | |||
@@ -3,31 +3,34 @@ | |||
3 | 3 | ||
4 | MailAppletImpl::MailAppletImpl() | 4 | MailAppletImpl::MailAppletImpl() |
5 | : m_mailApplet(0), ref(0) { | 5 | : m_mailApplet(0), ref(0) { |
6 | |||
7 | } | 6 | } |
8 | 7 | ||
9 | MailAppletImpl::~MailAppletImpl() { | 8 | MailAppletImpl::~MailAppletImpl() { |
10 | delete m_mailApplet; | 9 | delete m_mailApplet; |
11 | } | 10 | } |
12 | 11 | ||
13 | QWidget *MailAppletImpl::applet(QWidget *parent) { | 12 | QWidget *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 | ||
18 | int MailAppletImpl::position() const { | 18 | int MailAppletImpl::position() const { |
19 | return 4; | 19 | return 4; |
20 | } | 20 | } |
21 | 21 | ||
22 | QRESULT MailAppletImpl::queryInterface(const QUuid &uuid, QUnknownInterface **iface) { | 22 | QRESULT 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 | ||
31 | Q_EXPORT_INTERFACE() { | 34 | Q_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 | |||
@@ -9,16 +9,16 @@ class MailAppletImpl : public TaskbarAppletInterface { | |||
9 | 9 | ||
10 | public: | 10 | public: |
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 | ||
20 | private: | 20 | private: |
21 | MailApplet *m_mailApplet; | 21 | MailApplet *m_mailApplet; |
22 | ulong ref; | 22 | ulong ref; |
23 | 23 | ||
24 | }; | 24 | }; |