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
@@ -3,45 +3,45 @@
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
@@ -145,30 +145,30 @@ void Composer::slotSendMail()
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
@@ -239,25 +239,25 @@ void Composer::slotSendQueued()
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) {
@@ -296,42 +296,42 @@ void Composer::slotQueueMail()
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" );
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
@@ -2,65 +2,62 @@
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
@@ -114,26 +111,26 @@ ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl)
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
@@ -147,28 +144,25 @@ ComposerBase::ComposerBase(QWidget *parent, const char *name, WFlags fl)
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)
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,18 +1,19 @@
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{
@@ -28,32 +29,33 @@ protected:
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,37 +1,39 @@
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 \
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,43 +1,41 @@
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();
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,25 +1,24 @@
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 );
@@ -56,36 +55,21 @@ MainWindowBase::MainWindowBase(QWidget *parent, const char *name, WFlags fl)
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