summaryrefslogtreecommitdiff
authorconber <conber>2002-08-06 16:32:49 (UTC)
committer conber <conber>2002-08-06 16:32:49 (UTC)
commit8084d002de5e310491eec7fac0713ef29d0cf30f (patch) (unidiff)
treefe74e3cf2ee2f7d87e74910fbf4bfa34b9a439a0
parente6a512dc2e0602298f8a745036d25eb171ced977 (diff)
downloadopie-8084d002de5e310491eec7fac0713ef29d0cf30f.zip
opie-8084d002de5e310491eec7fac0713ef29d0cf30f.tar.gz
opie-8084d002de5e310491eec7fac0713ef29d0cf30f.tar.bz2
ui improvements
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/composer.cpp18
-rw-r--r--noncore/unsupported/mail2/composerbase.cpp20
-rw-r--r--noncore/unsupported/mail2/composerbase.h6
-rw-r--r--noncore/unsupported/mail2/mail.pro2
-rw-r--r--noncore/unsupported/mail2/mailstatusbar.cpp58
-rw-r--r--noncore/unsupported/mail2/mailstatusbar.h38
-rw-r--r--noncore/unsupported/mail2/mainwindow.cpp20
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.cpp20
-rw-r--r--noncore/unsupported/mail2/mainwindowbase.h8
9 files changed, 131 insertions, 59 deletions
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp
index 52ebbdd..cb80299 100644
--- a/noncore/unsupported/mail2/composer.cpp
+++ b/noncore/unsupported/mail2/composer.cpp
@@ -1,420 +1,420 @@
1#include <qmultilineedit.h> 1#include <qmultilineedit.h>
2#include <qmessagebox.h> 2#include <qmessagebox.h>
3#include <qpopupmenu.h> 3#include <qpopupmenu.h>
4#include <qcombobox.h> 4#include <qcombobox.h>
5#include <qlineedit.h> 5#include <qlineedit.h>
6#include <qaction.h> 6#include <qaction.h>
7#include <qtimer.h> 7#include <qtimer.h>
8#include <qlabel.h> 8#include <qlabel.h>
9#include <qapplication.h> 9#include <qapplication.h>
10 10
11#include <qpe/resource.h> 11#include <qpe/resource.h>
12#include <qpe/config.h> 12#include <qpe/config.h>
13 13
14#include <opie/ofiledialog.h> 14#include <opie/ofiledialog.h>
15//#include "attachdiag.h"
16 15
16#include "mailstatusbar.h"
17#include "addresspicker.h" 17#include "addresspicker.h"
18#include "listviewplus.h" 18#include "listviewplus.h"
19#include "smtphandler.h" 19#include "smtphandler.h"
20#include "composer.h" 20#include "composer.h"
21#include "rename.h" 21#include "rename.h"
22 22
23AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) 23AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment)
24 : QListViewItem(parent), _attachment(attachment) 24 : QListViewItem(parent), _attachment(attachment)
25{ 25{
26 setPixmap(0, _attachment.docLnk().pixmap().isNull() ? Resource::loadPixmap("UnknownDocument-14") : _attachment.docLnk().pixmap()); 26 setPixmap(0, _attachment.docLnk().pixmap().isNull() ? Resource::loadPixmap("UnknownDocument-14") : _attachment.docLnk().pixmap());
27 setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName()); 27 setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName());
28 setText(1, _attachment.description()); 28 setText(1, _attachment.description());
29} 29}
30 30
31Composer::Composer(QWidget *parent, const char *name, WFlags fl, bool sendQueue) 31Composer::Composer(QWidget *parent, const char *name, WFlags fl, bool sendQueue)
32 : ComposerBase(parent, name, fl), _inLoop(false) 32 : ComposerBase(parent, name, fl), _inLoop(false)
33{ 33{
34 _sendQueued = sendQueue; 34 _sendQueued = sendQueue;
35 abort->setEnabled(false); 35 status->setStopEnabled(false);
36 to->setFocus(); 36 to->setFocus();
37 37
38 connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail())); 38 connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail()));
39 connect(queuemail, SIGNAL(activated()), SLOT(slotQueueMail())); 39 connect(queuemail, SIGNAL(activated()), SLOT(slotQueueMail()));
40 connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker())); 40 connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker()));
41 connect(addattach, SIGNAL(activated()), SLOT(slotAddAttach())); 41 connect(addattach, SIGNAL(activated()), SLOT(slotAddAttach()));
42 connect(delattach, SIGNAL(activated()), SLOT(slotDelAttach())); 42 connect(delattach, SIGNAL(activated()), SLOT(slotDelAttach()));
43 43
44 connect(from, SIGNAL(activated(int)), SLOT(slotFromChanged(int))); 44 connect(from, SIGNAL(activated(int)), SLOT(slotFromChanged(int)));
45 45
46 connect(attachPopup, SIGNAL(activated(int)), SLOT(slotPopupHandler(int))); 46 connect(attachPopup, SIGNAL(activated(int)), SLOT(slotPopupHandler(int)));
47 47
48 QTimer::singleShot(0, this, SLOT(slotFillStuff())); 48 QTimer::singleShot(0, this, SLOT(slotFillStuff()));
49 QTimer::singleShot(0, this, SLOT(slotResizing())); 49 QTimer::singleShot(0, this, SLOT(slotResizing()));
50 50
51} 51}
52 52
53Composer::~Composer() 53Composer::~Composer()
54{ 54{
55 hide(); 55 hide();
56} 56}
57 57
58void Composer::hide() 58void Composer::hide()
59{ 59{
60 QWidget::hide(); 60 QWidget::hide();
61 61
62 if (_inLoop) { 62 if (_inLoop) {
63 _inLoop = false; 63 _inLoop = false;
64 qApp->exit_loop(); 64 qApp->exit_loop();
65 } 65 }
66} 66}
67 67
68void Composer::exec() 68void Composer::exec()
69{ 69{
70 show(); 70 show();
71 if (!_inLoop) { 71 if (!_inLoop) {
72 _inLoop = true; 72 _inLoop = true;
73 qApp->enter_loop(); 73 qApp->enter_loop();
74 } 74 }
75} 75}
76 76
77void Composer::setSendMail(SendMail &sendMail) 77void Composer::setSendMail(SendMail &sendMail)
78{ 78{
79 to->setText(sendMail.to()); 79 to->setText(sendMail.to());
80 cc->setText(sendMail.cc()); 80 cc->setText(sendMail.cc());
81 bcc->setText(sendMail.bcc()); 81 bcc->setText(sendMail.bcc());
82 subject->setText(sendMail.subject()); 82 subject->setText(sendMail.subject());
83 message->setText(sendMail.message()); 83 message->setText(sendMail.message());
84 _inReplyTo = sendMail.inReplyTo(); 84 _inReplyTo = sendMail.inReplyTo();
85 85
86 QValueList<Attachment> attachments = sendMail.attachments(); 86 QValueList<Attachment> attachments = sendMail.attachments();
87 QValueList<Attachment>::Iterator it; 87 QValueList<Attachment>::Iterator it;
88 for (it = attachments.begin(); it != attachments.end(); it++) { 88 for (it = attachments.begin(); it != attachments.end(); it++) {
89 (void) new AttachViewItem(attachView, *it); 89 (void) new AttachViewItem(attachView, *it);
90 if (attachView->isHidden()) attachView->show(); 90 if (attachView->isHidden()) attachView->show();
91 } 91 }
92} 92}
93 93
94void Composer::slotResizing() 94void Composer::slotResizing()
95{ 95{
96 from->setMaximumWidth(width() - fromBox->width()); 96 from->setMaximumWidth(width() - fromBox->width());
97 from->resize(width() - fromBox->width(), y()); 97 from->resize(width() - fromBox->width(), y());
98 if (_sendQueued) slotSendQueued(); 98 if (_sendQueued) slotSendQueued();
99} 99}
100 100
101void Composer::slotPopupHandler(int itemid) 101void Composer::slotPopupHandler(int itemid)
102{ 102{
103 if (attachView->currentItem() == NULL) { 103 if (attachView->currentItem() == NULL) {
104 QMessageBox::information(this, tr("Error"), tr("Please select an entry first."), tr("Ok")); 104 QMessageBox::information(this, tr("Error"), tr("Please select an entry first."), tr("Ok"));
105 return; 105 return;
106 } 106 }
107 107
108 if (itemid == POPUP_ATTACH_RENAME) { 108 if (itemid == POPUP_ATTACH_RENAME) {
109 QString tmp = Rename::rename(attachView->currentItem()->text(0), this); 109 QString tmp = Rename::rename(attachView->currentItem()->text(0), this);
110 if (tmp != QString(0)) attachView->currentItem()->setText(0, tmp); 110 if (tmp != QString(0)) attachView->currentItem()->setText(0, tmp);
111 } else if (itemid == POPUP_ATTACH_DESC) { 111 } else if (itemid == POPUP_ATTACH_DESC) {
112 QString tmp = Rename::getText(tr("Set Description"), tr("<div align=center>Description"), this); 112 QString tmp = Rename::getText(tr("Set Description"), tr("<div align=center>Description"), this);
113 if (tmp != QString(0)) attachView->currentItem()->setText(1, tmp); 113 if (tmp != QString(0)) attachView->currentItem()->setText(1, tmp);
114 } else if (itemid == POPUP_ATTACH_REMOVE) { 114 } else if (itemid == POPUP_ATTACH_REMOVE) {
115 attachView->takeItem(attachView->currentItem()); 115 attachView->takeItem(attachView->currentItem());
116 } 116 }
117} 117}
118 118
119void Composer::slotSendMail() 119void Composer::slotSendMail()
120{ 120{
121 if (to->text().find(QRegExp(".*\\@.*\\..*")) == -1) { 121 if (to->text().find(QRegExp(".*\\@.*\\..*")) == -1) {
122 QMessageBox::information(this, tr("Error"), tr("<p>You have to specify a recipient.<br>(eg: foo@bar.org)</p>"), tr("Ok")); 122 QMessageBox::information(this, tr("Error"), tr("<p>You have to specify a recipient.<br>(eg: foo@bar.org)</p>"), tr("Ok"));
123 return; 123 return;
124 } 124 }
125 125
126 SendMail smail; 126 SendMail smail;
127 smail.setFrom(from->currentText()); 127 smail.setFrom(from->currentText());
128 smail.setReplyTo(replyto->text()); 128 smail.setReplyTo(replyto->text());
129 smail.setTo(to->text()); 129 smail.setTo(to->text());
130 smail.setCc(cc->text()); 130 smail.setCc(cc->text());
131 smail.setBcc(bcc->text()); 131 smail.setBcc(bcc->text());
132 smail.setSubject(subject->text()); 132 smail.setSubject(subject->text());
133 smail.setMessage(message->text()); 133 smail.setMessage(message->text());
134 smail.setNeedsMime(attachView->childCount() == 0 ? false : true); 134 smail.setNeedsMime(attachView->childCount() == 0 ? false : true);
135 smail.setAccount(accountsLoaded[from->currentItem()]); 135 smail.setAccount(accountsLoaded[from->currentItem()]);
136 136
137 if (priority->currentItem() == POPUP_PRIO_LOW) { 137 if (priority->currentItem() == POPUP_PRIO_LOW) {
138 smail.setPriority("Low");// No i18n on purpose 138 smail.setPriority("Low");// No i18n on purpose
139 } else if (priority->currentItem() == POPUP_PRIO_NORMAL) { 139 } else if (priority->currentItem() == POPUP_PRIO_NORMAL) {
140 smail.setPriority("Normal");// No i18n on purpose 140 smail.setPriority("Normal");// No i18n on purpose
141 } else if (priority->currentItem() == POPUP_PRIO_HIGH) { 141 } else if (priority->currentItem() == POPUP_PRIO_HIGH) {
142 smail.setPriority("High");// No i18n on purpose 142 smail.setPriority("High");// No i18n on purpose
143 } 143 }
144 144
145 QValueList<Attachment> attachments; 145 QValueList<Attachment> attachments;
146 QListViewItem *item; 146 QListViewItem *item;
147 for (item = attachView->firstChild(); item != 0; item = item->itemBelow()) { 147 for (item = attachView->firstChild(); item != 0; item = item->itemBelow()) {
148 attachments.append(((AttachViewItem *)item)->attachment()); 148 attachments.append(((AttachViewItem *)item)->attachment());
149 } 149 }
150 150
151 smail.setAttachments(attachments); 151 smail.setAttachments(attachments);
152 152
153 QString header, message; 153 QString header, message;
154 MailFactory::genMail(header, message, smail, this); 154 MailFactory::genMail(header, message, smail, this);
155 if (header.isNull() || message.isNull()) return;// Aborted. 155 if (header.isNull() || message.isNull()) return;// Aborted.
156 156
157 abort->setEnabled(true); 157 status->setStopEnabled(true);
158 158
159 SmtpHandler *handler = new SmtpHandler(header, message, accountsLoaded[from->currentItem()], to->text()); 159 SmtpHandler *handler = new SmtpHandler(header, message, accountsLoaded[from->currentItem()], to->text());
160 connect(handler, SIGNAL(finished()), SLOT(slotSendFinished())); 160 connect(handler, SIGNAL(finished()), SLOT(slotSendFinished()));
161 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendError(const QString &))); 161 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendError(const QString &)));
162 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setText(const QString &))); 162 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setStatusText(const QString &)));
163} 163}
164 164
165void Composer::slotSendQueued() 165void Composer::slotSendQueued()
166{ 166{
167 int effSendCount = 0; 167 int effSendCount = 0;
168 qDebug("Sending queued messages"); 168 qDebug("Sending queued messages");
169 Config cfg( "mailqueue", Config::User ); 169 Config cfg( "mailqueue", Config::User );
170 cfg.setGroup( "Settings" ); 170 cfg.setGroup( "Settings" );
171 _sendCount = 0; 171 _sendCount = 0;
172 _sendError = 0; 172 _sendError = 0;
173 _toSend = cfg.readNumEntry( "count", 0 ); 173 _toSend = cfg.readNumEntry( "count", 0 );
174 174
175 if (_toSend == 0) close(); 175 if (_toSend == 0) close();
176 176
177 qDebug("%i messages to send", _toSend); 177 qDebug("%i messages to send", _toSend);
178 QString str; 178 QString str;
179 for (int i=1;i<=_toSend;i++) 179 for (int i=1;i<=_toSend;i++)
180 { 180 {
181 qDebug("sending message %i",i); 181 qDebug("sending message %i",i);
182 cfg.setGroup( "Mail_" + QString::number(i) ); 182 cfg.setGroup( "Mail_" + QString::number(i) );
183 SendMail smail; 183 SendMail smail;
184 str = cfg.readEntry("from"); 184 str = cfg.readEntry("from");
185 qDebug("setFrom %s",str.latin1()); 185 qDebug("setFrom %s",str.latin1());
186 smail.setFrom( str ); 186 smail.setFrom( str );
187 str = cfg.readEntry("reply"); 187 str = cfg.readEntry("reply");
188 qDebug("setReplyTo %s",str.latin1()); 188 qDebug("setReplyTo %s",str.latin1());
189 smail.setReplyTo( str ); 189 smail.setReplyTo( str );
190 QString toAdr = cfg.readEntry("to"); 190 QString toAdr = cfg.readEntry("to");
191 qDebug("to %s",toAdr.latin1()); 191 qDebug("to %s",toAdr.latin1());
192 smail.setTo( toAdr ); //to->text()); 192 smail.setTo( toAdr ); //to->text());
193 str = cfg.readEntry("cc"); 193 str = cfg.readEntry("cc");
194 qDebug("setCc %s",str.latin1()); 194 qDebug("setCc %s",str.latin1());
195 smail.setCc( str ); //cc->text()); 195 smail.setCc( str ); //cc->text());
196 smail.setBcc( cfg.readEntry("bcc") ); //bcc->text()); 196 smail.setBcc( cfg.readEntry("bcc") ); //bcc->text());
197 str = cfg.readEntry("subject"); 197 str = cfg.readEntry("subject");
198 qDebug("setSubject %s",str.latin1()); 198 qDebug("setSubject %s",str.latin1());
199 smail.setSubject( str ); //subject->text()); 199 smail.setSubject( str ); //subject->text());
200 str = cfg.readEntryCrypt("message"); 200 str = cfg.readEntryCrypt("message");
201 qDebug("setMessage %s",str.latin1()); 201 qDebug("setMessage %s",str.latin1());
202 smail.setMessage( str ); //message->text()); 202 smail.setMessage( str ); //message->text());
203 smail.setNeedsMime( cfg.readBoolEntry("mime") ); //attachView->childCount() == 0 ? false : true); 203 smail.setNeedsMime( cfg.readBoolEntry("mime") ); //attachView->childCount() == 0 ? false : true);
204 204
205 qDebug("setting account [%i]",cfg.readNumEntry("account")); 205 qDebug("setting account [%i]",cfg.readNumEntry("account"));
206 Account accnt = accountsLoaded[ cfg.readNumEntry("account") ]; 206 Account accnt = accountsLoaded[ cfg.readNumEntry("account") ];
207 smail.setAccount( accnt ); //accountsLoaded[from->currentItem()]); 207 smail.setAccount( accnt ); //accountsLoaded[from->currentItem()]);
208 208
209 209
210 int prio = cfg.readNumEntry( "priority" ); 210 int prio = cfg.readNumEntry( "priority" );
211 qDebug("setting priority %i",prio); 211 qDebug("setting priority %i",prio);
212 if (prio == POPUP_PRIO_LOW) { 212 if (prio == POPUP_PRIO_LOW) {
213 smail.setPriority("Low");// No i18n on purpose 213 smail.setPriority("Low");// No i18n on purpose
214 } else if (prio == POPUP_PRIO_NORMAL) { 214 } else if (prio == POPUP_PRIO_NORMAL) {
215 smail.setPriority("Normal");// No i18n on purpose 215 smail.setPriority("Normal");// No i18n on purpose
216 } else if (prio == POPUP_PRIO_HIGH) { 216 } else if (prio == POPUP_PRIO_HIGH) {
217 smail.setPriority("High");// No i18n on purpose 217 smail.setPriority("High");// No i18n on purpose
218 } 218 }
219 219
220 QValueList<Attachment> attachments; 220 QValueList<Attachment> attachments;
221 Attachment a; 221 Attachment a;
222 QString an; 222 QString an;
223 223
224 int ac = cfg.readNumEntry( "attachments", 0 ); 224 int ac = cfg.readNumEntry( "attachments", 0 );
225 qDebug("%i Attachments",ac); 225 qDebug("%i Attachments",ac);
226 for (int j = 0; i < ac; ac++) { 226 for (int j = 0; i < ac; ac++) {
227 an = "Attachment_" + QString::number( j ); 227 an = "Attachment_" + QString::number( j );
228 qDebug(an.latin1()); 228 qDebug(an.latin1());
229 a.setFileName(cfg.readEntry( an + "fileName" )); 229 a.setFileName(cfg.readEntry( an + "fileName" ));
230 a.setNewName(cfg.readEntry( an + "newName" )); 230 a.setNewName(cfg.readEntry( an + "newName" ));
231 a.setDescription(cfg.readEntry( an + "description" )); 231 a.setDescription(cfg.readEntry( an + "description" ));
232 a.setDocLnk( DocLnk( cfg.readEntry( an + "docLnk" )) ); 232 a.setDocLnk( DocLnk( cfg.readEntry( an + "docLnk" )) );
233 attachments.append( a ); 233 attachments.append( a );
234 } 234 }
235 235
236 smail.setAttachments(attachments); 236 smail.setAttachments(attachments);
237 237
238 qDebug("putting mail together"); 238 qDebug("putting mail together");
239 239
240 QString header, message; 240 QString header, message;
241 MailFactory::genMail(header, message, smail, this); 241 MailFactory::genMail(header, message, smail, this);
242 if (header.isNull() || message.isNull()) continue;//return;// Aborted. 242 if (header.isNull() || message.isNull()) continue;//return;// Aborted.
243 243
244 // abort->setEnabled(true); 244 // abort->setEnabled(true);
245 245
246 qDebug("Sending to %s",toAdr.latin1()); 246 qDebug("Sending to %s",toAdr.latin1());
247 SmtpHandler *handler = new SmtpHandler(header, message, accnt ,toAdr); 247 SmtpHandler *handler = new SmtpHandler(header, message, accnt ,toAdr);
248 effSendCount++; 248 effSendCount++;
249 connect(handler, SIGNAL(finished()), SLOT(slotSendQueuedFinished())); 249 connect(handler, SIGNAL(finished()), SLOT(slotSendQueuedFinished()));
250 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendQueuedError(const QString &))); 250 connect(handler, SIGNAL(error(const QString &)), SLOT(slotSendQueuedError(const QString &)));
251 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setText(const QString &))); 251 connect(handler, SIGNAL(status(const QString &)), status, SLOT(setStatusText(const QString &)));
252 252
253 } 253 }
254 if (effSendCount < _toSend) 254 if (effSendCount < _toSend)
255 { 255 {
256 _toSend = effSendCount; 256 _toSend = effSendCount;
257 QMessageBox::information(this, tr("Error"), tr("<p>There was a problem sending some of the queued mails.</p>"), tr("Ok")); 257 QMessageBox::information(this, tr("Error"), tr("<p>There was a problem sending some of the queued mails.</p>"), tr("Ok"));
258 } 258 }
259} 259}
260 260
261void Composer::slotQueueMail() 261void Composer::slotQueueMail()
262{ 262{
263 if (to->text().find(QRegExp(".*\\@.*\\..*")) == -1) { 263 if (to->text().find(QRegExp(".*\\@.*\\..*")) == -1) {
264 QMessageBox::information(this, tr("Error"), tr("<p>You have to specify a recipient.<br>(eg: foo@bar.org)</p>"), tr("Ok")); 264 QMessageBox::information(this, tr("Error"), tr("<p>You have to specify a recipient.<br>(eg: foo@bar.org)</p>"), tr("Ok"));
265 return; 265 return;
266 } 266 }
267 267
268 Config cfg( "mailqueue", Config::User ); 268 Config cfg( "mailqueue", Config::User );
269 269
270 cfg.setGroup( "Settings" ); 270 cfg.setGroup( "Settings" );
271 int count = cfg.readNumEntry( "count", 0 ); 271 int count = cfg.readNumEntry( "count", 0 );
272 count++; 272 count++;
273 cfg.writeEntry( "count", count ); 273 cfg.writeEntry( "count", count );
274 qDebug("queueing mail %i",count); 274 qDebug("queueing mail %i",count);
275 275
276 cfg.setGroup( "Mail_" + QString::number( count )); 276 cfg.setGroup( "Mail_" + QString::number( count ));
277 cfg.writeEntry( "from", from->currentText() ); 277 cfg.writeEntry( "from", from->currentText() );
278 cfg.writeEntry( "reply", replyto->text()); 278 cfg.writeEntry( "reply", replyto->text());
279 cfg.writeEntry( "to", to->text()); 279 cfg.writeEntry( "to", to->text());
280 cfg.writeEntry( "cc", cc->text()); 280 cfg.writeEntry( "cc", cc->text());
281 cfg.writeEntry( "bcc", bcc->text()); 281 cfg.writeEntry( "bcc", bcc->text());
282 cfg.writeEntry( "subject", subject->text()); 282 cfg.writeEntry( "subject", subject->text());
283 cfg.writeEntryCrypt( "message", message->text()); 283 cfg.writeEntryCrypt( "message", message->text());
284 cfg.writeEntry( "mime", attachView->childCount() == 0 ); 284 cfg.writeEntry( "mime", attachView->childCount() == 0 );
285 cfg.writeEntry( "account", from->currentItem()); 285 cfg.writeEntry( "account", from->currentItem());
286 cfg.writeEntry( "priority", priority->currentItem() ); 286 cfg.writeEntry( "priority", priority->currentItem() );
287 cfg.writeEntry( "attachments", attachView->childCount() ); 287 cfg.writeEntry( "attachments", attachView->childCount() );
288 288
289 Attachment a; 289 Attachment a;
290 QListViewItem *item; 290 QListViewItem *item;
291 QString an; 291 QString an;
292 int i = 0; 292 int i = 0;
293 for (item = attachView->firstChild(); item != 0; item = item->itemBelow()) { 293 for (item = attachView->firstChild(); item != 0; item = item->itemBelow()) {
294 a = ((AttachViewItem *)item)->attachment(); 294 a = ((AttachViewItem *)item)->attachment();
295 an = "Attachment_" + QString::number( i++ ); 295 an = "Attachment_" + QString::number( i++ );
296 cfg.writeEntry( an + "fileName", a.fileName() ); 296 cfg.writeEntry( an + "fileName", a.fileName() );
297 cfg.writeEntry( an + "newName", a.newName() ); 297 cfg.writeEntry( an + "newName", a.newName() );
298 cfg.writeEntry( an + "description", a.description() ); 298 cfg.writeEntry( an + "description", a.description() );
299 cfg.writeEntry( an + "docLnk", a.docLnk().file() ); 299 cfg.writeEntry( an + "docLnk", a.docLnk().file() );
300 } 300 }
301 301
302 QMessageBox::information(this, tr("Success"), tr("<p>The mail was queued successfully.</p><p>The queue contains ")+QString::number(count)+tr(" mails.</p>"), tr("Ok")); 302 QMessageBox::information(this, tr("Success"), tr("<p>The mail was queued successfully.</p><p>The queue contains ")+QString::number(count)+tr(" mails.</p>"), tr("Ok"));
303 303
304} 304}
305 305
306void Composer::slotSendError(const QString &error) 306void Composer::slotSendError(const QString &error)
307{ 307{
308 status->setText(tr("<font color=#ff0000>Error occoured during sending.</font>")); 308 status->setStatusText(tr("<font color=#ff0000>Error occoured during sending.</font>"));
309 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok")); 309 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok"));
310} 310}
311 311
312void Composer::slotSendQueuedError(const QString &error) 312void Composer::slotSendQueuedError(const QString &error)
313{ 313{
314 _sendError++; 314 _sendError++;
315 qDebug("error send mail %i",_sendCount); 315 qDebug("error send mail %i",_sendCount);
316 status->setText(tr("<font color=#ff0000>Error occoured during sending.</font>")); 316 status->setStatusText(tr("<font color=#ff0000>Error occoured during sending.</font>"));
317 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok")); 317 QMessageBox::warning(this, tr("Error"), tr("<p>%1</p").arg(error), tr("Ok"));
318} 318}
319 319
320void Composer::slotSendFinished() 320void Composer::slotSendFinished()
321{ 321{
322 QMessageBox::information(this, tr("Success"), tr("<p>The mail was sent successfully.</p>"), tr("Ok")); 322 QMessageBox::information(this, tr("Success"), tr("<p>The mail was sent successfully.</p>"), tr("Ok"));
323 323
324 status->setText(QString(0)); 324 status->setStatusText(QString(0));
325 abort->setEnabled(false); 325 status->setStopEnabled(false);
326} 326}
327 327
328void Composer::slotSendQueuedFinished() 328void Composer::slotSendQueuedFinished()
329{ 329{
330 330
331 _sendCount++; 331 _sendCount++;
332 qDebug("finished send mail %i of %i (error %i)",_sendCount,_toSend,_sendError); 332 qDebug("finished send mail %i of %i (error %i)",_sendCount,_toSend,_sendError);
333 if (_sendCount < _toSend) return; 333 if (_sendCount < _toSend) return;
334 if (_sendError == _toSend) close(); 334 if (_sendError == _toSend) close();
335 QMessageBox::information(this, tr("Success"), tr("<p>The queued mails ")+QString::number(_toSend-_sendError)+tr(" of ")+QString::number(_toSend)+(" were sent successfully.</p>"), tr("Ok")); 335 QMessageBox::information(this, tr("Success"), tr("<p>The queued mails ")+QString::number(_toSend-_sendError)+tr(" of ")+QString::number(_toSend)+(" were sent successfully.</p>"), tr("Ok"));
336 Config cfg( "mailqueue", Config::User ); 336 Config cfg( "mailqueue", Config::User );
337 cfg.setGroup( "Settings" ); 337 cfg.setGroup( "Settings" );
338 cfg.writeEntry( "count", 0 ); 338 cfg.writeEntry( "count", 0 );
339 for (int i=1;i<=_sendCount;i++) 339 for (int i=1;i<=_sendCount;i++)
340 { 340 {
341 cfg.setGroup( "Mail_" + QString::number(i) ); 341 cfg.setGroup( "Mail_" + QString::number(i) );
342 qDebug("remove mail %i", i); 342 qDebug("remove mail %i", i);
343 cfg.clearGroup(); 343 cfg.clearGroup();
344 cfg.removeEntry( "Mail_" + QString::number(i) ); 344 cfg.removeEntry( "Mail_" + QString::number(i) );
345 } 345 }
346 close(); 346 close();
347} 347}
348 348
349void Composer::slotFillStuff() 349void Composer::slotFillStuff()
350{ 350{
351 QValueList<Account> accounts = ConfigFile::getAccounts(); 351 QValueList<Account> accounts = ConfigFile::getAccounts();
352 int i = 0; 352 int i = 0;
353 353
354 QValueList<Account>::Iterator it; 354 QValueList<Account>::Iterator it;
355 for (it = accounts.begin(); it != accounts.end(); it++) { 355 for (it = accounts.begin(); it != accounts.end(); it++) {
356 if (!(*it).email().isEmpty() && !(*it).smtpServer().isEmpty() && !(*it).smtpPort().isEmpty()) { 356 if (!(*it).email().isEmpty() && !(*it).smtpServer().isEmpty() && !(*it).smtpPort().isEmpty()) {
357 if (!(*it).realName().isEmpty()) 357 if (!(*it).realName().isEmpty())
358 from->insertItem((*it).realName() + " <" + (*it).email() + ">", i); 358 from->insertItem((*it).realName() + " <" + (*it).email() + ">", i);
359 else 359 else
360 from->insertItem((*it).email()); 360 from->insertItem((*it).email());
361 361
362 accountsLoaded.append(*it); 362 accountsLoaded.append(*it);
363 i++; 363 i++;
364 } 364 }
365 } 365 }
366} 366}
367 367
368void Composer::slotFromChanged(int id) 368void Composer::slotFromChanged(int id)
369{ 369{
370 Account account = accountsLoaded[id]; 370 Account account = accountsLoaded[id];
371 371
372 if (account.defaultCc()) cc->setText(account.cc()); 372 if (account.defaultCc()) cc->setText(account.cc());
373 if (account.defaultBcc()) bcc->setText(account.bcc()); 373 if (account.defaultBcc()) bcc->setText(account.bcc());
374 if (account.defaultReplyTo()) replyto->setText(account.replyTo()); 374 if (account.defaultReplyTo()) replyto->setText(account.replyTo());
375 if (!account.signature().isEmpty()) 375 if (!account.signature().isEmpty())
376 message->setText(message->text() + "\n\n-- \n" + account.signature()); 376 message->setText(message->text() + "\n\n-- \n" + account.signature());
377} 377}
378 378
379void Composer::slotOpenAddressPicker() 379void Composer::slotOpenAddressPicker()
380{ 380{
381 if (!to->isHidden() && cc->isHidden() && bcc->isHidden()) { 381 if (!to->isHidden() && cc->isHidden() && bcc->isHidden()) {
382 if (to->text().isEmpty()) { 382 if (to->text().isEmpty()) {
383 to->setText(AddressPicker::getNames()); 383 to->setText(AddressPicker::getNames());
384 } else { 384 } else {
385 to->setText(to->text() + ", " + AddressPicker::getNames()); 385 to->setText(to->text() + ", " + AddressPicker::getNames());
386 } 386 }
387 } else if (to->isHidden() && !cc->isHidden() && bcc->isHidden()) { 387 } else if (to->isHidden() && !cc->isHidden() && bcc->isHidden()) {
388 if (cc->text().isEmpty()) { 388 if (cc->text().isEmpty()) {
389 cc->setText(AddressPicker::getNames()); 389 cc->setText(AddressPicker::getNames());
390 } else { 390 } else {
391 cc->setText(cc->text() + ", " + AddressPicker::getNames()); 391 cc->setText(cc->text() + ", " + AddressPicker::getNames());
392 } 392 }
393 } else if (to->isHidden() && cc->isHidden() && !bcc->isHidden()) { 393 } else if (to->isHidden() && cc->isHidden() && !bcc->isHidden()) {
394 if (bcc->text().isEmpty()) { 394 if (bcc->text().isEmpty()) {
395 bcc->setText(AddressPicker::getNames()); 395 bcc->setText(AddressPicker::getNames());
396 } else { 396 } else {
397 bcc->setText(bcc->text() + ", " + AddressPicker::getNames()); 397 bcc->setText(bcc->text() + ", " + AddressPicker::getNames());
398 } 398 }
399 } 399 }
400} 400}
401 401
402void Composer::slotAddAttach() 402void Composer::slotAddAttach()
403{ 403{
404 DocLnk lnk = OFileDialog::getOpenFileName( 1,"/"); 404 DocLnk lnk = OFileDialog::getOpenFileName( 1,"/");
405 //DocLnk lnk = AttachDiag::getFile(this); 405 //DocLnk lnk = AttachDiag::getFile(this);
406 if (lnk.name().isEmpty()) return; 406 if (lnk.name().isEmpty()) return;
407 407
408 Attachment attachment; 408 Attachment attachment;
409 attachment.setFileName(lnk.file()); 409 attachment.setFileName(lnk.file());
410 attachment.setNewName(lnk.name()); 410 attachment.setNewName(lnk.name());
411 attachment.setDocLnk(lnk); 411 attachment.setDocLnk(lnk);
412 412
413 (void) new AttachViewItem(attachView, attachment); 413 (void) new AttachViewItem(attachView, attachment);
414} 414}
415 415
416void Composer::slotDelAttach() 416void Composer::slotDelAttach()
417{ 417{
418 if (attachView->currentItem() == NULL) return; 418 if (attachView->currentItem() == NULL) return;
419 attachView->takeItem(attachView->currentItem()); 419 attachView->takeItem(attachView->currentItem());
420} 420}
diff --git a/noncore/unsupported/mail2/composerbase.cpp b/noncore/unsupported/mail2/composerbase.cpp
index c456ae5..6f6ab8e 100644
--- a/noncore/unsupported/mail2/composerbase.cpp
+++ b/noncore/unsupported/mail2/composerbase.cpp
@@ -1,211 +1,205 @@
1#include <qmultilineedit.h> 1#include <qmultilineedit.h>
2#include <qpopupmenu.h> 2#include <qpopupmenu.h>
3#include <qcombobox.h> 3#include <qcombobox.h>
4#include <qlineedit.h> 4#include <qlineedit.h>
5#include <qlayout.h> 5#include <qlayout.h>
6#include <qaction.h> 6#include <qaction.h>
7#include <qlabel.h> 7#include <qlabel.h>
8#include <qvbox.h> 8#include <qvbox.h>
9 9
10#include <qpe/qpetoolbar.h> 10#include <qpe/qpetoolbar.h>
11#include <qpe/qpemenubar.h> 11#include <qpe/qpemenubar.h>
12#include <qpe/resource.h> 12#include <qpe/resource.h>
13 13
14#include "mailstatusbar.h"
14#include "listviewplus.h" 15#include "listviewplus.h"
15#include "composerbase.h" 16#include "composerbase.h"
16 17
17ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl) 18ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl)
18 : QMainWindow(parent, name, fl) 19 : QMainWindow(parent, name, fl)
19{ 20{
20 setCaption(tr("Compose Message")); 21 setCaption(tr("Compose Message"));
21 setToolBarsMovable(false); 22 setToolBarsMovable(false);
22 23
23 toolbar = new QPEToolBar(this); 24 toolbar = new QPEToolBar(this);
24 menubar = new QPEMenuBar( toolbar ); 25 menubar = new QPEMenuBar( toolbar );
25 mailmenu = new QPopupMenu( menubar ); 26 mailmenu = new QPopupMenu( menubar );
26 menubar->insertItem( tr( "Mail" ), mailmenu ); 27 menubar->insertItem( tr( "Mail" ), mailmenu );
27 addToolBar(toolbar); 28 addToolBar(toolbar);
28 toolbar->setHorizontalStretchable(true); 29 toolbar->setHorizontalStretchable(true);
29 30
30 QLabel *spacer = new QLabel(toolbar); 31 QLabel *spacer = new QLabel(toolbar);
31 spacer->setBackgroundMode(QWidget::PaletteButton); 32 spacer->setBackgroundMode(QWidget::PaletteButton);
32 toolbar->setStretchableWidget(spacer); 33 toolbar->setStretchableWidget(spacer);
33 34
34 sendmail = new QAction(tr("Send the mail"), QIconSet(Resource::loadPixmap("mail/sendmail")), 0, 0, this); 35 sendmail = new QAction(tr("Send the mail"), QIconSet(Resource::loadPixmap("mail/sendmail")), 0, 0, this);
35 sendmail->addTo(toolbar); 36 sendmail->addTo(toolbar);
36 sendmail->addTo(mailmenu); 37 sendmail->addTo(mailmenu);
37 38
38 queuemail = new QAction(tr("Queue the mail"), QIconSet(Resource::loadPixmap("mail/sendall")), 0, 0, this); 39 queuemail = new QAction(tr("Queue the mail"), QIconSet(Resource::loadPixmap("mail/sendall")), 0, 0, this);
39 queuemail->addTo(toolbar); 40 queuemail->addTo(toolbar);
40 queuemail->addTo(mailmenu); 41 queuemail->addTo(mailmenu);
41 42
42 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true); 43 attachfile = new QAction(tr("Attach a file"), QIconSet(Resource::loadPixmap("mail/attach")), 0, 0, this, 0, true);
43 attachfile->addTo(toolbar); 44 attachfile->addTo(toolbar);
44 attachfile->addTo(mailmenu); 45 attachfile->addTo(mailmenu);
45 connect(attachfile, SIGNAL(toggled(bool)), SLOT(slotAttachfileChanged(bool))); 46 connect(attachfile, SIGNAL(toggled(bool)), SLOT(slotAttachfileChanged(bool)));
46 47
47 addressbook = new QAction(tr("Addressbook"), QIconSet(Resource::loadPixmap("mail/addbook")), 0, 0, this); 48 addressbook = new QAction(tr("Addressbook"), QIconSet(Resource::loadPixmap("mail/addbook")), 0, 0, this);
48 addressbook->addTo(toolbar); 49 addressbook->addTo(toolbar);
49 addressbook->addTo(mailmenu); 50 addressbook->addTo(mailmenu);
50 51
51 abort = new QAction(tr("Abort sending"), QIconSet(Resource::loadPixmap("mail/abort")), 0, 0, this);
52 abort->addTo(toolbar);
53 abort->addTo(mailmenu);
54
55 QWidget *main = new QWidget(this); 52 QWidget *main = new QWidget(this);
56 setCentralWidget(main); 53 setCentralWidget(main);
57 54
58 QGridLayout *layout = new QGridLayout(main); 55 QGridLayout *layout = new QGridLayout(main);
59 56
60 fromBox = new QComboBox(main); 57 fromBox = new QComboBox(main);
61 fromBox->insertItem(tr("From"), POPUP_FROM_FROM); 58 fromBox->insertItem(tr("From"), POPUP_FROM_FROM);
62 fromBox->insertItem(tr("Reply"), POPUP_FROM_REPLYTO); 59 fromBox->insertItem(tr("Reply"), POPUP_FROM_REPLYTO);
63 layout->addWidget(fromBox, 0, 0); 60 layout->addWidget(fromBox, 0, 0);
64 61
65 connect(fromBox, SIGNAL(activated(int)), SLOT(slotFromMenuChanged(int))); 62 connect(fromBox, SIGNAL(activated(int)), SLOT(slotFromMenuChanged(int)));
66 63
67 QHBoxLayout *fromLayout = new QHBoxLayout(); 64 QHBoxLayout *fromLayout = new QHBoxLayout();
68 layout->addLayout(fromLayout, 0, 1); 65 layout->addLayout(fromLayout, 0, 1);
69 66
70 from = new QComboBox(main); 67 from = new QComboBox(main);
71 fromLayout->addWidget(from); 68 fromLayout->addWidget(from);
72 69
73 replyto = new QLineEdit(main); 70 replyto = new QLineEdit(main);
74 replyto->hide(); 71 replyto->hide();
75 fromLayout->addWidget(replyto); 72 fromLayout->addWidget(replyto);
76 73
77 receiversBox = new QComboBox(main); 74 receiversBox = new QComboBox(main);
78 receiversBox->insertItem(tr("To"), POPUP_RECV_TO); 75 receiversBox->insertItem(tr("To"), POPUP_RECV_TO);
79 receiversBox->insertItem(tr("Cc"), POPUP_RECV_CC); 76 receiversBox->insertItem(tr("Cc"), POPUP_RECV_CC);
80 receiversBox->insertItem(tr("Bcc"), POPUP_RECV_BCC); 77 receiversBox->insertItem(tr("Bcc"), POPUP_RECV_BCC);
81 layout->addWidget(receiversBox, 1, 0); 78 layout->addWidget(receiversBox, 1, 0);
82 79
83 connect(receiversBox, SIGNAL(activated(int)), SLOT(slotReceiverMenuChanged(int))); 80 connect(receiversBox, SIGNAL(activated(int)), SLOT(slotReceiverMenuChanged(int)));
84 81
85 QHBoxLayout *receiverLayout = new QHBoxLayout(); 82 QHBoxLayout *receiverLayout = new QHBoxLayout();
86 layout->addLayout(receiverLayout, 1, 1); 83 layout->addLayout(receiverLayout, 1, 1);
87 84
88 to = new QLineEdit(main); 85 to = new QLineEdit(main);
89 receiverLayout->addWidget(to); 86 receiverLayout->addWidget(to);
90 87
91 cc = new QLineEdit(main); 88 cc = new QLineEdit(main);
92 cc->hide(); 89 cc->hide();
93 receiverLayout->addWidget(cc); 90 receiverLayout->addWidget(cc);
94 91
95 bcc = new QLineEdit(main); 92 bcc = new QLineEdit(main);
96 bcc->hide(); 93 bcc->hide();
97 receiverLayout->addWidget(bcc); 94 receiverLayout->addWidget(bcc);
98 95
99 subjectBox = new QComboBox(main); 96 subjectBox = new QComboBox(main);
100 subjectBox->insertItem(tr("Subj."), POPUP_SUBJ_SUBJECT); 97 subjectBox->insertItem(tr("Subj."), POPUP_SUBJ_SUBJECT);
101 subjectBox->insertItem(tr("Prio."), POPUP_SUBJ_PRIORITY); 98 subjectBox->insertItem(tr("Prio."), POPUP_SUBJ_PRIORITY);
102 layout->addWidget(subjectBox, 2, 0); 99 layout->addWidget(subjectBox, 2, 0);
103 connect(subjectBox, SIGNAL(activated(int)), SLOT(slotSubjectMenuChanged(int))); 100 connect(subjectBox, SIGNAL(activated(int)), SLOT(slotSubjectMenuChanged(int)));
104 101
105 QHBoxLayout *subjectLayout = new QHBoxLayout(); 102 QHBoxLayout *subjectLayout = new QHBoxLayout();
106 layout->addLayout(subjectLayout, 2, 1); 103 layout->addLayout(subjectLayout, 2, 1);
107 104
108 subject = new QLineEdit(main); 105 subject = new QLineEdit(main);
109 subjectLayout->addWidget(subject); 106 subjectLayout->addWidget(subject);
110 107
111 priority = new QComboBox(main); 108 priority = new QComboBox(main);
112 priority->insertItem(tr("Low"), POPUP_PRIO_LOW); 109 priority->insertItem(tr("Low"), POPUP_PRIO_LOW);
113 priority->insertItem(tr("Normal"), POPUP_PRIO_NORMAL); 110 priority->insertItem(tr("Normal"), POPUP_PRIO_NORMAL);
114 priority->insertItem(tr("High"), POPUP_PRIO_HIGH); 111 priority->insertItem(tr("High"), POPUP_PRIO_HIGH);
115 priority->setCurrentItem(POPUP_PRIO_NORMAL); 112 priority->setCurrentItem(POPUP_PRIO_NORMAL);
116 priority->hide(); 113 priority->hide();
117 subjectLayout->addWidget(priority); 114 subjectLayout->addWidget(priority);
118 115
119 QVBox *view = new QVBox(main); 116 QVBox *view = new QVBox(main);
120 layout->addMultiCellWidget(view, 3, 3, 0, 1); 117 layout->addMultiCellWidget(view, 3, 3, 0, 1);
121 118
122 message = new QMultiLineEdit(view); 119 message = new QMultiLineEdit(view);
123 message->setMinimumHeight(30); 120 message->setMinimumHeight(30);
124 121
125 attachWindow = new QMainWindow(view, 0, 0); 122 attachWindow = new QMainWindow(view, 0, 0);
126 attachWindow->setMinimumHeight(100); 123 attachWindow->setMinimumHeight(80);
127 attachWindow->setMaximumHeight(100); 124 attachWindow->setMaximumHeight(80);
128 attachWindow->setToolBarsMovable(false); 125 attachWindow->setToolBarsMovable(false);
129 attachWindow->hide(); 126 attachWindow->hide();
130 127
131 attachToolbar = new QPEToolBar(attachWindow); 128 attachToolbar = new QPEToolBar(attachWindow);
132 attachToolbar->setVerticalStretchable(true); 129 attachToolbar->setVerticalStretchable(true);
133 130
134 addattach = new QAction(tr("Add an Attachement"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this); 131 addattach = new QAction(tr("Add an Attachement"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this);
135 addattach->addTo(attachToolbar); 132 addattach->addTo(attachToolbar);
136 133
137 delattach = new QAction(tr("Remove Attachement"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this); 134 delattach = new QAction(tr("Remove Attachement"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this);
138 delattach->addTo(attachToolbar); 135 delattach->addTo(attachToolbar);
139 136
140 QLabel *attachSpacer = new QLabel(attachToolbar); 137 QLabel *attachSpacer = new QLabel(attachToolbar);
141 attachSpacer->setBackgroundMode(QWidget::PaletteButton); 138 attachSpacer->setBackgroundMode(QWidget::PaletteButton);
142 attachToolbar->setStretchableWidget(attachSpacer); 139 attachToolbar->setStretchableWidget(attachSpacer);
143 140
144 attachWindow->addToolBar(attachToolbar, QMainWindow::Left); 141 attachWindow->addToolBar(attachToolbar, QMainWindow::Left);
145 142
146 attachView = new ListViewPlus(attachWindow); 143 attachView = new ListViewPlus(attachWindow);
147 attachView->addColumn(tr("Name"), 80); 144 attachView->addColumn(tr("Name"), 80);
148 attachView->addColumn(tr("Description"), 110); 145 attachView->addColumn(tr("Description"), 110);
149 attachView->setAllColumnsShowFocus(true); 146 attachView->setAllColumnsShowFocus(true);
150 attachWindow->setCentralWidget(attachView); 147 attachWindow->setCentralWidget(attachView);
151 148
152 attachPopup = new QPopupMenu(attachView); 149 attachPopup = new QPopupMenu(attachView);
153 attachPopup->insertItem(tr("Rename"), POPUP_ATTACH_RENAME); 150 attachPopup->insertItem(tr("Rename"), POPUP_ATTACH_RENAME);
154 attachPopup->insertItem(tr("Change Description"), POPUP_ATTACH_DESC); 151 attachPopup->insertItem(tr("Change Description"), POPUP_ATTACH_DESC);
155 attachPopup->insertSeparator(); 152 attachPopup->insertSeparator();
156 attachPopup->insertItem(tr("Remove"), POPUP_ATTACH_REMOVE); 153 attachPopup->insertItem(tr("Remove"), POPUP_ATTACH_REMOVE);
157 attachView->setPopup(attachPopup); 154 attachView->setPopup(attachPopup);
158 155
159 status = new QLabel(view); 156 status = new MailStatusBar(view);
160 QFont tmpFont = status->font();
161 tmpFont.setPixelSize(8);
162 status->setFont(tmpFont);
163} 157}
164 158
165void ComposerBase::slotAttachfileChanged(bool toggled) 159void ComposerBase::slotAttachfileChanged(bool toggled)
166{ 160{
167 if (toggled) { 161 if (toggled) {
168 if (attachWindow->isHidden()) attachWindow->show(); 162 if (attachWindow->isHidden()) attachWindow->show();
169 } else { 163 } else {
170 if (!attachWindow->isHidden()) attachWindow->hide(); 164 if (!attachWindow->isHidden()) attachWindow->hide();
171 } 165 }
172} 166}
173 167
174void ComposerBase::slotFromMenuChanged(int id) 168void ComposerBase::slotFromMenuChanged(int id)
175{ 169{
176 if (POPUP_FROM_FROM == id) { 170 if (POPUP_FROM_FROM == id) {
177 if (from->isHidden()) from->show(); 171 if (from->isHidden()) from->show();
178 if (!replyto->isHidden()) replyto->hide(); 172 if (!replyto->isHidden()) replyto->hide();
179 } else if (POPUP_FROM_REPLYTO == id) { 173 } else if (POPUP_FROM_REPLYTO == id) {
180 if (!from->isHidden()) from->hide(); 174 if (!from->isHidden()) from->hide();
181 if (replyto->isHidden()) replyto->show(); 175 if (replyto->isHidden()) replyto->show();
182 } 176 }
183} 177}
184 178
185void ComposerBase::slotReceiverMenuChanged(int id) 179void ComposerBase::slotReceiverMenuChanged(int id)
186{ 180{
187 if (POPUP_RECV_TO == id) { 181 if (POPUP_RECV_TO == id) {
188 if (to->isHidden()) to->show(); 182 if (to->isHidden()) to->show();
189 if (!cc->isHidden()) cc->hide(); 183 if (!cc->isHidden()) cc->hide();
190 if (!bcc->isHidden()) bcc->hide(); 184 if (!bcc->isHidden()) bcc->hide();
191 } else if (POPUP_RECV_CC == id) { 185 } else if (POPUP_RECV_CC == id) {
192 if (!to->isHidden()) to->hide(); 186 if (!to->isHidden()) to->hide();
193 if (cc->isHidden()) cc->show(); 187 if (cc->isHidden()) cc->show();
194 if (!bcc->isHidden()) bcc->hide(); 188 if (!bcc->isHidden()) bcc->hide();
195 } else if (POPUP_RECV_BCC == id) { 189 } else if (POPUP_RECV_BCC == id) {
196 if (!to->isHidden()) to->hide(); 190 if (!to->isHidden()) to->hide();
197 if (!cc->isHidden()) cc->hide(); 191 if (!cc->isHidden()) cc->hide();
198 if (bcc->isHidden()) bcc->show(); 192 if (bcc->isHidden()) bcc->show();
199 } 193 }
200} 194}
201 195
202void ComposerBase::slotSubjectMenuChanged(int id) 196void ComposerBase::slotSubjectMenuChanged(int id)
203{ 197{
204 if (POPUP_SUBJ_SUBJECT == id) { 198 if (POPUP_SUBJ_SUBJECT == id) {
205 if (subject->isHidden()) subject->show(); 199 if (subject->isHidden()) subject->show();
206 if (!priority->isHidden()) priority->hide(); 200 if (!priority->isHidden()) priority->hide();
207 } else if (POPUP_SUBJ_PRIORITY == id) { 201 } else if (POPUP_SUBJ_PRIORITY == id) {
208 if (!subject->isHidden()) subject->hide(); 202 if (!subject->isHidden()) subject->hide();
209 if (priority->isHidden()) priority->show(); 203 if (priority->isHidden()) priority->show();
210 } 204 }
211} 205}
diff --git a/noncore/unsupported/mail2/composerbase.h b/noncore/unsupported/mail2/composerbase.h
index d832623..58f1157 100644
--- a/noncore/unsupported/mail2/composerbase.h
+++ b/noncore/unsupported/mail2/composerbase.h
@@ -1,59 +1,61 @@
1#ifndef COMPOSERBASE_H 1#ifndef COMPOSERBASE_H
2#define COMPOSERBASE_H 2#define COMPOSERBASE_H
3 3
4#include <qmainwindow.h> 4#include <qmainwindow.h>
5 5
6class QMultiLineEdit; 6class QMultiLineEdit;
7class MailStatusBar;
7class ListViewPlus; 8class ListViewPlus;
8class QPopupMenu; 9class QPopupMenu;
9class QPEToolBar; 10class QPEToolBar;
10class QPEMenuBar; 11class QPEMenuBar;
11class QPopupMenu; 12class QPopupMenu;
12class QComboBox; 13class QComboBox;
13class QLineEdit; 14class QLineEdit;
14class QAction; 15class QAction;
15class QLabel; 16class QLabel;
16 17
17class ComposerBase : public QMainWindow 18class ComposerBase : public QMainWindow
18{ 19{
19 Q_OBJECT 20 Q_OBJECT
20 21
21public: 22public:
22 ComposerBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); 23 ComposerBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
23 24
24protected: 25protected:
25 static const int POPUP_FROM_FROM = 0; 26 static const int POPUP_FROM_FROM = 0;
26 static const int POPUP_FROM_REPLYTO = 1; 27 static const int POPUP_FROM_REPLYTO = 1;
27 static const int POPUP_RECV_TO = 0; 28 static const int POPUP_RECV_TO = 0;
28 static const int POPUP_RECV_CC = 1; 29 static const int POPUP_RECV_CC = 1;
29 static const int POPUP_RECV_BCC = 2; 30 static const int POPUP_RECV_BCC = 2;
30 static const int POPUP_SUBJ_SUBJECT = 0; 31 static const int POPUP_SUBJ_SUBJECT = 0;
31 static const int POPUP_SUBJ_PRIORITY = 1; 32 static const int POPUP_SUBJ_PRIORITY = 1;
32 static const int POPUP_PRIO_LOW = 0; 33 static const int POPUP_PRIO_LOW = 0;
33 static const int POPUP_PRIO_NORMAL = 1; 34 static const int POPUP_PRIO_NORMAL = 1;
34 static const int POPUP_PRIO_HIGH = 2; 35 static const int POPUP_PRIO_HIGH = 2;
35 static const int POPUP_ATTACH_RENAME = 0; 36 static const int POPUP_ATTACH_RENAME = 0;
36 static const int POPUP_ATTACH_DESC = 1; 37 static const int POPUP_ATTACH_DESC = 1;
37 static const int POPUP_ATTACH_REMOVE = 2; 38 static const int POPUP_ATTACH_REMOVE = 2;
38 39
39 QMultiLineEdit *message; 40 QMultiLineEdit *message;
41 MailStatusBar *status;
40 ListViewPlus *attachView; 42 ListViewPlus *attachView;
41 QMainWindow *attachWindow; 43 QMainWindow *attachWindow;
42 QPopupMenu *attachPopup; 44 QPopupMenu *attachPopup;
43 QPEToolBar *toolbar, *attachToolbar; 45 QPEToolBar *toolbar, *attachToolbar;
44 QPEMenuBar *menubar; 46 QPEMenuBar *menubar;
45 QPopupMenu *mailmenu; 47 QPopupMenu *mailmenu;
46 QComboBox *fromBox, *from, *receiversBox, *subjectBox, *priority; 48 QComboBox *fromBox, *from, *receiversBox, *subjectBox, *priority;
47 QLineEdit *replyto, *to, *cc, *bcc, *subject; 49 QLineEdit *replyto, *to, *cc, *bcc, *subject;
48 QAction *sendmail, *queuemail, *attachfile, *addressbook, *abort, *addattach, *delattach; 50 QAction *sendmail, *queuemail, *attachfile, *addressbook, *abort, *addattach, *delattach;
49 QLabel *fromLabel, *status; 51 QLabel *fromLabel;
50 52
51protected slots: 53protected slots:
52 void slotAttachfileChanged(bool toggled); 54 void slotAttachfileChanged(bool toggled);
53 void slotFromMenuChanged(int id); 55 void slotFromMenuChanged(int id);
54 void slotReceiverMenuChanged(int id); 56 void slotReceiverMenuChanged(int id);
55 void slotSubjectMenuChanged(int id); 57 void slotSubjectMenuChanged(int id);
56 58
57}; 59};
58 60
59#endif 61#endif
diff --git a/noncore/unsupported/mail2/mail.pro b/noncore/unsupported/mail2/mail.pro
index 985a6fb..177509d 100644
--- a/noncore/unsupported/mail2/mail.pro
+++ b/noncore/unsupported/mail2/mail.pro
@@ -1,59 +1,61 @@
1 TEMPLATE = app 1 TEMPLATE = app
2 CONFIG = qt warn_on debug 2 CONFIG = qt warn_on debug
3 #CONFIG = qt warn_on release 3 #CONFIG = qt warn_on release
4 HEADERS = accounteditor.h \ 4 HEADERS = accounteditor.h \
5 addresspicker.h \ 5 addresspicker.h \
6 composer.h \ 6 composer.h \
7 composerbase.h \ 7 composerbase.h \
8 configdiag.h \ 8 configdiag.h \
9 folderwidget.h \ 9 folderwidget.h \
10 listviewplus.h \ 10 listviewplus.h \
11 mailstatusbar.h \
11 mailtable.h \ 12 mailtable.h \
12 mainwindow.h \ 13 mainwindow.h \
13 mainwindowbase.h \ 14 mainwindowbase.h \
14 opendiag.h \ 15 opendiag.h \
15 rename.h \ 16 rename.h \
16 searchdiag.h \ 17 searchdiag.h \
17 viewmail.h \ 18 viewmail.h \
18 viewmailbase.h 19 viewmailbase.h
19 SOURCES = accounteditor.cpp \ 20 SOURCES = accounteditor.cpp \
20 addresspicker.cpp \ 21 addresspicker.cpp \
21 composer.cpp \ 22 composer.cpp \
22 composerbase.cpp \ 23 composerbase.cpp \
23 configdiag.cpp \ 24 configdiag.cpp \
24 folderwidget.cpp \ 25 folderwidget.cpp \
25 listviewplus.cpp \ 26 listviewplus.cpp \
27 mailstatusbar.cpp \
26 mailtable.cpp \ 28 mailtable.cpp \
27 main.cpp \ 29 main.cpp \
28 mainwindow.cpp \ 30 mainwindow.cpp \
29 mainwindowbase.cpp \ 31 mainwindowbase.cpp \
30 opendiag.cpp \ 32 opendiag.cpp \
31 rename.cpp \ 33 rename.cpp \
32 searchdiag.cpp \ 34 searchdiag.cpp \
33 viewmail.cpp \ 35 viewmail.cpp \
34 viewmailbase.cpp 36 viewmailbase.cpp
35 INTERFACES = accounteditorbase.ui \ 37 INTERFACES = accounteditorbase.ui \
36 addresspickerbase.ui \ 38 addresspickerbase.ui \
37 configdiagbase.ui \ 39 configdiagbase.ui \
38 opendiagbase.ui \ 40 opendiagbase.ui \
39 renamebase.ui \ 41 renamebase.ui \
40 searchdiagbase.ui 42 searchdiagbase.ui
41 INCLUDEPATH += $(OPIEDIR)/include libmail 43 INCLUDEPATH += $(OPIEDIR)/include libmail
42 LIBS += -lmail -lqpe -lopie 44 LIBS += -lmail -lqpe -lopie
43 TARGET = mail 45 TARGET = mail
44 DESTDIR = $(OPIEDIR)/bin 46 DESTDIR = $(OPIEDIR)/bin
45 47
46TRANSLATIONS = ../../i18n/de/mail.ts \ 48TRANSLATIONS = ../../i18n/de/mail.ts \
47 ../../i18n/en/mail.ts \ 49 ../../i18n/en/mail.ts \
48 ../../i18n/es/mail.ts \ 50 ../../i18n/es/mail.ts \
49 ../../i18n/fr/mail.ts \ 51 ../../i18n/fr/mail.ts \
50 ../../i18n/hu/mail.ts \ 52 ../../i18n/hu/mail.ts \
51 ../../i18n/ja/mail.ts \ 53 ../../i18n/ja/mail.ts \
52 ../../i18n/ko/mail.ts \ 54 ../../i18n/ko/mail.ts \
53 ../../i18n/no/mail.ts \ 55 ../../i18n/no/mail.ts \
54 ../../i18n/pl/mail.ts \ 56 ../../i18n/pl/mail.ts \
55 ../../i18n/pt/mail.ts \ 57 ../../i18n/pt/mail.ts \
56 ../../i18n/pt_BR/mail.ts \ 58 ../../i18n/pt_BR/mail.ts \
57 ../../i18n/sl/mail.ts \ 59 ../../i18n/sl/mail.ts \
58 ../../i18n/zh_CN/mail.ts \ 60 ../../i18n/zh_CN/mail.ts \
59 ../../i18n/zh_TW/mail.ts 61 ../../i18n/zh_TW/mail.ts
diff --git a/noncore/unsupported/mail2/mailstatusbar.cpp b/noncore/unsupported/mail2/mailstatusbar.cpp
new file mode 100644
index 0000000..470ea4f
--- a/dev/null
+++ b/noncore/unsupported/mail2/mailstatusbar.cpp
@@ -0,0 +1,58 @@
1#include <qprogressbar.h>
2#include <qtoolbutton.h>
3#include <qlabel.h>
4
5#include "mailstatusbar.h"
6
7MailStatusBar::MailStatusBar(QWidget *parent, const char *name, WFlags fl)
8 : QHBox(parent, name, fl)
9{
10 label = new QLabel(this);
11 QFont tmpFont = label->font();
12 tmpFont.setPixelSize(8);
13 label->setFont(tmpFont);
14
15 stopButton = new QToolButton(this);
16 stopButton->setText(" X ");
17 stopButton->setMaximumHeight(15);
18 stopButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
19 connect(stopButton, SIGNAL(clicked()), SLOT(stopClicked()));
20
21 progress = new QProgressBar(this);
22 progress->setCenterIndicator(true);
23 progress->setMinimumHeight(15);
24 progress->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
25 progress->setFrameShape(QFrame::Box);
26 progress->setFrameShadow(QFrame::Raised);
27}
28
29void MailStatusBar::setStatusText(const QString &text)
30{
31 label->setText(text);
32}
33
34void MailStatusBar::setStopEnabled(bool enabled)
35{
36 stopButton->setEnabled(enabled);
37}
38
39void MailStatusBar::setProgressTotalSteps(int steps)
40{
41 progress->setTotalSteps(steps);
42}
43
44void MailStatusBar::setProgress(int pg)
45{
46 progress->setProgress(pg);
47}
48
49void MailStatusBar::resetProgress()
50{
51 progress->reset();
52}
53
54void MailStatusBar::stopClicked()
55{
56 emit stop();
57}
58
diff --git a/noncore/unsupported/mail2/mailstatusbar.h b/noncore/unsupported/mail2/mailstatusbar.h
new file mode 100644
index 0000000..11cd538
--- a/dev/null
+++ b/noncore/unsupported/mail2/mailstatusbar.h
@@ -0,0 +1,38 @@
1#ifndef MAILSTATUSBAR_H
2#define MAILSTATUSBAR_H
3
4#include <qhbox.h>
5
6class QLabel;
7class QToolButton;
8class QProgressBar;
9
10class MailStatusBar : public QHBox
11{
12 Q_OBJECT
13
14public:
15 MailStatusBar(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
16
17public slots:
18 void setStatusText(const QString &text);
19 void setStopEnabled(bool enabled);
20 void setProgressTotalSteps(int steps);
21 void setProgress(int progress);
22 void resetProgress();
23
24signals:
25 void stop();
26
27protected slots:
28 void stopClicked();
29
30private:
31 QLabel *label;
32 QToolButton *stopButton;
33 QProgressBar *progress;
34
35};
36
37#endif
38
diff --git a/noncore/unsupported/mail2/mainwindow.cpp b/noncore/unsupported/mail2/mainwindow.cpp
index 0044693..047c54b 100644
--- a/noncore/unsupported/mail2/mainwindow.cpp
+++ b/noncore/unsupported/mail2/mainwindow.cpp
@@ -1,76 +1,74 @@
1#include <qprogressbar.h>
2#include <qmessagebox.h> 1#include <qmessagebox.h>
3#include <qtoolbutton.h>
4#include <qaction.h> 2#include <qaction.h>
5#include <qlabel.h>
6 3
4#include "mailstatusbar.h"
7#include "folderwidget.h" 5#include "folderwidget.h"
8#include "mainwindow.h" 6#include "mainwindow.h"
9#include "configdiag.h" 7#include "configdiag.h"
10#include "configfile.h" 8#include "configfile.h"
11#include "searchdiag.h" 9#include "searchdiag.h"
12#include "mailtable.h" 10#include "mailtable.h"
13#include "composer.h" 11#include "composer.h"
14#include "viewmail.h" 12#include "viewmail.h"
15 13
16MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl) 14MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl)
17 : MainWindowBase(parent, name, fl) 15 : MainWindowBase(parent, name, fl)
18{ 16{
19 stopButton->setEnabled(false); 17 status->setStopEnabled(false);
20 18
21 connect(folderView, SIGNAL(status(const QString &)), statusLabel, SLOT(setText(const QString &))); 19 connect(folderView, SIGNAL(status(const QString &)), status, SLOT(setStatusText(const QString &)));
22 connect(folderView, SIGNAL(folderSelected(Folder)), mailView, SLOT(setFolder(Folder))); 20 connect(folderView, SIGNAL(folderSelected(Folder)), mailView, SLOT(setFolder(Folder)));
23 21
24 connect(mailView, SIGNAL(mailClicked(IMAPResponseFETCH, IMAPHandler *)), SLOT(mailClicked(IMAPResponseFETCH, IMAPHandler *))); 22 connect(mailView, SIGNAL(mailClicked(IMAPResponseFETCH, IMAPHandler *)), SLOT(mailClicked(IMAPResponseFETCH, IMAPHandler *)));
25 connect(mailView, SIGNAL(status(const QString &)), statusLabel, SLOT(setText(const QString &))); 23 connect(mailView, SIGNAL(status(const QString &)), status, SLOT(setStatusText(const QString &)));
26 connect(mailView, SIGNAL(totalSteps(int)), statusProgress, SLOT(setTotalSteps(int))); 24 connect(mailView, SIGNAL(totalSteps(int)), status, SLOT(setProgressTotalSteps(int)));
27 connect(mailView, SIGNAL(progress(int)), statusProgress, SLOT(setProgress(int))); 25 connect(mailView, SIGNAL(progress(int)), status, SLOT(setProgress(int)));
28 connect(mailView, SIGNAL(resetProgress()), statusProgress, SLOT(reset())); 26 connect(mailView, SIGNAL(resetProgress()), status, SLOT(resetProgress()));
29 connect(mailView, SIGNAL(stopEnabled(bool)), stopButton, SLOT(setEnabled(bool))); 27 connect(mailView, SIGNAL(stopEnabled(bool)), status, SLOT(setStopEnabled(bool)));
30 28
31 connect(stopButton, SIGNAL(clicked()), mailView, SLOT(stop())); 29 connect(status, SIGNAL(stop()), mailView, SLOT(stop()));
32 30
33 connect(compose, SIGNAL(activated()), SLOT(slotCompose())); 31 connect(compose, SIGNAL(activated()), SLOT(slotCompose()));
34 connect(sendQueue, SIGNAL(activated()), SLOT(slotSendQueued())); 32 connect(sendQueue, SIGNAL(activated()), SLOT(slotSendQueued()));
35 connect(findmails, SIGNAL(activated()), SLOT(slotSearch())); 33 connect(findmails, SIGNAL(activated()), SLOT(slotSearch()));
36 connect(configure, SIGNAL(activated()), SLOT(slotConfigure())); 34 connect(configure, SIGNAL(activated()), SLOT(slotConfigure()));
37} 35}
38 36
39void MainWindow::slotCompose() 37void MainWindow::slotCompose()
40{ 38{
41 Composer composer(this, 0, true); 39 Composer composer(this, 0, true);
42 composer.showMaximized(); 40 composer.showMaximized();
43 composer.exec(); 41 composer.exec();
44} 42}
45 43
46void MainWindow::slotSendQueued() 44void MainWindow::slotSendQueued()
47{ 45{
48 Composer composer(this, 0, true, true); 46 Composer composer(this, 0, true, true);
49 // composer.sendQueue(); 47 // composer.sendQueue();
50 composer.showMaximized(); 48 composer.showMaximized();
51 composer.exec(); 49 composer.exec();
52 //composer.close(); 50 //composer.close();
53} 51}
54 52
55void MainWindow::slotSearch() 53void MainWindow::slotSearch()
56{ 54{
57 SearchDiag searchDiag(this, 0, true); 55 SearchDiag searchDiag(this, 0, true);
58 searchDiag.showMaximized(); 56 searchDiag.showMaximized();
59 searchDiag.exec(); 57 searchDiag.exec();
60} 58}
61 59
62void MainWindow::slotConfigure() 60void MainWindow::slotConfigure()
63{ 61{
64 ConfigDiag configDiag(this, 0, true); 62 ConfigDiag configDiag(this, 0, true);
65 configDiag.showMaximized(); 63 configDiag.showMaximized();
66 configDiag.exec(); 64 configDiag.exec();
67 65
68 connect(&configDiag, SIGNAL(changed()), folderView, SLOT(update())); 66 connect(&configDiag, SIGNAL(changed()), folderView, SLOT(update()));
69} 67}
70 68
71void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) 69void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler)
72{ 70{
73 ViewMail viewMail(mail, handler, this, 0, true); 71 ViewMail viewMail(mail, handler, this, 0, true);
74 viewMail.showMaximized(); 72 viewMail.showMaximized();
75 viewMail.exec(); 73 viewMail.exec();
76} 74}
diff --git a/noncore/unsupported/mail2/mainwindowbase.cpp b/noncore/unsupported/mail2/mainwindowbase.cpp
index bffe8b3..e35d489 100644
--- a/noncore/unsupported/mail2/mainwindowbase.cpp
+++ b/noncore/unsupported/mail2/mainwindowbase.cpp
@@ -1,91 +1,75 @@
1#include <qprogressbar.h>
2#include <qtoolbutton.h>
3#include <qpopupmenu.h> 1#include <qpopupmenu.h>
4#include <qaction.h> 2#include <qaction.h>
5#include <qheader.h> 3#include <qheader.h>
6#include <qlabel.h> 4#include <qlabel.h>
7#include <qvbox.h> 5#include <qvbox.h>
8 6
9#include <qpe/qpetoolbar.h> 7#include <qpe/qpetoolbar.h>
10#include <qpe/qpemenubar.h> 8#include <qpe/qpemenubar.h>
11#include <qpe/resource.h> 9#include <qpe/resource.h>
12 10
13#include "mainwindowbase.h" 11#include "mainwindowbase.h"
12#include "mailstatusbar.h"
14#include "folderwidget.h" 13#include "folderwidget.h"
15#include "mailtable.h" 14#include "mailtable.h"
16 15
17MainWindowBase::MainWindowBase(QWidget *parent, const char *name, WFlags fl) 16MainWindowBase::MainWindowBase(QWidget *parent, const char *name, WFlags fl)
18 : QMainWindow(parent, name, fl) 17 : QMainWindow(parent, name, fl)
19{ 18{
20 setCaption(tr("E-Mail")); 19 setCaption(tr("E-Mail"));
21 setToolBarsMovable(false); 20 setToolBarsMovable(false);
22 21
23 toolbar = new QPEToolBar(this); 22 toolbar = new QPEToolBar(this);
24 menubar = new QPEMenuBar( toolbar ); 23 menubar = new QPEMenuBar( toolbar );
25 mailmenu = new QPopupMenu( menubar ); 24 mailmenu = new QPopupMenu( menubar );
26 servermenu = new QPopupMenu( menubar ); 25 servermenu = new QPopupMenu( menubar );
27 menubar->insertItem( tr( "Mail" ), mailmenu ); 26 menubar->insertItem( tr( "Mail" ), mailmenu );
28 menubar->insertItem( tr( "Servers" ), servermenu ); 27 menubar->insertItem( tr( "Servers" ), servermenu );
29 28
30 addToolBar(toolbar); 29 addToolBar(toolbar);
31 toolbar->setHorizontalStretchable(true); 30 toolbar->setHorizontalStretchable(true);
32 31
33 QLabel *spacer = new QLabel(toolbar); 32 QLabel *spacer = new QLabel(toolbar);
34 spacer->setBackgroundMode(QWidget::PaletteButton); 33 spacer->setBackgroundMode(QWidget::PaletteButton);
35 toolbar->setStretchableWidget(spacer); 34 toolbar->setStretchableWidget(spacer);
36 35
37 compose = new QAction(tr("Compose new mail"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this); 36 compose = new QAction(tr("Compose new mail"), QIconSet(Resource::loadPixmap("mail/newmail")), 0, 0, this);
38 compose->addTo(toolbar); 37 compose->addTo(toolbar);
39 compose->addTo(mailmenu); 38 compose->addTo(mailmenu);
40 39
41 sendQueue = new QAction(tr("Send queued mails"), QIconSet(Resource::loadPixmap("mail/sendqueue")), 0, 0, this); 40 sendQueue = new QAction(tr("Send queued mails"), QIconSet(Resource::loadPixmap("mail/sendqueue")), 0, 0, this);
42 sendQueue->addTo(toolbar); 41 sendQueue->addTo(toolbar);
43 sendQueue->addTo(mailmenu); 42 sendQueue->addTo(mailmenu);
44 43
45 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true); 44 folders = new QAction(tr("Show/hide folders"), QIconSet(Resource::loadPixmap("mail/folder")), 0, 0, this, 0, true);
46 folders->addTo(toolbar); 45 folders->addTo(toolbar);
47 folders->addTo(servermenu); 46 folders->addTo(servermenu);
48 connect(folders, SIGNAL(toggled(bool)), SLOT(slotFoldersToggled(bool))); 47 connect(folders, SIGNAL(toggled(bool)), SLOT(slotFoldersToggled(bool)));
49 48
50 findmails = new QAction(tr("Search mails"), QIconSet(Resource::loadPixmap("mail/find")), 0, 0, this); 49 findmails = new QAction(tr("Search mails"), QIconSet(Resource::loadPixmap("mail/find")), 0, 0, this);
51 findmails->addTo(toolbar); 50 findmails->addTo(toolbar);
52 findmails->addTo(mailmenu); 51 findmails->addTo(mailmenu);
53 52
54 configure = new QAction(tr("Configuration"), QIconSet(Resource::loadPixmap("mail/configure")), 0, 0, this); 53 configure = new QAction(tr("Configuration"), QIconSet(Resource::loadPixmap("mail/configure")), 0, 0, this);
55 configure->addTo(servermenu); 54 configure->addTo(servermenu);
56 55
57 QVBox *view = new QVBox(this); 56 QVBox *view = new QVBox(this);
58 setCentralWidget(view); 57 setCentralWidget(view);
59 58
60 folderView = new FolderWidget(view); 59 folderView = new FolderWidget(view);
61 folderView->setMinimumHeight(90); 60 folderView->setMinimumHeight(90);
62 folderView->setMaximumHeight(90); 61 folderView->setMaximumHeight(90);
63 folderView->hide(); 62 folderView->hide();
64 63
65 mailView = new MailTable(view); 64 mailView = new MailTable(view);
66 mailView->setMinimumHeight(50); 65 mailView->setMinimumHeight(50);
67 66
68 QHBox *status = new QHBox(view); 67 status = new MailStatusBar(view);
69
70 statusLabel = new QLabel(status);
71 QFont tmpFont = statusLabel->font();
72 tmpFont.setPixelSize(8);
73 statusLabel->setFont(tmpFont);
74
75 stopButton = new QToolButton(status);
76 stopButton->setText(" X ");
77 stopButton->setMaximumHeight(15);
78 stopButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
79
80 statusProgress = new QProgressBar(status);
81 statusProgress->setCenterIndicator(true);
82 statusProgress->setMaximumHeight(15);
83 statusProgress->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
84} 68}
85 69
86void MainWindowBase::slotFoldersToggled(bool toggled) 70void MainWindowBase::slotFoldersToggled(bool toggled)
87{ 71{
88 if (folderView->isHidden() && toggled) folderView->show(); 72 if (folderView->isHidden() && toggled) folderView->show();
89 if (!folderView->isHidden() && !toggled) folderView->hide(); 73 if (!folderView->isHidden() && !toggled) folderView->hide();
90} 74}
91 75
diff --git a/noncore/unsupported/mail2/mainwindowbase.h b/noncore/unsupported/mail2/mainwindowbase.h
index 702933a..11c5ea0 100644
--- a/noncore/unsupported/mail2/mainwindowbase.h
+++ b/noncore/unsupported/mail2/mainwindowbase.h
@@ -1,41 +1,37 @@
1#ifndef MAINWINDOWBASE_H 1#ifndef MAINWINDOWBASE_H
2#define MAINWINDOWBASE_H 2#define MAINWINDOWBASE_H
3 3
4#include <qmainwindow.h> 4#include <qmainwindow.h>
5 5
6class ServerConnection; 6class ServerConnection;
7class QProgressBar; 7class MailStatusBar;
8class FolderWidget; 8class FolderWidget;
9class QToolButton;
10class QPEToolBar; 9class QPEToolBar;
11class QPEMenuBar; 10class QPEMenuBar;
12class QPopupMenu; 11class QPopupMenu;
13class MailTable; 12class MailTable;
14class QAction; 13class QAction;
15class QLabel;
16 14
17class MainWindowBase : public QMainWindow 15class MainWindowBase : public QMainWindow
18{ 16{
19 Q_OBJECT 17 Q_OBJECT
20 18
21public: 19public:
22 MainWindowBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); 20 MainWindowBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
23 21
24protected slots: 22protected slots:
25 void slotFoldersToggled(bool toggled); 23 void slotFoldersToggled(bool toggled);
26 24
27protected: 25protected:
28 ServerConnection *serverConnection; 26 ServerConnection *serverConnection;
29 QProgressBar *statusProgress; 27 MailStatusBar *status;
30 FolderWidget *folderView; 28 FolderWidget *folderView;
31 QToolButton *stopButton;
32 QPEToolBar *toolbar; 29 QPEToolBar *toolbar;
33 QPEMenuBar *menubar; 30 QPEMenuBar *menubar;
34 QPopupMenu *mailmenu, *servermenu; 31 QPopupMenu *mailmenu, *servermenu;
35 MailTable *mailView; 32 MailTable *mailView;
36 QAction *compose, *sendQueue, *folders, *findmails, *configure; 33 QAction *compose, *sendQueue, *folders, *findmails, *configure;
37 QLabel *statusLabel;
38 34
39}; 35};
40 36
41#endif 37#endif