author | harlekin <harlekin> | 2004-01-06 11:59:27 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2004-01-06 11:59:27 (UTC) |
commit | b61891c56c98efd59e201e534eb00a5b4692bc01 (patch) (unidiff) | |
tree | b81e732afbbfb999358067f8be3331eeb89c316d | |
parent | 62eae1abc717f16890ca63cbd19fc7405832f8e1 (diff) | |
download | opie-b61891c56c98efd59e201e534eb00a5b4692bc01.zip opie-b61891c56c98efd59e201e534eb00a5b4692bc01.tar.gz opie-b61891c56c98efd59e201e534eb00a5b4692bc01.tar.bz2 |
write config also when 0 mails
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 12 |
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 | ||
15 | using namespace Opie; | 15 | 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 ) | 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 | ||
46 | void MailApplet::paintEvent( QPaintEvent* ) { | 46 | void 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 | ||
57 | void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { | 57 | void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { |
58 | slotClicked(); | 58 | slotClicked(); |
59 | } | 59 | } |
60 | 60 | ||
61 | void MailApplet::slotClicked() { | 61 | void 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 | ||
75 | void MailApplet::startup() { | 75 | void 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 | ||
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 | 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 | } |