-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.cpp | 77 | ||||
-rw-r--r-- | noncore/net/mail/taskbarapplet/mailapplet.h | 2 |
2 files changed, 37 insertions, 42 deletions
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp index ce1e7ac..b777ecf 100644 --- a/noncore/net/mail/taskbarapplet/mailapplet.cpp +++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp | |||
@@ -21,9 +21,6 @@ MailApplet::MailApplet( QWidget *parent ) | |||
21 | : QLabel( parent ) { | 21 | : QLabel( parent ) { |
22 | 22 | ||
23 | m_config = new Config( "mail" ); | ||
24 | m_config->setGroup( "Applet" ); | ||
25 | |||
26 | //setFixedWidth( AppLnk::smallIconSize() ); | ||
27 | setFixedHeight( AppLnk::smallIconSize() ); | 23 | setFixedHeight( AppLnk::smallIconSize() ); |
24 | setMinimumWidth(AppLnk::smallIconSize()); | ||
28 | 25 | ||
29 | hide(); | 26 | hide(); |
@@ -39,10 +36,6 @@ MailApplet::MailApplet( QWidget *parent ) | |||
39 | sigaction(SIGPIPE,&blocking_action,&temp_action); | 36 | sigaction(SIGPIPE,&blocking_action,&temp_action); |
40 | 37 | ||
41 | if ( !m_config->readBoolEntry( "Disabled", false ) ) { | ||
42 | // delay 5 sec until the whole mail backend gets started .-) | ||
43 | QTimer::singleShot( 5000, this, SLOT( startup() ) ); | 38 | QTimer::singleShot( 5000, this, SLOT( startup() ) ); |
44 | } | 39 | } |
45 | repaint( true ); | ||
46 | } | ||
47 | 40 | ||
48 | 41 | ||
@@ -50,6 +43,4 @@ MailApplet::~MailApplet() { | |||
50 | if ( m_statusMail ) | 43 | if ( m_statusMail ) |
51 | delete m_statusMail; | 44 | delete m_statusMail; |
52 | if ( m_config ) | ||
53 | delete m_config; | ||
54 | } | 45 | } |
55 | 46 | ||
@@ -73,14 +64,12 @@ void MailApplet::mouseReleaseEvent( QMouseEvent* e ) { | |||
73 | } | 64 | } |
74 | 65 | ||
75 | void MailApplet::slotClicked() { | 66 | void MailApplet::slotClicked() |
67 | { | ||
68 | { | ||
76 | QCopEnvelope e( "QPE/System", "execute(QString)" ); | 69 | QCopEnvelope e( "QPE/System", "execute(QString)" ); |
77 | e << QString( "opiemail" ); | 70 | e << QString( "opiemail" ); |
78 | |||
79 | ODevice *device = ODevice::inst(); | ||
80 | if ( !device-> ledList().isEmpty() ) { | ||
81 | OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; | ||
82 | |||
83 | device->setLedState( led, Led_Off ); | ||
84 | } | 71 | } |
72 | |||
73 | ledOnOff(false); | ||
85 | if (m_statusMail) | 74 | if (m_statusMail) |
86 | m_statusMail->reset_status(); | 75 | m_statusMail->reset_status(); |
@@ -102,17 +91,34 @@ void MailApplet::startup() | |||
102 | } | 91 | } |
103 | 92 | ||
93 | void MailApplet::ledOnOff(bool how) | ||
94 | { | ||
95 | ODevice *device = ODevice::inst(); | ||
96 | if ( !device->ledList().isEmpty() ) { | ||
97 | OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; | ||
98 | device->setLedState( led, (how?(device->ledStateList( led ).contains( Led_BlinkSlow )?Led_BlinkSlow:Led_On):Led_Off) ); | ||
99 | } | ||
100 | } | ||
101 | |||
104 | void MailApplet::slotCheck() { | 102 | void MailApplet::slotCheck() { |
105 | // Check wether the check interval has been changed. | 103 | // Check wether the check interval has been changed. |
106 | odebug << "MailApplet::slotCheck()" << oendl; | 104 | odebug << "MailApplet::slotCheck()" << oendl; |
107 | int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000; | 105 | Config m_config( "mail" ); |
106 | m_config.setGroup( "Applet" ); | ||
107 | |||
108 | int newIntervalMs = m_config.readNumEntry( "CheckEvery", 5 ) * 60000; | ||
108 | if ( newIntervalMs != m_intervalMs ) { | 109 | if ( newIntervalMs != m_intervalMs ) { |
109 | m_intervalTimer->changeInterval( newIntervalMs ); | 110 | m_intervalTimer->changeInterval( newIntervalMs ); |
110 | m_intervalMs = newIntervalMs; | 111 | m_intervalMs = newIntervalMs; |
111 | } | 112 | } |
112 | 113 | if ( m_config.readBoolEntry( "Disabled", false ) ) { | |
114 | hide(); | ||
115 | ledOnOff(false); | ||
116 | odebug << "MailApplet::slotCheck() - disabled" << oendl; | ||
117 | return; | ||
118 | } | ||
113 | if (m_statusMail == 0) { | 119 | if (m_statusMail == 0) { |
120 | odebug << "MailApplet::slotCheck() - no mailhandle" << oendl; | ||
114 | return; | 121 | return; |
115 | } | 122 | } |
116 | |||
117 | folderStat stat; | 123 | folderStat stat; |
118 | m_statusMail->check_current_stat( stat ); | 124 | m_statusMail->check_current_stat( stat ); |
@@ -124,17 +130,11 @@ void MailApplet::slotCheck() { | |||
124 | show(); | 130 | show(); |
125 | if (newMailsOld != m_newMails) { | 131 | if (newMailsOld != m_newMails) { |
126 | ODevice *device = ODevice::inst(); | 132 | if ( m_config.readBoolEntry( "BlinkLed", true ) ) { |
127 | if ( m_config->readBoolEntry( "BlinkLed", true ) ) { | 133 | ledOnOff(true); |
128 | if ( !device->ledList().isEmpty() ) { | ||
129 | OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; | ||
130 | device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On ); | ||
131 | } | ||
132 | } | 134 | } |
133 | if ( m_config->readBoolEntry( "PlaySound", false ) ) | 135 | if ( m_config.readBoolEntry( "PlaySound", false ) ) |
134 | device->playAlarmSound(); | 136 | ODevice::inst()->playAlarmSound(); |
135 | } | 137 | m_config.setGroup( "Status" ); |
136 | Config cfg( "mail" ); | 138 | m_config.writeEntry( "newMails", m_newMails ); |
137 | cfg.setGroup( "Status" ); | ||
138 | cfg.writeEntry( "newMails", m_newMails ); | ||
139 | { | 139 | { |
140 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); | 140 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); |
@@ -142,18 +142,13 @@ void MailApplet::slotCheck() { | |||
142 | } | 142 | } |
143 | setText(QString::number( m_newMails )); | 143 | setText(QString::number( m_newMails )); |
144 | // repaint( true ); | 144 | } |
145 | } else { | 145 | } else { |
146 | ODevice *device = ODevice::inst(); | 146 | ODevice *device = ODevice::inst(); |
147 | if ( !isHidden() ) | 147 | if ( !isHidden() ) |
148 | hide(); | 148 | hide(); |
149 | if ( !device->ledList().isEmpty() ) { | ||
150 | OLed led = ( device->ledList().contains( Led_Mail ) ) ? Led_Mail : device->ledList()[0]; | ||
151 | device->setLedState( led, Led_Off ); | ||
152 | } | ||
153 | |||
154 | if ( newMailsOld != m_newMails ) { | 149 | if ( newMailsOld != m_newMails ) { |
155 | Config cfg( "mail" ); | 150 | ledOnOff(false); |
156 | cfg.setGroup( "Status" ); | 151 | m_config.setGroup( "Status" ); |
157 | cfg.writeEntry( "newMails", m_newMails ); | 152 | m_config.writeEntry( "newMails", m_newMails ); |
158 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); | 153 | QCopEnvelope env( "QPE/Pim", "newMails(int)" ); |
159 | env << m_newMails; | 154 | env << m_newMails; |
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.h b/noncore/net/mail/taskbarapplet/mailapplet.h index f28f274..f46bf19 100644 --- a/noncore/net/mail/taskbarapplet/mailapplet.h +++ b/noncore/net/mail/taskbarapplet/mailapplet.h | |||
@@ -22,4 +22,5 @@ protected: | |||
22 | void mouseReleaseEvent( QMouseEvent* ); | 22 | void mouseReleaseEvent( QMouseEvent* ); |
23 | void paintEvent( QPaintEvent* ); | 23 | void paintEvent( QPaintEvent* ); |
24 | static void ledOnOff(bool); | ||
24 | 25 | ||
25 | protected slots: | 26 | protected slots: |
@@ -28,5 +29,4 @@ protected slots: | |||
28 | void slotClicked(); | 29 | void slotClicked(); |
29 | private: | 30 | private: |
30 | Config *m_config; | ||
31 | QTimer *m_intervalTimer; | 31 | QTimer *m_intervalTimer; |
32 | int m_intervalMs; | 32 | int m_intervalMs; |