summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-06-09 01:37:23 (UTC)
committer llornkcor <llornkcor>2003-06-09 01:37:23 (UTC)
commit364e6e65b4c3b4ceec2b1b6688f2ca2b3dce4560 (patch) (unidiff)
tree1be5d3150c2bda4b3a55f9e7d2529d73fe6d72db
parent5ee1c7dff5679454d46e3c5bd5747c60ea63c959 (diff)
downloadopie-364e6e65b4c3b4ceec2b1b6688f2ca2b3dce4560.zip
opie-364e6e65b4c3b4ceec2b1b6688f2ca2b3dce4560.tar.gz
opie-364e6e65b4c3b4ceec2b1b6688f2ca2b3dce4560.tar.bz2
patch from wim delvaux. fix from me
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/addatt.cpp4
-rw-r--r--noncore/net/mailit/emailclient.cpp73
-rw-r--r--noncore/net/mailit/emailclient.h4
-rw-r--r--noncore/net/mailit/emailhandler.cpp10
-rw-r--r--noncore/net/mailit/emailhandler.h4
-rw-r--r--noncore/net/mailit/mailit.pro1
-rw-r--r--noncore/net/mailit/mailitwindow.cpp4
-rw-r--r--noncore/net/mailit/maillist.cpp160
-rw-r--r--noncore/net/mailit/popclient.cpp16
-rw-r--r--noncore/net/mailit/popclient.h3
-rw-r--r--noncore/net/mailit/smtpclient.cpp35
-rw-r--r--noncore/net/mailit/smtpclient.h3
-rw-r--r--noncore/net/mailit/viewatt.cpp14
-rw-r--r--noncore/net/mailit/writemail.cpp598
-rw-r--r--noncore/unsupported/mailit/addatt.cpp4
-rw-r--r--noncore/unsupported/mailit/emailclient.cpp73
-rw-r--r--noncore/unsupported/mailit/emailclient.h4
-rw-r--r--noncore/unsupported/mailit/emailhandler.cpp10
-rw-r--r--noncore/unsupported/mailit/emailhandler.h4
-rw-r--r--noncore/unsupported/mailit/mailit.pro1
-rw-r--r--noncore/unsupported/mailit/mailitwindow.cpp4
-rw-r--r--noncore/unsupported/mailit/maillist.cpp160
-rw-r--r--noncore/unsupported/mailit/popclient.cpp16
-rw-r--r--noncore/unsupported/mailit/popclient.h3
-rw-r--r--noncore/unsupported/mailit/smtpclient.cpp35
-rw-r--r--noncore/unsupported/mailit/smtpclient.h3
-rw-r--r--noncore/unsupported/mailit/viewatt.cpp14
-rw-r--r--noncore/unsupported/mailit/writemail.cpp598
28 files changed, 948 insertions, 910 deletions
diff --git a/noncore/net/mailit/addatt.cpp b/noncore/net/mailit/addatt.cpp
index daefac6..19ac58f 100644
--- a/noncore/net/mailit/addatt.cpp
+++ b/noncore/net/mailit/addatt.cpp
@@ -56,7 +56,7 @@ FileItem::~FileItem()
56AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) 56AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f)
57 : QDialog(parent, name, f) 57 : QDialog(parent, name, f)
58{ 58{
59 setCaption("Adding attachments"); 59 setCaption(tr("Adding attachments") );
60 60
61 QGridLayout *top = new QGridLayout(this, 1,1 ); 61 QGridLayout *top = new QGridLayout(this, 1,1 );
62 62
@@ -122,7 +122,7 @@ void AddAtt::clear()
122}*/ 122}*/
123 123
124void AddAtt::addattachment() 124void AddAtt::addattachment()
125 { 125 {// ### FIXME wrong use -zecke
126 OFileDialog ofs("Attachments",this,0,0,"/root/Documents"); 126 OFileDialog ofs("Attachments",this,0,0,"/root/Documents");
127 127
128 ofs.showMaximized(); 128 ofs.showMaximized();
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp
index da1226c..749a4e9 100644
--- a/noncore/net/mailit/emailclient.cpp
+++ b/noncore/net/mailit/emailclient.cpp
@@ -59,10 +59,10 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
59 59
60 connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) ); 60 connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) );
61 61
62 connect(emailHandler, SIGNAL(smtpError(int)), this, 62 connect(emailHandler, SIGNAL(smtpError(int,const QString &)), this,
63 SLOT(smtpError(int)) ); 63 SLOT(smtpError(int,const QString &)) );
64 connect(emailHandler, SIGNAL(popError(int)), this, 64 connect(emailHandler, SIGNAL(popError(int,const QString &)), this,
65 SLOT(popError(int)) ); 65 SLOT(popError(int,const QString &)) );
66 66
67 connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) ); 67 connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) );
68 connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) ); 68 connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) );
@@ -480,7 +480,7 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
480 480
481} 481}
482 482
483void EmailClient::allMailArrived(int count) 483void EmailClient::allMailArrived(int /*count*/)
484{ 484{
485 // not previewing means all mailtransfer has been done 485 // not previewing means all mailtransfer has been done
486 /*if (!previewingMail) {*/ 486 /*if (!previewingMail) {*/
@@ -518,19 +518,21 @@ void EmailClient::moveMailFront(Email *mailPtr)
518 } 518 }
519} 519}
520 520
521void EmailClient::smtpError(int code) 521void EmailClient::smtpError(int code, const QString & Msg)
522{ 522{
523 QString temp; 523 QString temp;
524 524
525 if (code == ErrUnknownResponse) 525 if (code == ErrUnknownResponse) {
526 temp = "Unknown response from server"; 526 temp = tr("<qt>Unknown response from server</qt>");
527 527 if( ! Msg.isEmpty() )
528 if (code == QSocket::ErrHostNotFound) 528 temp += Msg;
529 temp = "host not found"; 529 } else if (code == QSocket::ErrHostNotFound) {
530 if (code == QSocket::ErrConnectionRefused) 530 temp = tr("<qt>host not found</qt>");
531 temp = "connection refused"; 531 } else if (code == QSocket::ErrConnectionRefused) {
532 if (code == QSocket::ErrSocketRead) 532 temp = tr("<qt>connection refused</qt>");
533 temp = "socket packet error"; 533 } else if (code == QSocket::ErrSocketRead) {
534 temp = tr("<qt>socket packet error</qt>");
535 }
534 536
535 if (code != ErrCancel) { 537 if (code != ErrCancel) {
536 QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n"); 538 QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n");
@@ -544,24 +546,27 @@ void EmailClient::smtpError(int code)
544 quedMessages.clear(); 546 quedMessages.clear();
545} 547}
546 548
547void EmailClient::popError(int code) 549void EmailClient::popError(int code, const QString & Msg)
548{ 550{
549 QString temp; 551 QString temp;
550 552
551 if (code == ErrUnknownResponse) 553 if (code == ErrUnknownResponse) {
552 temp = "Unknown response from server"; 554 temp = tr("<qt>Unknown response from server</qt>");
553 if (code == ErrLoginFailed) 555 if( ! Msg.isEmpty() )
554 temp = "Login failed\nCheck user name and password"; 556 temp += Msg;
555 557 } else if (code == ErrLoginFailed) {
556 if (code == QSocket::ErrHostNotFound) 558 temp = tr("<qt>Login failed\nCheck user name and password</qt>");
557 temp = "host not found"; 559 } else if (code == QSocket::ErrHostNotFound) {
558 if (code == QSocket::ErrConnectionRefused) 560 temp = tr("<qt>host not found</qt>");
559 temp = "connection refused"; 561 } else if (code == QSocket::ErrConnectionRefused) {
560 if (code == QSocket::ErrSocketRead) 562 temp = tr("<qt>connection refused</qt>");
561 temp = "socket packet error"; 563 } else if (code == QSocket::ErrSocketRead) {
562 564 temp = tr("<qt>socket packet error</qt>");
565 }
566
563 if (code != ErrCancel) { 567 if (code != ErrCancel) {
564 QMessageBox::warning(qApp->activeWindow(), "Receiving error", temp, "OK\n"); 568 QMessageBox::warning(qApp->activeWindow(), tr("Receiving error"), temp, tr("OK\n"));
569
565 } else { 570 } else {
566 status2Label->setText("Aborted by user"); 571 status2Label->setText("Aborted by user");
567 } 572 }
@@ -898,7 +903,7 @@ void EmailClient::setMailSize(int size)
898 progressBar->setTotalSteps(size); 903 progressBar->setTotalSteps(size);
899} 904}
900 905
901void EmailClient::setTotalSize(int size) 906void EmailClient::setTotalSize(int /*size*/)
902{ 907{
903 908
904} 909}
@@ -920,7 +925,7 @@ void EmailClient::deleteItem()
920 QListView* box; 925 QListView* box;
921 926
922 EmailListItem* eli; 927 EmailListItem* eli;
923 int pos; 928 // int pos;
924 929
925 inbox ? box=inboxView : box=outboxView; 930 inbox ? box=inboxView : box=outboxView;
926 931
@@ -946,7 +951,7 @@ void EmailClient::inboxItemReleased()
946 951
947/*void EmailClient::timerEvent(QTimerEvent *e) 952/*void EmailClient::timerEvent(QTimerEvent *e)
948{ 953{
949 /*killTimer(timerID); 954 //killTimer(timerID);
950 955
951 956
952 QPopupMenu *action = new QPopupMenu(this); 957 QPopupMenu *action = new QPopupMenu(this);
@@ -991,11 +996,11 @@ void EmailClient::download(Email* mail)
991 tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n"); 996 tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n");
992} 997}
993 998
994void EmailClient::receive(const QCString& msg, const QByteArray& data) 999void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
995{ 1000{
996 /*if (msg=="getMail()") 1001 /*if (msg=="getMail()")
997 { 1002 {
998 /*QDialog qd(qApp->activeWindow(),"Getting mail",true); 1003 //QDialog qd(qApp->activeWindow(),"Getting mail",true);
999 QVBoxLayout *vbProg = new QVBoxLayout( &qd ); 1004 QVBoxLayout *vbProg = new QVBoxLayout( &qd );
1000 1005
1001 initStatusBar(&qd); 1006 initStatusBar(&qd);
diff --git a/noncore/net/mailit/emailclient.h b/noncore/net/mailit/emailclient.h
index c98cfce..80c6d31 100644
--- a/noncore/net/mailit/emailclient.h
+++ b/noncore/net/mailit/emailclient.h
@@ -98,8 +98,8 @@ public slots:
98 void deleteItem(); 98 void deleteItem();
99 void getNewMail(); 99 void getNewMail();
100 void getAllNewMail(); 100 void getAllNewMail();
101 void smtpError(int code); 101 void smtpError(int code, const QString & Msg );
102 void popError(int code); 102 void popError(int code, const QString & Msg);
103 void inboxItemSelected(); 103 void inboxItemSelected();
104 void outboxItemSelected(); 104 void outboxItemSelected();
105 void inboxItemPressed(); 105 void inboxItemPressed();
diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp
index 39f693d..5b8bda1 100644
--- a/noncore/net/mailit/emailhandler.cpp
+++ b/noncore/net/mailit/emailhandler.cpp
@@ -44,14 +44,14 @@ EmailHandler::EmailHandler()
44 smtpClient = new SmtpClient(); 44 smtpClient = new SmtpClient();
45 popClient = new PopClient(); 45 popClient = new PopClient();
46 46
47 connect(smtpClient, SIGNAL(errorOccurred(int)), this, 47 connect(smtpClient, SIGNAL(errorOccurred(int, const QString &)), this,
48 SIGNAL(smtpError(int)) ); 48 SIGNAL(smtpError(int, const QString &)) );
49 connect(smtpClient, SIGNAL(mailSent()), this, SIGNAL(mailSent()) ); 49 connect(smtpClient, SIGNAL(mailSent()), this, SIGNAL(mailSent()) );
50 connect(smtpClient, SIGNAL(updateStatus(const QString &)), this, 50 connect(smtpClient, SIGNAL(updateStatus(const QString &)), this,
51 SIGNAL(updateSmtpStatus(const QString &)) ); 51 SIGNAL(updateSmtpStatus(const QString &)) );
52 52
53 connect(popClient, SIGNAL(errorOccurred(int)), this, 53 connect(popClient, SIGNAL(errorOccurred(int, const QString &)), this,
54 SIGNAL(popError(int)) ); 54 SIGNAL(popError(int, const QString &)) );
55 connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)), 55 connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)),
56 this, SLOT(messageArrived(const QString &, int, uint, bool)) ); 56 this, SLOT(messageArrived(const QString &, int, uint, bool)) );
57 connect(popClient, SIGNAL(updateStatus(const QString &)), this, 57 connect(popClient, SIGNAL(updateStatus(const QString &)), this,
@@ -162,7 +162,7 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
162 mail->files.setAutoDelete(TRUE); 162 mail->files.setAutoDelete(TRUE);
163 163
164 temp = lineShift + "." + lineShift; 164 temp = lineShift + "." + lineShift;
165 165
166 if (in.right(temp.length()) != temp) { 166 if (in.right(temp.length()) != temp) {
167 mail->rawMail += temp; 167 mail->rawMail += temp;
168 } 168 }
diff --git a/noncore/net/mailit/emailhandler.h b/noncore/net/mailit/emailhandler.h
index e4e7f46..74a8e4c 100644
--- a/noncore/net/mailit/emailhandler.h
+++ b/noncore/net/mailit/emailhandler.h
@@ -127,8 +127,8 @@ public:
127 127
128signals: 128signals:
129 void mailSent(); 129 void mailSent();
130 void smtpError(int); 130 void smtpError(int, const QString & Msg );
131 void popError(int); 131 void popError(int, const QString & Msg );
132 void mailArrived(const Email &, bool); 132 void mailArrived(const Email &, bool);
133 void updatePopStatus(const QString &); 133 void updatePopStatus(const QString &);
134 void updateSmtpStatus(const QString &); 134 void updateSmtpStatus(const QString &);
diff --git a/noncore/net/mailit/mailit.pro b/noncore/net/mailit/mailit.pro
index cfbda36..5e9a83a 100644
--- a/noncore/net/mailit/mailit.pro
+++ b/noncore/net/mailit/mailit.pro
@@ -1,4 +1,5 @@
1TEMPLATE = app 1TEMPLATE = app
2TARGET = mailit
2CONFIG = qt warn_on release 3CONFIG = qt warn_on release
3HEADERS = emailclient.h \ 4HEADERS = emailclient.h \
4 emailhandler.h \ 5 emailhandler.h \
diff --git a/noncore/net/mailit/mailitwindow.cpp b/noncore/net/mailit/mailitwindow.cpp
index f945a0f..6e298c7 100644
--- a/noncore/net/mailit/mailitwindow.cpp
+++ b/noncore/net/mailit/mailitwindow.cpp
@@ -21,10 +21,10 @@
21#include <qmessagebox.h> 21#include <qmessagebox.h>
22#include "mailitwindow.h" 22#include "mailitwindow.h"
23 23
24MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags fl) 24MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags /*fl*/)
25 : QMainWindow(parent, name, WStyle_ContextHelp) 25 : QMainWindow(parent, name, WStyle_ContextHelp)
26{ 26{
27 currentCaption = "Mailit"; 27 currentCaption = tr("Mailit");
28 setCaption(tr(currentCaption)); 28 setCaption(tr(currentCaption));
29 views = new QWidgetStack(this); 29 views = new QWidgetStack(this);
30 setCentralWidget(views); 30 setCentralWidget(views);
diff --git a/noncore/net/mailit/maillist.cpp b/noncore/net/mailit/maillist.cpp
index b5325a9..8c34295 100644
--- a/noncore/net/mailit/maillist.cpp
+++ b/noncore/net/mailit/maillist.cpp
@@ -21,111 +21,111 @@
21 21
22void MailList::clear() 22void MailList::clear()
23{ 23{
24 sortedList.setAutoDelete(TRUE); 24 sortedList.setAutoDelete(TRUE);
25 sortedList.clear(); 25 sortedList.clear();
26 currentPos = 0; 26 currentPos = 0;
27} 27}
28 28
29int MailList::count() 29int MailList::count()
30{ 30{
31 return sortedList.count(); 31 return sortedList.count();
32} 32}
33 33
34int* MailList::first() 34int* MailList::first()
35{ 35{
36 dList *mPtr; 36 dList *mPtr;
37 37
38 if (sortedList.count() == 0) 38 if (sortedList.count() == 0)
39 return NULL; 39 return NULL;
40 40
41 mPtr = sortedList.at(0); 41 mPtr = sortedList.at(0);
42 currentPos = 1; 42 currentPos = 1;
43 return &(mPtr->serverId); 43 return &(mPtr->serverId);
44} 44}
45 45
46int* MailList::next() 46int* MailList::next()
47{ 47{
48 dList *mPtr; 48 dList *mPtr;
49 49
50 if ( (currentPos) >= sortedList.count()) 50 if ( (currentPos) >= sortedList.count())
51 return NULL; 51 return NULL;
52 52
53 mPtr = sortedList.at(currentPos); 53 mPtr = sortedList.at(currentPos);
54 currentPos++; 54 currentPos++;
55 return &(mPtr->serverId); 55 return &(mPtr->serverId);
56} 56}
57 57
58void MailList::sizeInsert(int serverId, uint size) 58void MailList::sizeInsert(int serverId, uint size)
59{ 59{
60 dList *tempPtr; 60 dList *tempPtr;
61 int x; 61 int x;
62 62
63 dList *newEntry = new dList; 63 dList *newEntry = new dList;
64 newEntry->serverId = serverId; 64 newEntry->serverId = serverId;
65 newEntry->size = size; 65 newEntry->size = size;
66 66
67 for (tempPtr = sortedList.first(); tempPtr != NULL; tempPtr = sortedList.next() ) { 67 for (tempPtr = sortedList.first(); tempPtr != NULL; tempPtr = sortedList.next() ) {
68 if (newEntry->size < tempPtr->size) { 68 if (newEntry->size < tempPtr->size) {
69 x = sortedList.at(); 69 x = sortedList.at();
70 sortedList.insert(x, newEntry); 70 sortedList.insert(x, newEntry);
71 return; 71 return;
72 } 72 }
73 } 73 }
74 sortedList.append(newEntry); 74 sortedList.append(newEntry);
75} 75}
76 76
77void MailList::moveFront(int serverId, uint size) 77void MailList::moveFront(int serverId, uint/* size*/)
78{ 78{
79 dList *currentPtr; 79 dList *currentPtr;
80 uint tempPos; 80 uint tempPos;
81 QString temp; 81 QString temp;
82 82
83 tempPos = currentPos; 83 tempPos = currentPos;
84 if ( tempPos >= sortedList.count() ) 84 if ( tempPos >= sortedList.count() )
85 return; 85 return;
86 currentPtr = sortedList.at(tempPos); 86 currentPtr = sortedList.at(tempPos);
87 while ( ((tempPos+1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) { 87 while ( ((tempPos+1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
88 tempPos++; 88 tempPos++;
89 currentPtr = sortedList.at(tempPos); 89 currentPtr = sortedList.at(tempPos);
90 } 90 }
91 91
92 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) { 92 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
93 temp.setNum(currentPtr->serverId); 93 temp.setNum(currentPtr->serverId);
94 qWarning("moved to front, message: " + temp); 94 qWarning("moved to front, message: " + temp);
95 95
96 dList *itemPtr = sortedList.take(tempPos); 96 dList *itemPtr = sortedList.take(tempPos);
97 sortedList.insert(currentPos, itemPtr); 97 sortedList.insert(currentPos, itemPtr);
98 } 98 }
99 99
100} 100}
101 101
102//only works if mail is not already in download 102//only works if mail is not already in download
103bool MailList::remove(int serverId, uint size) 103bool MailList::remove(int serverId, uint /*size*/)
104{ 104{
105 dList *currentPtr; 105 dList *currentPtr;
106 uint tempPos; 106 uint tempPos;
107 QString temp; 107 QString temp;
108 108
109 tempPos = currentPos; 109 tempPos = currentPos;
110 if ( tempPos >=sortedList.count() ) 110 if ( tempPos >=sortedList.count() )
111 return FALSE; 111 return FALSE;
112 currentPtr = sortedList.at(tempPos); 112 currentPtr = sortedList.at(tempPos);
113 while ( ((tempPos + 1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) { 113 while ( ((tempPos + 1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
114 tempPos++; 114 tempPos++;
115 currentPtr = sortedList.at(tempPos); 115 currentPtr = sortedList.at(tempPos);
116 } 116 }
117 117
118 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) { 118 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
119 temp.setNum(currentPtr->serverId); 119 temp.setNum(currentPtr->serverId);
120 qWarning("deleted message: " + temp); 120 qWarning("deleted message: " + temp);
121 sortedList.remove(tempPos); 121 sortedList.remove(tempPos);
122 122
123 return TRUE; 123 return TRUE;
124 } 124 }
125 return FALSE; 125 return FALSE;
126} 126}
127 127
128void MailList::insert(int pos, int serverId, uint size) 128void MailList::insert(int /*pos*/, int /*serverId*/, uint/* size*/)
129{ 129{
130 //sortedList.insert(pos, mPtr); 130// sortedList.insert(pos, mPtr);
131} 131}
diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp
index dc0116d..5da3bcb 100644
--- a/noncore/net/mailit/popclient.cpp
+++ b/noncore/net/mailit/popclient.cpp
@@ -63,7 +63,7 @@ void PopClient::newConnection(const QString &target, int port)
63 receiving = TRUE; 63 receiving = TRUE;
64 //selected = FALSE; 64 //selected = FALSE;
65 65
66 emit updateStatus("DNS lookup"); 66 emit updateStatus(tr("DNS lookup"));
67} 67}
68 68
69void PopClient::setAccount(const QString &popUser, const QString &popPasswd) 69void PopClient::setAccount(const QString &popUser, const QString &popPasswd)
@@ -103,8 +103,12 @@ void PopClient::connectionEstablished()
103 103
104void PopClient::errorHandling(int status) 104void PopClient::errorHandling(int status)
105{ 105{
106 errorHandlingWithMsg( status, QString::null );
107}
108void PopClient::errorHandlingWithMsg(int status, const QString & Msg )
109{
106 emit updateStatus(tr("Error Occured")); 110 emit updateStatus(tr("Error Occured"));
107 emit errorOccurred(status); 111 emit errorOccurred(status, Msg);
108 socket->close(); 112 socket->close();
109 receiving = FALSE; 113 receiving = FALSE;
110} 114}
@@ -167,7 +171,7 @@ void PopClient::incomingData()
167 if (response[0] == '+') { 171 if (response[0] == '+') {
168 *stream << "STAT" << "\r\n"; 172 *stream << "STAT" << "\r\n";
169 status = Mcnt; 173 status = Mcnt;
170 } else errorHandling(ErrLoginFailed); 174 } else errorHandlingWithMsg(ErrLoginFailed, response);
171 break; 175 break;
172 } 176 }
173 //get count of messages, eg "+OK 4 900.." -> int 4 177 //get count of messages, eg "+OK 4 900.." -> int 4
@@ -195,7 +199,7 @@ void PopClient::incomingData()
195 } else newMessages = 0; 199 } else newMessages = 0;
196 } 200 }
197 201
198 } else errorHandling(ErrUnknownResponse); 202 } else errorHandlingWithMsg(ErrUnknownResponse, response);
199 } 203 }
200 //Read message number x, count upwards to messageCount 204 //Read message number x, count upwards to messageCount
201 case List: { 205 case List: {
@@ -234,7 +238,7 @@ void PopClient::incomingData()
234 status = Retr; 238 status = Retr;
235 } else { 239 } else {
236 //qWarning(response); 240 //qWarning(response);
237 errorHandling(ErrUnknownResponse); 241 errorHandlingWithMsg(ErrUnknownResponse, response);
238 } 242 }
239 } 243 }
240 } 244 }
@@ -259,7 +263,7 @@ void PopClient::incomingData()
259 if (!socket->canReadLine()) //sync. problems 263 if (!socket->canReadLine()) //sync. problems
260 break; 264 break;
261 response = socket->readLine(); 265 response = socket->readLine();
262 } else errorHandling(ErrUnknownResponse); 266 } else errorHandlingWithMsg(ErrUnknownResponse, response);
263 } 267 }
264 } 268 }
265 //add all incoming lines to body. When size is reached, send 269 //add all incoming lines to body. When size is reached, send
diff --git a/noncore/net/mailit/popclient.h b/noncore/net/mailit/popclient.h
index c58bc48..6774ceb 100644
--- a/noncore/net/mailit/popclient.h
+++ b/noncore/net/mailit/popclient.h
@@ -44,7 +44,7 @@ public:
44 44
45signals: 45signals:
46 void newMessage(const QString &, int, uint, bool); 46 void newMessage(const QString &, int, uint, bool);
47 void errorOccurred(int status); 47 void errorOccurred(int status, const QString & Msg );
48 void updateStatus(const QString &); 48 void updateStatus(const QString &);
49 void mailTransfered(int); 49 void mailTransfered(int);
50 void mailboxSize(int); 50 void mailboxSize(int);
@@ -53,6 +53,7 @@ signals:
53 53
54public slots: 54public slots:
55 void errorHandling(int); 55 void errorHandling(int);
56 void errorHandlingWithMsg(int, const QString & );
56 57
57protected slots: 58protected slots:
58 void connectionEstablished(); 59 void connectionEstablished();
diff --git a/noncore/net/mailit/smtpclient.cpp b/noncore/net/mailit/smtpclient.cpp
index 2916f45..5b5ef52 100644
--- a/noncore/net/mailit/smtpclient.cpp
+++ b/noncore/net/mailit/smtpclient.cpp
@@ -73,7 +73,12 @@ void SmtpClient::connectionEstablished()
73 73
74void SmtpClient::errorHandling(int status) 74void SmtpClient::errorHandling(int status)
75{ 75{
76 emit errorOccurred(status); 76 errorHandlingWithMsg( status, QString::null );
77}
78
79void SmtpClient::errorHandlingWithMsg(int status, const QString & EMsg )
80{
81 emit errorOccurred(status, EMsg );
77 socket->close(); 82 socket->close();
78 mailList.clear(); 83 mailList.clear();
79 sending = FALSE; 84 sending = FALSE;
@@ -87,31 +92,32 @@ void SmtpClient::incomingData()
87 return; 92 return;
88 93
89 response = socket->readLine(); 94 response = socket->readLine();
90
91 switch(status) { 95 switch(status) {
92 case Init: { 96 case Init: {
93 if (response[0] == '2') { 97 if (response[0] == '2') {
94 status = From; 98 status = From;
95 mailPtr = mailList.first(); 99 mailPtr = mailList.first();
96 *stream << "HELO there\r\n"; 100 *stream << "HELO there\r\n";
97 } else errorHandling(ErrUnknownResponse); 101 } else errorHandlingWithMsg(ErrUnknownResponse,response);
98 break; 102 break;
99 } 103 }
100 case From: { 104 case From: {
101 if (response[0] == '2') { 105 if (response[0] == '2') {
102 *stream << "MAIL FROM: " << mailPtr->from << "\r\n"; 106 qDebug(mailPtr->from);
107 *stream << "MAIL FROM: <" << mailPtr->from << ">\r\n";
103 status = Recv; 108 status = Recv;
104 } else errorHandling(ErrUnknownResponse); 109 } else errorHandlingWithMsg(ErrUnknownResponse, response );
105 break; 110 break;
106 } 111 }
107 case Recv: { 112 case Recv: {
108 if (response[0] == '2') { 113 if (response[0] == '2') {
109 it = mailPtr->to.begin(); 114 it = mailPtr->to.begin();
110 if (it == NULL) 115 if (it == NULL) {
111 errorHandling(ErrUnknownResponse); 116 errorHandlingWithMsg(ErrUnknownResponse,response);
112 *stream << "RCPT TO: " << *it << ">\r\n"; 117 }
118 *stream << "RCPT TO: <" << *it << ">\r\n";
113 status = MRcv; 119 status = MRcv;
114 } else errorHandling(ErrUnknownResponse); 120 } else errorHandlingWithMsg(ErrUnknownResponse,response);
115 break; 121 break;
116 } 122 }
117 case MRcv: { 123 case MRcv: {
@@ -123,14 +129,15 @@ void SmtpClient::incomingData()
123 } else { 129 } else {
124 status = Data; 130 status = Data;
125 } 131 }
126 } else errorHandling(ErrUnknownResponse); 132 } else errorHandlingWithMsg(ErrUnknownResponse,response);
127 } 133 }
128 case Data: { 134 case Data: {
129 if (response[0] == '2') { 135 if (response[0] == '2') {
130 *stream << "DATA\r\n"; 136 *stream << "DATA\r\n";
131 status = Body; 137 status = Body;
132 emit updateStatus(tr("Sending: ") + mailPtr->subject); 138 emit updateStatus(tr("Sending: ") + mailPtr->subject);
133 } else errorHandling(ErrUnknownResponse); 139
140 } else errorHandlingWithMsg(ErrUnknownResponse,response);
134 break; 141 break;
135 } 142 }
136 case Body: { 143 case Body: {
@@ -142,7 +149,7 @@ void SmtpClient::incomingData()
142 } else { 149 } else {
143 status = Quit; 150 status = Quit;
144 } 151 }
145 } else errorHandling(ErrUnknownResponse); 152 } else errorHandlingWithMsg(ErrUnknownResponse,response);
146 break; 153 break;
147 } 154 }
148 case Quit: { 155 case Quit: {
@@ -156,7 +163,7 @@ void SmtpClient::incomingData()
156 mailList.clear(); 163 mailList.clear();
157 sending = FALSE; 164 sending = FALSE;
158 socket->close(); 165 socket->close();
159 } else errorHandling(ErrUnknownResponse); 166 } else errorHandlingWithMsg(ErrUnknownResponse,response);
160 break; 167 break;
161 } 168 }
162 } 169 }
diff --git a/noncore/net/mailit/smtpclient.h b/noncore/net/mailit/smtpclient.h
index 45c0703..554ba3f 100644
--- a/noncore/net/mailit/smtpclient.h
+++ b/noncore/net/mailit/smtpclient.h
@@ -47,12 +47,13 @@ public:
47 void addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body); 47 void addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body);
48 48
49signals: 49signals:
50 void errorOccurred(int); 50 void errorOccurred(int, const QString & LR );
51 void updateStatus(const QString &); 51 void updateStatus(const QString &);
52 void mailSent(); 52 void mailSent();
53 53
54public slots: 54public slots:
55 void errorHandling(int); 55 void errorHandling(int);
56 void errorHandlingWithMsg(int, const QString & LastResponse );
56 57
57protected slots: 58protected slots:
58 void connectionEstablished(); 59 void connectionEstablished();
diff --git a/noncore/net/mailit/viewatt.cpp b/noncore/net/mailit/viewatt.cpp
index 21885c2..293e137 100644
--- a/noncore/net/mailit/viewatt.cpp
+++ b/noncore/net/mailit/viewatt.cpp
@@ -26,7 +26,7 @@
26ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f) 26ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f)
27 : QMainWindow(parent, name, f) 27 : QMainWindow(parent, name, f)
28{ 28{
29 setCaption("Exploring attatchments"); 29 setCaption(tr("Exploring attatchments"));
30 30
31 setToolBarsMovable( FALSE ); 31 setToolBarsMovable( FALSE );
32 bar = new QToolBar(this); 32 bar = new QToolBar(this);
@@ -35,9 +35,9 @@ ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f)
35 installButton->setWhatsThis(tr("Click here to install the attachment to your Documents")); 35 installButton->setWhatsThis(tr("Click here to install the attachment to your Documents"));
36 36
37 listView = new QListView(this, "AttView"); 37 listView = new QListView(this, "AttView");
38 listView->addColumn( "Attatchment" ); 38 listView->addColumn( tr("Attatchment") );
39 listView->addColumn( "Type" ); 39 listView->addColumn( tr("Type") );
40 listView->addColumn( "Installed" ); 40 listView->addColumn( tr("Installed") );
41 setCentralWidget(listView); 41 setCentralWidget(listView);
42 QWhatsThis::add(listView,QWidget::tr("This is an overview about all attachments in the mail")); 42 QWhatsThis::add(listView,QWidget::tr("This is an overview about all attachments in the mail"));
43} 43}
@@ -61,9 +61,9 @@ void ViewAtt::update(Email *mailIn, bool inbox)
61 mail = mailIn; 61 mail = mailIn;
62 for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) { 62 for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) {
63 63
64 QString isInstalled = "No"; 64 QString isInstalled = tr("No");
65 if (ePtr->installed) 65 if (ePtr->installed)
66 isInstalled = "Yes"; 66 isInstalled = tr("Yes");
67 item = new QListViewItem(listView, ePtr->originalName, ePtr->contentType, isInstalled); 67 item = new QListViewItem(listView, ePtr->originalName, ePtr->contentType, isInstalled);
68 68
69 const QString& mtypeDef=(const QString&) ePtr->contentType+"/"+ePtr->contentAttribute; 69 const QString& mtypeDef=(const QString&) ePtr->contentType+"/"+ePtr->contentAttribute;
@@ -116,6 +116,6 @@ void ViewAtt::install()
116 d.setType(selPtr->contentType + "/" + selPtr->contentAttribute); 116 d.setType(selPtr->contentType + "/" + selPtr->contentAttribute);
117 d.writeLink(); 117 d.writeLink();
118 selPtr->installed = TRUE; 118 selPtr->installed = TRUE;
119 item->setText(2, "Yes"); 119 item->setText(2, tr("Yes"));
120 } 120 }
121} 121}
diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp
index 0298cb3..26b9660 100644
--- a/noncore/net/mailit/writemail.cpp
+++ b/noncore/net/mailit/writemail.cpp
@@ -24,367 +24,367 @@
24 24
25WriteMail::WriteMail( QWidget* parent, const char* name, WFlags fl ):QMainWindow( parent, name, fl ) 25WriteMail::WriteMail( QWidget* parent, const char* name, WFlags fl ):QMainWindow( parent, name, fl )
26{ 26{
27 showingAddressList = FALSE; 27 showingAddressList = FALSE;
28 init(); 28 init();
29 29
30 addAtt = new AddAtt(0, "Add Attachments"); 30 addAtt = new AddAtt(0, "Add Attachments");
31} 31}
32 32
33WriteMail::~WriteMail() 33WriteMail::~WriteMail()
34{ 34{
35 delete addAtt; 35 delete addAtt;
36} 36}
37 37
38void WriteMail::setAddressList(AddressList *list) 38void WriteMail::setAddressList(AddressList *list)
39{ 39{
40 AContact *cPtr; 40 AContact *cPtr;
41 41
42 addressList = list; 42 addressList = list;
43 43
44 addressView->clear(); 44 addressView->clear();
45 QList<AContact> *cListPtr = addressList->getContactList(); 45 QList<AContact> *cListPtr = addressList->getContactList();
46 QListViewItem *item; 46 QListViewItem *item;
47 for (cPtr = cListPtr->first(); cPtr != 0; cPtr = cListPtr->next() ) { 47 for (cPtr = cListPtr->first(); cPtr != 0; cPtr = cListPtr->next() ) {
48 item = new QListViewItem(addressView, cPtr->name, cPtr->email); 48 item = new QListViewItem(addressView, cPtr->name, cPtr->email);
49 } 49 }
50} 50}
51 51
52void WriteMail::init() 52void WriteMail::init()
53{ 53{
54 setToolBarsMovable(FALSE); 54 setToolBarsMovable(FALSE);
55 55
56 bar = new QToolBar(this); 56 bar = new QToolBar(this);
57 bar->setHorizontalStretchable( TRUE ); 57 bar->setHorizontalStretchable( TRUE );
58 58
59 menu = new QMenuBar( bar ); 59 menu = new QMenuBar( bar );
60 60
61 mailMenu = new QPopupMenu(menu); 61 mailMenu = new QPopupMenu(menu);
62 menu->insertItem( tr( "&Mail" ), mailMenu); 62 menu->insertItem( tr( "&Mail" ), mailMenu);
63 addMenu = new QPopupMenu(menu); 63 addMenu = new QPopupMenu(menu);
64 menu->insertItem( tr( "&Add" ), addMenu); 64 menu->insertItem( tr( "&Add" ), addMenu);
65 65
66 bar = new QToolBar(this); 66 bar = new QToolBar(this);
67 attachButton = new QAction(tr("Attachment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0); 67 attachButton = new QAction(tr("Attachment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0);
68 attachButton->addTo(bar); 68 attachButton->addTo(bar);
69 attachButton->addTo(addMenu); 69 attachButton->addTo(addMenu);
70 connect( attachButton, SIGNAL( activated() ), this, SLOT( attachFile() ) ); 70 connect( attachButton, SIGNAL( activated() ), this, SLOT( attachFile() ) );
71 attachButton->setWhatsThis(tr("Click here to attach files to your mail")); 71 attachButton->setWhatsThis(tr("Click here to attach files to your mail"));
72 72
73 confirmButton = new QAction(tr("Enque mail"), Resource::loadPixmap("OKButton"), QString::null, 0, this, 0); 73 confirmButton = new QAction(tr("Enque mail"), Resource::loadPixmap("OKButton"), QString::null, 0, this, 0);
74 confirmButton->addTo(bar); 74 confirmButton->addTo(bar);
75 confirmButton->addTo(mailMenu); 75 confirmButton->addTo(mailMenu);
76 connect( confirmButton, SIGNAL( activated() ), this, SLOT( accept() ) ); 76 connect( confirmButton, SIGNAL( activated() ), this, SLOT( accept() ) );
77 confirmButton->setWhatsThis(tr("This button puts your mail in the send queue")); 77 confirmButton->setWhatsThis(tr("This button puts your mail in the send queue"));
78 78
79 newButton = new QAction(tr("New mail"), Resource::loadPixmap("new"), QString::null, 0, this, 0); 79 newButton = new QAction(tr("New mail"), Resource::loadPixmap("new"), QString::null, 0, this, 0);
80 newButton->addTo(mailMenu); 80 newButton->addTo(mailMenu);
81 connect( newButton, SIGNAL( activated() ), this, SLOT( newMail() ) ); 81 connect( newButton, SIGNAL( activated() ), this, SLOT( newMail() ) );
82 newButton->setWhatsThis(tr("Click here to create a new mail")); 82 newButton->setWhatsThis(tr("Click here to create a new mail"));
83 83
84 widget = new QWidget(this, "widget"); 84 widget = new QWidget(this, "widget");
85 grid = new QGridLayout( widget ); 85 grid = new QGridLayout( widget );
86 86
87 recipientsBox = new QComboBox( FALSE, widget, "toLabel" ); 87 recipientsBox = new QComboBox( FALSE, widget, "toLabel" );
88 recipientsBox->insertItem( tr( "To:" ) ); 88 recipientsBox->insertItem( tr( "To:" ) );
89 recipientsBox->insertItem( tr( "CC:" ) ); 89 recipientsBox->insertItem( tr( "CC:" ) );
90 recipientsBox->setCurrentItem(0); 90 recipientsBox->setCurrentItem(0);
91 grid->addWidget( recipientsBox, 0, 0 ); 91 grid->addWidget( recipientsBox, 0, 0 );
92 connect(recipientsBox,SIGNAL(activated(int)),this, SLOT(changeRecipients(int))); 92 connect(recipientsBox,SIGNAL(activated(int)),this, SLOT(changeRecipients(int)));
93 93
94 subjetLabel = new QLabel( widget, "subjetLabel" ); 94 subjetLabel = new QLabel( widget, "subjetLabel" );
95 subjetLabel->setText( tr( "Subject:" ) ); 95 subjetLabel->setText( tr( "Subject:" ) );
96 96
97 grid->addWidget( subjetLabel, 1, 0 ); 97 grid->addWidget( subjetLabel, 1, 0 );
98 98
99 ToolButton13_2 = new QToolButton( widget, "ToolButton13_2" ); 99 ToolButton13_2 = new QToolButton( widget, "ToolButton13_2" );
100 ToolButton13_2->setText( tr( "..." ) ); 100 ToolButton13_2->setText( tr( "..." ) );
101 grid->addWidget( ToolButton13_2, 1, 2 ); 101 grid->addWidget( ToolButton13_2, 1, 2 );
102 102
103 subjectInput = new QLineEdit( widget, "subjectInput" ); 103 subjectInput = new QLineEdit( widget, "subjectInput" );
104 grid->addWidget( subjectInput, 1, 1 ); 104 grid->addWidget( subjectInput, 1, 1 );
105 QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here")); 105 QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here"));
106 106
107 toInput = new QLineEdit( widget, "toInput" ); 107 toInput = new QLineEdit( widget, "toInput" );
108 grid->addWidget( toInput, 0, 1 ); 108 grid->addWidget( toInput, 0, 1 );
109 QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here")); 109 QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here"));
110 110
111 ccInput = new QLineEdit( widget, "ccInput" ); 111 ccInput = new QLineEdit( widget, "ccInput" );
112 ccInput->hide(); 112 ccInput->hide();
113 grid->addWidget( ccInput, 0, 1 ); 113 grid->addWidget( ccInput, 0, 1 );
114 QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here")); 114 QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here"));
115 115
116 addressButton = new QToolButton( widget, "addressButton" ); 116 addressButton = new QToolButton( widget, "addressButton" );
117 addressButton->setPixmap( Resource::loadPixmap("AddressBook") ); 117 addressButton->setPixmap( Resource::loadPixmap("AddressBook") );
118 addressButton->setToggleButton(TRUE); 118 addressButton->setToggleButton(TRUE);
119 grid->addWidget( addressButton, 0, 2 ); 119 grid->addWidget( addressButton, 0, 2 );
120 connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) ); 120 connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) );
121 QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your OPIE addressbook")); 121 QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your Opie addressbook"));
122 122
123 emailInput = new QMultiLineEdit( widget, "emailInput" ); 123 emailInput = new QMultiLineEdit( widget, "emailInput" );
124 grid->addMultiCellWidget( emailInput, 2, 2, 0, 2); 124 grid->addMultiCellWidget( emailInput, 2, 2, 0, 2);
125 QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here")); 125 QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here"));
126 126
127 addressView = new QListView( widget, "addressView"); 127 addressView = new QListView( widget, "addressView");
128 addressView->addColumn("Name"); 128 addressView->addColumn(tr("Name"));
129 addressView->addColumn("EMail"); 129 addressView->addColumn(tr("EMail") );
130 addressView->setAllColumnsShowFocus(TRUE); 130 addressView->setAllColumnsShowFocus(TRUE);
131 addressView->setMultiSelection(TRUE); 131 addressView->setMultiSelection(TRUE);
132 addressView->hide(); 132 addressView->hide();
133 grid->addMultiCellWidget( addressView, 3, 3, 0, 2); 133 grid->addMultiCellWidget( addressView, 3, 3, 0, 2);
134 QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list")); 134 QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list"));
135 135
136 okButton = new QToolButton(bar, "ok"); 136 okButton = new QToolButton(bar, "ok");
137 okButton->setPixmap( Resource::loadPixmap("enter") ); 137 okButton->setPixmap( Resource::loadPixmap("enter") );
138 okButton->hide(); 138 okButton->hide();
139 connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) ); 139 connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) );
140 QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here")); 140 QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here"));
141 141
142 setCentralWidget(widget); 142 setCentralWidget(widget);
143} 143}
144 144
145void WriteMail::reject() 145void WriteMail::reject()
146{ 146{
147 emit cancelMail(); 147 emit cancelMail();
148} 148}
149 149
150void WriteMail::accept() 150void WriteMail::accept()
151{ 151{
152 QStringList attachedFiles, attachmentsType; 152 QStringList attachedFiles, attachmentsType;
153 int idCount = 0; 153 int idCount = 0;
154 154
155 if (toInput->text() == "") 155 if (toInput->text() == "")
156 { 156 {
157 QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n")); 157 QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n"));
158 return; 158 return;
159 } 159 }
160 160
161 if (! getRecipients(false) ) 161 if (! getRecipients(false) )
162 { 162 {
163 QMessageBox::warning(this,tr("Incorrect recipient separator"), 163 QMessageBox::warning(this,tr("Incorrect recipient separator"),
164 tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); 164 tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
165 return; 165 return;
166 } 166 }
167 167
168 if ((ccInput->text()!="") && (! getRecipients(true) )) 168 if ((ccInput->text()!="") && (! getRecipients(true) ))
169 { 169 {
170 QMessageBox::warning(this,tr("Incorrect carbon copy separator"), 170 QMessageBox::warning(this,tr("Incorrect carbon copy separator"),
171 tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); 171 tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
172 return; 172 return;
173 } 173 }
174 174
175 mail.subject = subjectInput->text(); 175 mail.subject = subjectInput->text();
176 mail.body = emailInput->text(); 176 mail.body = emailInput->text();
177 mail.sent = false; 177 mail.sent = false;
178 mail.received = false; 178 mail.received = false;
179 179
180 mail.rawMail = "To: "; 180 mail.rawMail = "To: ";
181 181
182 for (QStringList::Iterator it = mail.recipients.begin(); 182 for (QStringList::Iterator it = mail.recipients.begin();
183 it != mail.recipients.end(); ++it) { 183 it != mail.recipients.end(); ++it) {
184 184
185 mail.rawMail += (*it); 185 mail.rawMail += (*it);
186 mail.rawMail += ",\n"; 186 mail.rawMail += ",\n";
187 } 187 }
188 188
189 mail.rawMail.truncate(mail.rawMail.length()-2); 189 mail.rawMail.truncate(mail.rawMail.length()-2);
190 190
191 mail.rawMail += "\nCC: "; 191 mail.rawMail += "\nCC: ";
192 192
193 for (QStringList::Iterator it = mail.carbonCopies.begin(); 193 for (QStringList::Iterator it = mail.carbonCopies.begin();
194 it != mail.carbonCopies.end(); ++it) { 194 it != mail.carbonCopies.end(); ++it) {
195 195
196 mail.rawMail += (*it); 196 mail.rawMail += (*it);
197 mail.rawMail += ",\n"; 197 mail.rawMail += ",\n";
198 } 198 }
199 199
200 mail.rawMail += mail.from; 200 mail.rawMail += mail.from;
201 mail.rawMail += "\nSubject: "; 201 mail.rawMail += "\nSubject: ";
202 mail.rawMail += mail.subject; 202 mail.rawMail += mail.subject;
203 mail.rawMail += "\n\n"; 203 mail.rawMail += "\n\n";
204 204
205 attachedFiles = addAtt->returnattachedFiles(); 205 attachedFiles = addAtt->returnattachedFiles();
206 attachmentsType = addAtt->returnFileTypes(); 206 attachmentsType = addAtt->returnFileTypes();
207 207
208 QStringList::Iterator itType = attachmentsType.begin(); 208 QStringList::Iterator itType = attachmentsType.begin();
209 209
210 Enclosure e; 210 Enclosure e;
211 for ( QStringList::Iterator it = attachedFiles.begin(); it != attachedFiles.end(); ++it ) { 211 for ( QStringList::Iterator it = attachedFiles.begin(); it != attachedFiles.end(); ++it ) {
212 e.id = idCount; 212 e.id = idCount;
213 e.originalName = (*it).latin1(); 213 e.originalName = (*it).latin1();
214 e.contentType = (*itType).latin1(); 214 e.contentType = (*itType).latin1();
215 e.contentAttribute = (*itType).latin1(); 215 e.contentAttribute = (*itType).latin1();
216 e.saved = TRUE; 216 e.saved = TRUE;
217 mail.addEnclosure(&e); 217 mail.addEnclosure(&e);
218 218
219 itType++; 219 itType++;
220 idCount++; 220 idCount++;
221 } 221 }
222 mail.rawMail += mail.body; 222 mail.rawMail += mail.body;
223 mail.rawMail += "\n"; 223 mail.rawMail += "\n";
224 mail.rawMail += ".\n"; 224 mail.rawMail += ".\n";
225 emit sendMailRequested(mail); 225 emit sendMailRequested(mail);
226 addAtt->clear(); 226 addAtt->clear();
227} 227}
228 228
229void WriteMail::getAddress() 229void WriteMail::getAddress()
230{ 230{
231 showingAddressList = !showingAddressList; 231 showingAddressList = !showingAddressList;
232 232
233 if (showingAddressList) { 233 if (showingAddressList) {
234 emailInput->hide(); 234 emailInput->hide();
235 addressView->show(); 235 addressView->show();
236 okButton->show(); 236 okButton->show();
237 237
238 } else { 238 } else {
239 addressView->hide(); 239 addressView->hide();
240 okButton->hide(); 240 okButton->hide();
241 emailInput->show(); 241 emailInput->show();
242 } 242 }
243} 243}
244 244
245void WriteMail::attachFile() 245void WriteMail::attachFile()
246{ 246{
247 addAtt->showMaximized(); 247 addAtt->showMaximized();
248} 248}
249 249
250void WriteMail::reply(Email replyMail, bool replyAll) 250void WriteMail::reply(Email replyMail, bool replyAll)
251{ 251{
252 int pos; 252 int pos;
253 QString ccRecipients; 253 QString ccRecipients;
254 254
255 mail = replyMail; 255 mail = replyMail;
256 mail.files.clear(); 256 mail.files.clear();
257 257
258 toInput->setText(mail.fromMail); 258 toInput->setText(mail.fromMail);
259 259
260 if (replyAll) 260 if (replyAll)
261 { 261 {
262 for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it) 262 for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it)
263 { 263 {
264 ccRecipients.append(*it); 264 ccRecipients.append(*it);
265 ccRecipients.append(";"); 265 ccRecipients.append(";");
266 } 266 }
267 ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end 267 ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end
268 ccInput->setText(ccRecipients); 268 ccInput->setText(ccRecipients);
269 } 269 }
270 else ccInput->clear(); 270 else ccInput->clear();
271 271
272 subjectInput->setText(tr("Re: ") + mail.subject); 272 subjectInput->setText(tr("Re: ") + mail.subject);
273 273
274 QString citation=mail.fromMail; 274 QString citation=mail.fromMail;
275 citation.append(tr(" wrote on ")); 275 citation.append(tr(" wrote on "));
276 citation.append(mail.date); 276 citation.append(mail.date);
277 citation.append(":\n"); 277 citation.append(":\n");
278 278
279 279
280 //mail.body.insert(0,tr("On")); 280 //mail.body.insert(0,tr("On"));
281 pos = 0; 281 pos = 0;
282 mail.body.insert(pos, ">"); 282 mail.body.insert(pos, ">");
283 while (pos != -1) { 283 while (pos != -1) {
284 pos = mail.body.find('\n', pos); 284 pos = mail.body.find('\n', pos);
285 if (pos != -1) 285 if (pos != -1)
286 mail.body.insert(++pos, ">>"); 286 mail.body.insert(++pos, ">");
287 } 287 }
288 mail.body.insert(0,citation); 288 mail.body.insert(0,citation);
289 emailInput->setText(mail.body); 289 emailInput->setText(mail.body);
290} 290}
291 291
292void WriteMail::forward(Email forwMail) 292void WriteMail::forward(Email forwMail)
293{ 293{
294 int pos=0; 294 // int pos=0;
295 295
296 QString fwdBody=tr("======forwarded message from "); 296 QString fwdBody=tr("======forwarded message from ");
297 fwdBody.append(forwMail.fromMail); 297 fwdBody.append(forwMail.fromMail);
298 fwdBody.append(tr(" starts======\n\n")); 298 fwdBody.append(tr(" starts======\n\n"));
299 299
300 mail=forwMail; 300 mail=forwMail;
301 toInput->setText(""); 301 toInput->setText("");
302 ccInput->setText(""); 302 ccInput->setText("");
303 subjectInput->setText(tr("FWD: ") + mail.subject); 303 subjectInput->setText(tr("FWD: ") + mail.subject);
304 304
305 fwdBody+=mail.body; 305 fwdBody+=mail.body;
306 fwdBody+=QString(tr("======end of forwarded message======\n\n")); 306 fwdBody+=QString(tr("======end of forwarded message======\n\n"));
307 307
308 emailInput->setText(fwdBody); 308 emailInput->setText(fwdBody);
309} 309}
310 310
311bool WriteMail::getRecipients(bool ccField) 311bool WriteMail::getRecipients(bool ccField)
312{ 312{
313 QString str, temp; 313 QString str, temp;
314 int pos = 0; 314 int pos = 0;
315 315
316 if (ccField) 316 if (ccField)
317 { 317 {
318 mail.carbonCopies.clear(); 318 mail.carbonCopies.clear();
319 temp = ccInput->text(); 319 temp = ccInput->text();
320 } 320 }
321 else 321 else
322 { 322 {
323 mail.recipients.clear(); 323 mail.recipients.clear();
324 temp=toInput->text() ; 324 temp=toInput->text() ;
325 } 325 }
326 326
327 while ( (pos = temp.find(';')) != -1) { 327 while ( (pos = temp.find(';')) != -1) {
328 str = temp.left(pos).stripWhiteSpace(); 328 str = temp.left(pos).stripWhiteSpace();
329 temp = temp.right(temp.length() - (pos + 1)); 329 temp = temp.right(temp.length() - (pos + 1));
330 if ( str.find('@') == -1) 330 if ( str.find('@') == -1)
331 return false; 331 return false;
332 ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str); 332 ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str);
333 //addressList->addContact(str, ""); 333 //addressList->addContact(str, "");
334 } 334 }
335 temp = temp.stripWhiteSpace(); 335 temp = temp.stripWhiteSpace();
336 if ( temp.find('@') == -1) 336 if ( temp.find('@') == -1)
337 return false; 337 return false;
338 ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp); 338 ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp);
339 //addressList->addContact(temp, ""); 339 //addressList->addContact(temp, "");
340 340
341 return TRUE; 341 return TRUE;
342} 342}
343 343
344void WriteMail::addRecipients() 344void WriteMail::addRecipients()
345{ 345{
346 toInput->isVisible() ? addRecipients(false) : addRecipients(true); 346 toInput->isVisible() ? addRecipients(false) : addRecipients(true);
347 } 347}
348 348
349void WriteMail::addRecipients(bool ccField) 349void WriteMail::addRecipients(bool ccField)
350{ 350{
351 QString recipients = ""; 351 QString recipients = "";
352 352
353 mail.recipients.clear(); 353 mail.recipients.clear();
354 354
355 QListViewItem *item = addressView->firstChild(); 355 QListViewItem *item = addressView->firstChild();
356 while (item != NULL) { 356 while (item != NULL) {
357 if ( item->isSelected() ) { 357 if ( item->isSelected() ) {
358 if (recipients == "") { 358 if (recipients == "") {
359 recipients = item->text(1); 359 recipients = item->text(1);
360 } else { 360 } else {
361 recipients += "; " + item->text(1); 361 recipients += "; " + item->text(1);
362 } 362 }
363 } 363 }
364 item = item->nextSibling(); 364 item = item->nextSibling();
365 } 365 }
366 366
367 ccField ? ccInput->setText(recipients):toInput->setText(recipients); 367 ccField ? ccInput->setText(recipients):toInput->setText(recipients);
368 368
369 addressView->hide(); 369 addressView->hide();
370 okButton->hide(); 370 okButton->hide();
371 emailInput->show(); 371 emailInput->show();
372 addressButton->setOn(FALSE); 372 addressButton->setOn(FALSE);
373 showingAddressList = !showingAddressList; 373 showingAddressList = !showingAddressList;
374} 374}
375 375
376void WriteMail::changeRecipients(int selection) 376void WriteMail::changeRecipients(int selection)
377{ 377{
378 if (selection==0) 378 if (selection==0)
379 { 379 {
380 toInput->show(); 380 toInput->show();
381 ccInput->hide(); 381 ccInput->hide();
382 } 382 }
383 else if (selection==1) 383 else if (selection==1)
384 { 384 {
385 toInput->hide(); 385 toInput->hide();
386 ccInput->show(); 386 ccInput->show();
387 } 387 }
388} 388}
389 389
390void WriteMail::setRecipient(const QString &recipient) 390void WriteMail::setRecipient(const QString &recipient)
@@ -394,9 +394,9 @@ void WriteMail::setRecipient(const QString &recipient)
394 394
395void WriteMail::newMail() 395void WriteMail::newMail()
396{ 396{
397 toInput->clear(); 397 toInput->clear();
398 ccInput->clear(); 398 ccInput->clear();
399 subjectInput->clear(); 399 subjectInput->clear();
400 emailInput->clear(); 400 emailInput->clear();
401 setAddressList(addressList); 401 setAddressList(addressList);
402} 402}
diff --git a/noncore/unsupported/mailit/addatt.cpp b/noncore/unsupported/mailit/addatt.cpp
index daefac6..19ac58f 100644
--- a/noncore/unsupported/mailit/addatt.cpp
+++ b/noncore/unsupported/mailit/addatt.cpp
@@ -56,7 +56,7 @@ FileItem::~FileItem()
56AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) 56AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f)
57 : QDialog(parent, name, f) 57 : QDialog(parent, name, f)
58{ 58{
59 setCaption("Adding attachments"); 59 setCaption(tr("Adding attachments") );
60 60
61 QGridLayout *top = new QGridLayout(this, 1,1 ); 61 QGridLayout *top = new QGridLayout(this, 1,1 );
62 62
@@ -122,7 +122,7 @@ void AddAtt::clear()
122}*/ 122}*/
123 123
124void AddAtt::addattachment() 124void AddAtt::addattachment()
125 { 125 {// ### FIXME wrong use -zecke
126 OFileDialog ofs("Attachments",this,0,0,"/root/Documents"); 126 OFileDialog ofs("Attachments",this,0,0,"/root/Documents");
127 127
128 ofs.showMaximized(); 128 ofs.showMaximized();
diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp
index da1226c..749a4e9 100644
--- a/noncore/unsupported/mailit/emailclient.cpp
+++ b/noncore/unsupported/mailit/emailclient.cpp
@@ -59,10 +59,10 @@ EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
59 59
60 connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) ); 60 connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) );
61 61
62 connect(emailHandler, SIGNAL(smtpError(int)), this, 62 connect(emailHandler, SIGNAL(smtpError(int,const QString &)), this,
63 SLOT(smtpError(int)) ); 63 SLOT(smtpError(int,const QString &)) );
64 connect(emailHandler, SIGNAL(popError(int)), this, 64 connect(emailHandler, SIGNAL(popError(int,const QString &)), this,
65 SLOT(popError(int)) ); 65 SLOT(popError(int,const QString &)) );
66 66
67 connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) ); 67 connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) );
68 connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) ); 68 connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) );
@@ -480,7 +480,7 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
480 480
481} 481}
482 482
483void EmailClient::allMailArrived(int count) 483void EmailClient::allMailArrived(int /*count*/)
484{ 484{
485 // not previewing means all mailtransfer has been done 485 // not previewing means all mailtransfer has been done
486 /*if (!previewingMail) {*/ 486 /*if (!previewingMail) {*/
@@ -518,19 +518,21 @@ void EmailClient::moveMailFront(Email *mailPtr)
518 } 518 }
519} 519}
520 520
521void EmailClient::smtpError(int code) 521void EmailClient::smtpError(int code, const QString & Msg)
522{ 522{
523 QString temp; 523 QString temp;
524 524
525 if (code == ErrUnknownResponse) 525 if (code == ErrUnknownResponse) {
526 temp = "Unknown response from server"; 526 temp = tr("<qt>Unknown response from server</qt>");
527 527 if( ! Msg.isEmpty() )
528 if (code == QSocket::ErrHostNotFound) 528 temp += Msg;
529 temp = "host not found"; 529 } else if (code == QSocket::ErrHostNotFound) {
530 if (code == QSocket::ErrConnectionRefused) 530 temp = tr("<qt>host not found</qt>");
531 temp = "connection refused"; 531 } else if (code == QSocket::ErrConnectionRefused) {
532 if (code == QSocket::ErrSocketRead) 532 temp = tr("<qt>connection refused</qt>");
533 temp = "socket packet error"; 533 } else if (code == QSocket::ErrSocketRead) {
534 temp = tr("<qt>socket packet error</qt>");
535 }
534 536
535 if (code != ErrCancel) { 537 if (code != ErrCancel) {
536 QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n"); 538 QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n");
@@ -544,24 +546,27 @@ void EmailClient::smtpError(int code)
544 quedMessages.clear(); 546 quedMessages.clear();
545} 547}
546 548
547void EmailClient::popError(int code) 549void EmailClient::popError(int code, const QString & Msg)
548{ 550{
549 QString temp; 551 QString temp;
550 552
551 if (code == ErrUnknownResponse) 553 if (code == ErrUnknownResponse) {
552 temp = "Unknown response from server"; 554 temp = tr("<qt>Unknown response from server</qt>");
553 if (code == ErrLoginFailed) 555 if( ! Msg.isEmpty() )
554 temp = "Login failed\nCheck user name and password"; 556 temp += Msg;
555 557 } else if (code == ErrLoginFailed) {
556 if (code == QSocket::ErrHostNotFound) 558 temp = tr("<qt>Login failed\nCheck user name and password</qt>");
557 temp = "host not found"; 559 } else if (code == QSocket::ErrHostNotFound) {
558 if (code == QSocket::ErrConnectionRefused) 560 temp = tr("<qt>host not found</qt>");
559 temp = "connection refused"; 561 } else if (code == QSocket::ErrConnectionRefused) {
560 if (code == QSocket::ErrSocketRead) 562 temp = tr("<qt>connection refused</qt>");
561 temp = "socket packet error"; 563 } else if (code == QSocket::ErrSocketRead) {
562 564 temp = tr("<qt>socket packet error</qt>");
565 }
566
563 if (code != ErrCancel) { 567 if (code != ErrCancel) {
564 QMessageBox::warning(qApp->activeWindow(), "Receiving error", temp, "OK\n"); 568 QMessageBox::warning(qApp->activeWindow(), tr("Receiving error"), temp, tr("OK\n"));
569
565 } else { 570 } else {
566 status2Label->setText("Aborted by user"); 571 status2Label->setText("Aborted by user");
567 } 572 }
@@ -898,7 +903,7 @@ void EmailClient::setMailSize(int size)
898 progressBar->setTotalSteps(size); 903 progressBar->setTotalSteps(size);
899} 904}
900 905
901void EmailClient::setTotalSize(int size) 906void EmailClient::setTotalSize(int /*size*/)
902{ 907{
903 908
904} 909}
@@ -920,7 +925,7 @@ void EmailClient::deleteItem()
920 QListView* box; 925 QListView* box;
921 926
922 EmailListItem* eli; 927 EmailListItem* eli;
923 int pos; 928 // int pos;
924 929
925 inbox ? box=inboxView : box=outboxView; 930 inbox ? box=inboxView : box=outboxView;
926 931
@@ -946,7 +951,7 @@ void EmailClient::inboxItemReleased()
946 951
947/*void EmailClient::timerEvent(QTimerEvent *e) 952/*void EmailClient::timerEvent(QTimerEvent *e)
948{ 953{
949 /*killTimer(timerID); 954 //killTimer(timerID);
950 955
951 956
952 QPopupMenu *action = new QPopupMenu(this); 957 QPopupMenu *action = new QPopupMenu(this);
@@ -991,11 +996,11 @@ void EmailClient::download(Email* mail)
991 tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n"); 996 tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n");
992} 997}
993 998
994void EmailClient::receive(const QCString& msg, const QByteArray& data) 999void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
995{ 1000{
996 /*if (msg=="getMail()") 1001 /*if (msg=="getMail()")
997 { 1002 {
998 /*QDialog qd(qApp->activeWindow(),"Getting mail",true); 1003 //QDialog qd(qApp->activeWindow(),"Getting mail",true);
999 QVBoxLayout *vbProg = new QVBoxLayout( &qd ); 1004 QVBoxLayout *vbProg = new QVBoxLayout( &qd );
1000 1005
1001 initStatusBar(&qd); 1006 initStatusBar(&qd);
diff --git a/noncore/unsupported/mailit/emailclient.h b/noncore/unsupported/mailit/emailclient.h
index c98cfce..80c6d31 100644
--- a/noncore/unsupported/mailit/emailclient.h
+++ b/noncore/unsupported/mailit/emailclient.h
@@ -98,8 +98,8 @@ public slots:
98 void deleteItem(); 98 void deleteItem();
99 void getNewMail(); 99 void getNewMail();
100 void getAllNewMail(); 100 void getAllNewMail();
101 void smtpError(int code); 101 void smtpError(int code, const QString & Msg );
102 void popError(int code); 102 void popError(int code, const QString & Msg);
103 void inboxItemSelected(); 103 void inboxItemSelected();
104 void outboxItemSelected(); 104 void outboxItemSelected();
105 void inboxItemPressed(); 105 void inboxItemPressed();
diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp
index 39f693d..5b8bda1 100644
--- a/noncore/unsupported/mailit/emailhandler.cpp
+++ b/noncore/unsupported/mailit/emailhandler.cpp
@@ -44,14 +44,14 @@ EmailHandler::EmailHandler()
44 smtpClient = new SmtpClient(); 44 smtpClient = new SmtpClient();
45 popClient = new PopClient(); 45 popClient = new PopClient();
46 46
47 connect(smtpClient, SIGNAL(errorOccurred(int)), this, 47 connect(smtpClient, SIGNAL(errorOccurred(int, const QString &)), this,
48 SIGNAL(smtpError(int)) ); 48 SIGNAL(smtpError(int, const QString &)) );
49 connect(smtpClient, SIGNAL(mailSent()), this, SIGNAL(mailSent()) ); 49 connect(smtpClient, SIGNAL(mailSent()), this, SIGNAL(mailSent()) );
50 connect(smtpClient, SIGNAL(updateStatus(const QString &)), this, 50 connect(smtpClient, SIGNAL(updateStatus(const QString &)), this,
51 SIGNAL(updateSmtpStatus(const QString &)) ); 51 SIGNAL(updateSmtpStatus(const QString &)) );
52 52
53 connect(popClient, SIGNAL(errorOccurred(int)), this, 53 connect(popClient, SIGNAL(errorOccurred(int, const QString &)), this,
54 SIGNAL(popError(int)) ); 54 SIGNAL(popError(int, const QString &)) );
55 connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)), 55 connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)),
56 this, SLOT(messageArrived(const QString &, int, uint, bool)) ); 56 this, SLOT(messageArrived(const QString &, int, uint, bool)) );
57 connect(popClient, SIGNAL(updateStatus(const QString &)), this, 57 connect(popClient, SIGNAL(updateStatus(const QString &)), this,
@@ -162,7 +162,7 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
162 mail->files.setAutoDelete(TRUE); 162 mail->files.setAutoDelete(TRUE);
163 163
164 temp = lineShift + "." + lineShift; 164 temp = lineShift + "." + lineShift;
165 165
166 if (in.right(temp.length()) != temp) { 166 if (in.right(temp.length()) != temp) {
167 mail->rawMail += temp; 167 mail->rawMail += temp;
168 } 168 }
diff --git a/noncore/unsupported/mailit/emailhandler.h b/noncore/unsupported/mailit/emailhandler.h
index e4e7f46..74a8e4c 100644
--- a/noncore/unsupported/mailit/emailhandler.h
+++ b/noncore/unsupported/mailit/emailhandler.h
@@ -127,8 +127,8 @@ public:
127 127
128signals: 128signals:
129 void mailSent(); 129 void mailSent();
130 void smtpError(int); 130 void smtpError(int, const QString & Msg );
131 void popError(int); 131 void popError(int, const QString & Msg );
132 void mailArrived(const Email &, bool); 132 void mailArrived(const Email &, bool);
133 void updatePopStatus(const QString &); 133 void updatePopStatus(const QString &);
134 void updateSmtpStatus(const QString &); 134 void updateSmtpStatus(const QString &);
diff --git a/noncore/unsupported/mailit/mailit.pro b/noncore/unsupported/mailit/mailit.pro
index cfbda36..5e9a83a 100644
--- a/noncore/unsupported/mailit/mailit.pro
+++ b/noncore/unsupported/mailit/mailit.pro
@@ -1,4 +1,5 @@
1TEMPLATE = app 1TEMPLATE = app
2TARGET = mailit
2CONFIG = qt warn_on release 3CONFIG = qt warn_on release
3HEADERS = emailclient.h \ 4HEADERS = emailclient.h \
4 emailhandler.h \ 5 emailhandler.h \
diff --git a/noncore/unsupported/mailit/mailitwindow.cpp b/noncore/unsupported/mailit/mailitwindow.cpp
index f945a0f..6e298c7 100644
--- a/noncore/unsupported/mailit/mailitwindow.cpp
+++ b/noncore/unsupported/mailit/mailitwindow.cpp
@@ -21,10 +21,10 @@
21#include <qmessagebox.h> 21#include <qmessagebox.h>
22#include "mailitwindow.h" 22#include "mailitwindow.h"
23 23
24MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags fl) 24MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags /*fl*/)
25 : QMainWindow(parent, name, WStyle_ContextHelp) 25 : QMainWindow(parent, name, WStyle_ContextHelp)
26{ 26{
27 currentCaption = "Mailit"; 27 currentCaption = tr("Mailit");
28 setCaption(tr(currentCaption)); 28 setCaption(tr(currentCaption));
29 views = new QWidgetStack(this); 29 views = new QWidgetStack(this);
30 setCentralWidget(views); 30 setCentralWidget(views);
diff --git a/noncore/unsupported/mailit/maillist.cpp b/noncore/unsupported/mailit/maillist.cpp
index b5325a9..8c34295 100644
--- a/noncore/unsupported/mailit/maillist.cpp
+++ b/noncore/unsupported/mailit/maillist.cpp
@@ -21,111 +21,111 @@
21 21
22void MailList::clear() 22void MailList::clear()
23{ 23{
24 sortedList.setAutoDelete(TRUE); 24 sortedList.setAutoDelete(TRUE);
25 sortedList.clear(); 25 sortedList.clear();
26 currentPos = 0; 26 currentPos = 0;
27} 27}
28 28
29int MailList::count() 29int MailList::count()
30{ 30{
31 return sortedList.count(); 31 return sortedList.count();
32} 32}
33 33
34int* MailList::first() 34int* MailList::first()
35{ 35{
36 dList *mPtr; 36 dList *mPtr;
37 37
38 if (sortedList.count() == 0) 38 if (sortedList.count() == 0)
39 return NULL; 39 return NULL;
40 40
41 mPtr = sortedList.at(0); 41 mPtr = sortedList.at(0);
42 currentPos = 1; 42 currentPos = 1;
43 return &(mPtr->serverId); 43 return &(mPtr->serverId);
44} 44}
45 45
46int* MailList::next() 46int* MailList::next()
47{ 47{
48 dList *mPtr; 48 dList *mPtr;
49 49
50 if ( (currentPos) >= sortedList.count()) 50 if ( (currentPos) >= sortedList.count())
51 return NULL; 51 return NULL;
52 52
53 mPtr = sortedList.at(currentPos); 53 mPtr = sortedList.at(currentPos);
54 currentPos++; 54 currentPos++;
55 return &(mPtr->serverId); 55 return &(mPtr->serverId);
56} 56}
57 57
58void MailList::sizeInsert(int serverId, uint size) 58void MailList::sizeInsert(int serverId, uint size)
59{ 59{
60 dList *tempPtr; 60 dList *tempPtr;
61 int x; 61 int x;
62 62
63 dList *newEntry = new dList; 63 dList *newEntry = new dList;
64 newEntry->serverId = serverId; 64 newEntry->serverId = serverId;
65 newEntry->size = size; 65 newEntry->size = size;
66 66
67 for (tempPtr = sortedList.first(); tempPtr != NULL; tempPtr = sortedList.next() ) { 67 for (tempPtr = sortedList.first(); tempPtr != NULL; tempPtr = sortedList.next() ) {
68 if (newEntry->size < tempPtr->size) { 68 if (newEntry->size < tempPtr->size) {
69 x = sortedList.at(); 69 x = sortedList.at();
70 sortedList.insert(x, newEntry); 70 sortedList.insert(x, newEntry);
71 return; 71 return;
72 } 72 }
73 } 73 }
74 sortedList.append(newEntry); 74 sortedList.append(newEntry);
75} 75}
76 76
77void MailList::moveFront(int serverId, uint size) 77void MailList::moveFront(int serverId, uint/* size*/)
78{ 78{
79 dList *currentPtr; 79 dList *currentPtr;
80 uint tempPos; 80 uint tempPos;
81 QString temp; 81 QString temp;
82 82
83 tempPos = currentPos; 83 tempPos = currentPos;
84 if ( tempPos >= sortedList.count() ) 84 if ( tempPos >= sortedList.count() )
85 return; 85 return;
86 currentPtr = sortedList.at(tempPos); 86 currentPtr = sortedList.at(tempPos);
87 while ( ((tempPos+1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) { 87 while ( ((tempPos+1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
88 tempPos++; 88 tempPos++;
89 currentPtr = sortedList.at(tempPos); 89 currentPtr = sortedList.at(tempPos);
90 } 90 }
91 91
92 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) { 92 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
93 temp.setNum(currentPtr->serverId); 93 temp.setNum(currentPtr->serverId);
94 qWarning("moved to front, message: " + temp); 94 qWarning("moved to front, message: " + temp);
95 95
96 dList *itemPtr = sortedList.take(tempPos); 96 dList *itemPtr = sortedList.take(tempPos);
97 sortedList.insert(currentPos, itemPtr); 97 sortedList.insert(currentPos, itemPtr);
98 } 98 }
99 99
100} 100}
101 101
102//only works if mail is not already in download 102//only works if mail is not already in download
103bool MailList::remove(int serverId, uint size) 103bool MailList::remove(int serverId, uint /*size*/)
104{ 104{
105 dList *currentPtr; 105 dList *currentPtr;
106 uint tempPos; 106 uint tempPos;
107 QString temp; 107 QString temp;
108 108
109 tempPos = currentPos; 109 tempPos = currentPos;
110 if ( tempPos >=sortedList.count() ) 110 if ( tempPos >=sortedList.count() )
111 return FALSE; 111 return FALSE;
112 currentPtr = sortedList.at(tempPos); 112 currentPtr = sortedList.at(tempPos);
113 while ( ((tempPos + 1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) { 113 while ( ((tempPos + 1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
114 tempPos++; 114 tempPos++;
115 currentPtr = sortedList.at(tempPos); 115 currentPtr = sortedList.at(tempPos);
116 } 116 }
117 117
118 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) { 118 if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
119 temp.setNum(currentPtr->serverId); 119 temp.setNum(currentPtr->serverId);
120 qWarning("deleted message: " + temp); 120 qWarning("deleted message: " + temp);
121 sortedList.remove(tempPos); 121 sortedList.remove(tempPos);
122 122
123 return TRUE; 123 return TRUE;
124 } 124 }
125 return FALSE; 125 return FALSE;
126} 126}
127 127
128void MailList::insert(int pos, int serverId, uint size) 128void MailList::insert(int /*pos*/, int /*serverId*/, uint/* size*/)
129{ 129{
130 //sortedList.insert(pos, mPtr); 130// sortedList.insert(pos, mPtr);
131} 131}
diff --git a/noncore/unsupported/mailit/popclient.cpp b/noncore/unsupported/mailit/popclient.cpp
index dc0116d..5da3bcb 100644
--- a/noncore/unsupported/mailit/popclient.cpp
+++ b/noncore/unsupported/mailit/popclient.cpp
@@ -63,7 +63,7 @@ void PopClient::newConnection(const QString &target, int port)
63 receiving = TRUE; 63 receiving = TRUE;
64 //selected = FALSE; 64 //selected = FALSE;
65 65
66 emit updateStatus("DNS lookup"); 66 emit updateStatus(tr("DNS lookup"));
67} 67}
68 68
69void PopClient::setAccount(const QString &popUser, const QString &popPasswd) 69void PopClient::setAccount(const QString &popUser, const QString &popPasswd)
@@ -103,8 +103,12 @@ void PopClient::connectionEstablished()
103 103
104void PopClient::errorHandling(int status) 104void PopClient::errorHandling(int status)
105{ 105{
106 errorHandlingWithMsg( status, QString::null );
107}
108void PopClient::errorHandlingWithMsg(int status, const QString & Msg )
109{
106 emit updateStatus(tr("Error Occured")); 110 emit updateStatus(tr("Error Occured"));
107 emit errorOccurred(status); 111 emit errorOccurred(status, Msg);
108 socket->close(); 112 socket->close();
109 receiving = FALSE; 113 receiving = FALSE;
110} 114}
@@ -167,7 +171,7 @@ void PopClient::incomingData()
167 if (response[0] == '+') { 171 if (response[0] == '+') {
168 *stream << "STAT" << "\r\n"; 172 *stream << "STAT" << "\r\n";
169 status = Mcnt; 173 status = Mcnt;
170 } else errorHandling(ErrLoginFailed); 174 } else errorHandlingWithMsg(ErrLoginFailed, response);
171 break; 175 break;
172 } 176 }
173 //get count of messages, eg "+OK 4 900.." -> int 4 177 //get count of messages, eg "+OK 4 900.." -> int 4
@@ -195,7 +199,7 @@ void PopClient::incomingData()
195 } else newMessages = 0; 199 } else newMessages = 0;
196 } 200 }
197 201
198 } else errorHandling(ErrUnknownResponse); 202 } else errorHandlingWithMsg(ErrUnknownResponse, response);
199 } 203 }
200 //Read message number x, count upwards to messageCount 204 //Read message number x, count upwards to messageCount
201 case List: { 205 case List: {
@@ -234,7 +238,7 @@ void PopClient::incomingData()
234 status = Retr; 238 status = Retr;
235 } else { 239 } else {
236 //qWarning(response); 240 //qWarning(response);
237 errorHandling(ErrUnknownResponse); 241 errorHandlingWithMsg(ErrUnknownResponse, response);
238 } 242 }
239 } 243 }
240 } 244 }
@@ -259,7 +263,7 @@ void PopClient::incomingData()
259 if (!socket->canReadLine()) //sync. problems 263 if (!socket->canReadLine()) //sync. problems
260 break; 264 break;
261 response = socket->readLine(); 265 response = socket->readLine();
262 } else errorHandling(ErrUnknownResponse); 266 } else errorHandlingWithMsg(ErrUnknownResponse, response);
263 } 267 }
264 } 268 }
265 //add all incoming lines to body. When size is reached, send 269 //add all incoming lines to body. When size is reached, send
diff --git a/noncore/unsupported/mailit/popclient.h b/noncore/unsupported/mailit/popclient.h
index c58bc48..6774ceb 100644
--- a/noncore/unsupported/mailit/popclient.h
+++ b/noncore/unsupported/mailit/popclient.h
@@ -44,7 +44,7 @@ public:
44 44
45signals: 45signals:
46 void newMessage(const QString &, int, uint, bool); 46 void newMessage(const QString &, int, uint, bool);
47 void errorOccurred(int status); 47 void errorOccurred(int status, const QString & Msg );
48 void updateStatus(const QString &); 48 void updateStatus(const QString &);
49 void mailTransfered(int); 49 void mailTransfered(int);
50 void mailboxSize(int); 50 void mailboxSize(int);
@@ -53,6 +53,7 @@ signals:
53 53
54public slots: 54public slots:
55 void errorHandling(int); 55 void errorHandling(int);
56 void errorHandlingWithMsg(int, const QString & );
56 57
57protected slots: 58protected slots:
58 void connectionEstablished(); 59 void connectionEstablished();
diff --git a/noncore/unsupported/mailit/smtpclient.cpp b/noncore/unsupported/mailit/smtpclient.cpp
index 2916f45..5b5ef52 100644
--- a/noncore/unsupported/mailit/smtpclient.cpp
+++ b/noncore/unsupported/mailit/smtpclient.cpp
@@ -73,7 +73,12 @@ void SmtpClient::connectionEstablished()
73 73
74void SmtpClient::errorHandling(int status) 74void SmtpClient::errorHandling(int status)
75{ 75{
76 emit errorOccurred(status); 76 errorHandlingWithMsg( status, QString::null );
77}
78
79void SmtpClient::errorHandlingWithMsg(int status, const QString & EMsg )
80{
81 emit errorOccurred(status, EMsg );
77 socket->close(); 82 socket->close();
78 mailList.clear(); 83 mailList.clear();
79 sending = FALSE; 84 sending = FALSE;
@@ -87,31 +92,32 @@ void SmtpClient::incomingData()
87 return; 92 return;
88 93
89 response = socket->readLine(); 94 response = socket->readLine();
90
91 switch(status) { 95 switch(status) {
92 case Init: { 96 case Init: {
93 if (response[0] == '2') { 97 if (response[0] == '2') {
94 status = From; 98 status = From;
95 mailPtr = mailList.first(); 99 mailPtr = mailList.first();
96 *stream << "HELO there\r\n"; 100 *stream << "HELO there\r\n";
97 } else errorHandling(ErrUnknownResponse); 101 } else errorHandlingWithMsg(ErrUnknownResponse,response);
98 break; 102 break;
99 } 103 }
100 case From: { 104 case From: {
101 if (response[0] == '2') { 105 if (response[0] == '2') {
102 *stream << "MAIL FROM: " << mailPtr->from << "\r\n"; 106 qDebug(mailPtr->from);
107 *stream << "MAIL FROM: <" << mailPtr->from << ">\r\n";
103 status = Recv; 108 status = Recv;
104 } else errorHandling(ErrUnknownResponse); 109 } else errorHandlingWithMsg(ErrUnknownResponse, response );
105 break; 110 break;
106 } 111 }
107 case Recv: { 112 case Recv: {
108 if (response[0] == '2') { 113 if (response[0] == '2') {
109 it = mailPtr->to.begin(); 114 it = mailPtr->to.begin();
110 if (it == NULL) 115 if (it == NULL) {
111 errorHandling(ErrUnknownResponse); 116 errorHandlingWithMsg(ErrUnknownResponse,response);
112 *stream << "RCPT TO: " << *it << ">\r\n"; 117 }
118 *stream << "RCPT TO: <" << *it << ">\r\n";
113 status = MRcv; 119 status = MRcv;
114 } else errorHandling(ErrUnknownResponse); 120 } else errorHandlingWithMsg(ErrUnknownResponse,response);
115 break; 121 break;
116 } 122 }
117 case MRcv: { 123 case MRcv: {
@@ -123,14 +129,15 @@ void SmtpClient::incomingData()
123 } else { 129 } else {
124 status = Data; 130 status = Data;
125 } 131 }
126 } else errorHandling(ErrUnknownResponse); 132 } else errorHandlingWithMsg(ErrUnknownResponse,response);
127 } 133 }
128 case Data: { 134 case Data: {
129 if (response[0] == '2') { 135 if (response[0] == '2') {
130 *stream << "DATA\r\n"; 136 *stream << "DATA\r\n";
131 status = Body; 137 status = Body;
132 emit updateStatus(tr("Sending: ") + mailPtr->subject); 138 emit updateStatus(tr("Sending: ") + mailPtr->subject);
133 } else errorHandling(ErrUnknownResponse); 139
140 } else errorHandlingWithMsg(ErrUnknownResponse,response);
134 break; 141 break;
135 } 142 }
136 case Body: { 143 case Body: {
@@ -142,7 +149,7 @@ void SmtpClient::incomingData()
142 } else { 149 } else {
143 status = Quit; 150 status = Quit;
144 } 151 }
145 } else errorHandling(ErrUnknownResponse); 152 } else errorHandlingWithMsg(ErrUnknownResponse,response);
146 break; 153 break;
147 } 154 }
148 case Quit: { 155 case Quit: {
@@ -156,7 +163,7 @@ void SmtpClient::incomingData()
156 mailList.clear(); 163 mailList.clear();
157 sending = FALSE; 164 sending = FALSE;
158 socket->close(); 165 socket->close();
159 } else errorHandling(ErrUnknownResponse); 166 } else errorHandlingWithMsg(ErrUnknownResponse,response);
160 break; 167 break;
161 } 168 }
162 } 169 }
diff --git a/noncore/unsupported/mailit/smtpclient.h b/noncore/unsupported/mailit/smtpclient.h
index 45c0703..554ba3f 100644
--- a/noncore/unsupported/mailit/smtpclient.h
+++ b/noncore/unsupported/mailit/smtpclient.h
@@ -47,12 +47,13 @@ public:
47 void addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body); 47 void addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body);
48 48
49signals: 49signals:
50 void errorOccurred(int); 50 void errorOccurred(int, const QString & LR );
51 void updateStatus(const QString &); 51 void updateStatus(const QString &);
52 void mailSent(); 52 void mailSent();
53 53
54public slots: 54public slots:
55 void errorHandling(int); 55 void errorHandling(int);
56 void errorHandlingWithMsg(int, const QString & LastResponse );
56 57
57protected slots: 58protected slots:
58 void connectionEstablished(); 59 void connectionEstablished();
diff --git a/noncore/unsupported/mailit/viewatt.cpp b/noncore/unsupported/mailit/viewatt.cpp
index 21885c2..293e137 100644
--- a/noncore/unsupported/mailit/viewatt.cpp
+++ b/noncore/unsupported/mailit/viewatt.cpp
@@ -26,7 +26,7 @@
26ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f) 26ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f)
27 : QMainWindow(parent, name, f) 27 : QMainWindow(parent, name, f)
28{ 28{
29 setCaption("Exploring attatchments"); 29 setCaption(tr("Exploring attatchments"));
30 30
31 setToolBarsMovable( FALSE ); 31 setToolBarsMovable( FALSE );
32 bar = new QToolBar(this); 32 bar = new QToolBar(this);
@@ -35,9 +35,9 @@ ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f)
35 installButton->setWhatsThis(tr("Click here to install the attachment to your Documents")); 35 installButton->setWhatsThis(tr("Click here to install the attachment to your Documents"));
36 36
37 listView = new QListView(this, "AttView"); 37 listView = new QListView(this, "AttView");
38 listView->addColumn( "Attatchment" ); 38 listView->addColumn( tr("Attatchment") );
39 listView->addColumn( "Type" ); 39 listView->addColumn( tr("Type") );
40 listView->addColumn( "Installed" ); 40 listView->addColumn( tr("Installed") );
41 setCentralWidget(listView); 41 setCentralWidget(listView);
42 QWhatsThis::add(listView,QWidget::tr("This is an overview about all attachments in the mail")); 42 QWhatsThis::add(listView,QWidget::tr("This is an overview about all attachments in the mail"));
43} 43}
@@ -61,9 +61,9 @@ void ViewAtt::update(Email *mailIn, bool inbox)
61 mail = mailIn; 61 mail = mailIn;
62 for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) { 62 for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) {
63 63
64 QString isInstalled = "No"; 64 QString isInstalled = tr("No");
65 if (ePtr->installed) 65 if (ePtr->installed)
66 isInstalled = "Yes"; 66 isInstalled = tr("Yes");
67 item = new QListViewItem(listView, ePtr->originalName, ePtr->contentType, isInstalled); 67 item = new QListViewItem(listView, ePtr->originalName, ePtr->contentType, isInstalled);
68 68
69 const QString& mtypeDef=(const QString&) ePtr->contentType+"/"+ePtr->contentAttribute; 69 const QString& mtypeDef=(const QString&) ePtr->contentType+"/"+ePtr->contentAttribute;
@@ -116,6 +116,6 @@ void ViewAtt::install()
116 d.setType(selPtr->contentType + "/" + selPtr->contentAttribute); 116 d.setType(selPtr->contentType + "/" + selPtr->contentAttribute);
117 d.writeLink(); 117 d.writeLink();
118 selPtr->installed = TRUE; 118 selPtr->installed = TRUE;
119 item->setText(2, "Yes"); 119 item->setText(2, tr("Yes"));
120 } 120 }
121} 121}
diff --git a/noncore/unsupported/mailit/writemail.cpp b/noncore/unsupported/mailit/writemail.cpp
index 0298cb3..26b9660 100644
--- a/noncore/unsupported/mailit/writemail.cpp
+++ b/noncore/unsupported/mailit/writemail.cpp
@@ -24,367 +24,367 @@
24 24
25WriteMail::WriteMail( QWidget* parent, const char* name, WFlags fl ):QMainWindow( parent, name, fl ) 25WriteMail::WriteMail( QWidget* parent, const char* name, WFlags fl ):QMainWindow( parent, name, fl )
26{ 26{
27 showingAddressList = FALSE; 27 showingAddressList = FALSE;
28 init(); 28 init();
29 29
30 addAtt = new AddAtt(0, "Add Attachments"); 30 addAtt = new AddAtt(0, "Add Attachments");
31} 31}
32 32
33WriteMail::~WriteMail() 33WriteMail::~WriteMail()
34{ 34{
35 delete addAtt; 35 delete addAtt;
36} 36}
37 37
38void WriteMail::setAddressList(AddressList *list) 38void WriteMail::setAddressList(AddressList *list)
39{ 39{
40 AContact *cPtr; 40 AContact *cPtr;
41 41
42 addressList = list; 42 addressList = list;
43 43
44 addressView->clear(); 44 addressView->clear();
45 QList<AContact> *cListPtr = addressList->getContactList(); 45 QList<AContact> *cListPtr = addressList->getContactList();
46 QListViewItem *item; 46 QListViewItem *item;
47 for (cPtr = cListPtr->first(); cPtr != 0; cPtr = cListPtr->next() ) { 47 for (cPtr = cListPtr->first(); cPtr != 0; cPtr = cListPtr->next() ) {
48 item = new QListViewItem(addressView, cPtr->name, cPtr->email); 48 item = new QListViewItem(addressView, cPtr->name, cPtr->email);
49 } 49 }
50} 50}
51 51
52void WriteMail::init() 52void WriteMail::init()
53{ 53{
54 setToolBarsMovable(FALSE); 54 setToolBarsMovable(FALSE);
55 55
56 bar = new QToolBar(this); 56 bar = new QToolBar(this);
57 bar->setHorizontalStretchable( TRUE ); 57 bar->setHorizontalStretchable( TRUE );
58 58
59 menu = new QMenuBar( bar ); 59 menu = new QMenuBar( bar );
60 60
61 mailMenu = new QPopupMenu(menu); 61 mailMenu = new QPopupMenu(menu);
62 menu->insertItem( tr( "&Mail" ), mailMenu); 62 menu->insertItem( tr( "&Mail" ), mailMenu);
63 addMenu = new QPopupMenu(menu); 63 addMenu = new QPopupMenu(menu);
64 menu->insertItem( tr( "&Add" ), addMenu); 64 menu->insertItem( tr( "&Add" ), addMenu);
65 65
66 bar = new QToolBar(this); 66 bar = new QToolBar(this);
67 attachButton = new QAction(tr("Attachment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0); 67 attachButton = new QAction(tr("Attachment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0);
68 attachButton->addTo(bar); 68 attachButton->addTo(bar);
69 attachButton->addTo(addMenu); 69 attachButton->addTo(addMenu);
70 connect( attachButton, SIGNAL( activated() ), this, SLOT( attachFile() ) ); 70 connect( attachButton, SIGNAL( activated() ), this, SLOT( attachFile() ) );
71 attachButton->setWhatsThis(tr("Click here to attach files to your mail")); 71 attachButton->setWhatsThis(tr("Click here to attach files to your mail"));
72 72
73 confirmButton = new QAction(tr("Enque mail"), Resource::loadPixmap("OKButton"), QString::null, 0, this, 0); 73 confirmButton = new QAction(tr("Enque mail"), Resource::loadPixmap("OKButton"), QString::null, 0, this, 0);
74 confirmButton->addTo(bar); 74 confirmButton->addTo(bar);
75 confirmButton->addTo(mailMenu); 75 confirmButton->addTo(mailMenu);
76 connect( confirmButton, SIGNAL( activated() ), this, SLOT( accept() ) ); 76 connect( confirmButton, SIGNAL( activated() ), this, SLOT( accept() ) );
77 confirmButton->setWhatsThis(tr("This button puts your mail in the send queue")); 77 confirmButton->setWhatsThis(tr("This button puts your mail in the send queue"));
78 78
79 newButton = new QAction(tr("New mail"), Resource::loadPixmap("new"), QString::null, 0, this, 0); 79 newButton = new QAction(tr("New mail"), Resource::loadPixmap("new"), QString::null, 0, this, 0);
80 newButton->addTo(mailMenu); 80 newButton->addTo(mailMenu);
81 connect( newButton, SIGNAL( activated() ), this, SLOT( newMail() ) ); 81 connect( newButton, SIGNAL( activated() ), this, SLOT( newMail() ) );
82 newButton->setWhatsThis(tr("Click here to create a new mail")); 82 newButton->setWhatsThis(tr("Click here to create a new mail"));
83 83
84 widget = new QWidget(this, "widget"); 84 widget = new QWidget(this, "widget");
85 grid = new QGridLayout( widget ); 85 grid = new QGridLayout( widget );
86 86
87 recipientsBox = new QComboBox( FALSE, widget, "toLabel" ); 87 recipientsBox = new QComboBox( FALSE, widget, "toLabel" );
88 recipientsBox->insertItem( tr( "To:" ) ); 88 recipientsBox->insertItem( tr( "To:" ) );
89 recipientsBox->insertItem( tr( "CC:" ) ); 89 recipientsBox->insertItem( tr( "CC:" ) );
90 recipientsBox->setCurrentItem(0); 90 recipientsBox->setCurrentItem(0);
91 grid->addWidget( recipientsBox, 0, 0 ); 91 grid->addWidget( recipientsBox, 0, 0 );
92 connect(recipientsBox,SIGNAL(activated(int)),this, SLOT(changeRecipients(int))); 92 connect(recipientsBox,SIGNAL(activated(int)),this, SLOT(changeRecipients(int)));
93 93
94 subjetLabel = new QLabel( widget, "subjetLabel" ); 94 subjetLabel = new QLabel( widget, "subjetLabel" );
95 subjetLabel->setText( tr( "Subject:" ) ); 95 subjetLabel->setText( tr( "Subject:" ) );
96 96
97 grid->addWidget( subjetLabel, 1, 0 ); 97 grid->addWidget( subjetLabel, 1, 0 );
98 98
99 ToolButton13_2 = new QToolButton( widget, "ToolButton13_2" ); 99 ToolButton13_2 = new QToolButton( widget, "ToolButton13_2" );
100 ToolButton13_2->setText( tr( "..." ) ); 100 ToolButton13_2->setText( tr( "..." ) );
101 grid->addWidget( ToolButton13_2, 1, 2 ); 101 grid->addWidget( ToolButton13_2, 1, 2 );
102 102
103 subjectInput = new QLineEdit( widget, "subjectInput" ); 103 subjectInput = new QLineEdit( widget, "subjectInput" );
104 grid->addWidget( subjectInput, 1, 1 ); 104 grid->addWidget( subjectInput, 1, 1 );
105 QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here")); 105 QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here"));
106 106
107 toInput = new QLineEdit( widget, "toInput" ); 107 toInput = new QLineEdit( widget, "toInput" );
108 grid->addWidget( toInput, 0, 1 ); 108 grid->addWidget( toInput, 0, 1 );
109 QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here")); 109 QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here"));
110 110
111 ccInput = new QLineEdit( widget, "ccInput" ); 111 ccInput = new QLineEdit( widget, "ccInput" );
112 ccInput->hide(); 112 ccInput->hide();
113 grid->addWidget( ccInput, 0, 1 ); 113 grid->addWidget( ccInput, 0, 1 );
114 QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here")); 114 QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here"));
115 115
116 addressButton = new QToolButton( widget, "addressButton" ); 116 addressButton = new QToolButton( widget, "addressButton" );
117 addressButton->setPixmap( Resource::loadPixmap("AddressBook") ); 117 addressButton->setPixmap( Resource::loadPixmap("AddressBook") );
118 addressButton->setToggleButton(TRUE); 118 addressButton->setToggleButton(TRUE);
119 grid->addWidget( addressButton, 0, 2 ); 119 grid->addWidget( addressButton, 0, 2 );
120 connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) ); 120 connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) );
121 QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your OPIE addressbook")); 121 QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your Opie addressbook"));
122 122
123 emailInput = new QMultiLineEdit( widget, "emailInput" ); 123 emailInput = new QMultiLineEdit( widget, "emailInput" );
124 grid->addMultiCellWidget( emailInput, 2, 2, 0, 2); 124 grid->addMultiCellWidget( emailInput, 2, 2, 0, 2);
125 QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here")); 125 QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here"));
126 126
127 addressView = new QListView( widget, "addressView"); 127 addressView = new QListView( widget, "addressView");
128 addressView->addColumn("Name"); 128 addressView->addColumn(tr("Name"));
129 addressView->addColumn("EMail"); 129 addressView->addColumn(tr("EMail") );
130 addressView->setAllColumnsShowFocus(TRUE); 130 addressView->setAllColumnsShowFocus(TRUE);
131 addressView->setMultiSelection(TRUE); 131 addressView->setMultiSelection(TRUE);
132 addressView->hide(); 132 addressView->hide();
133 grid->addMultiCellWidget( addressView, 3, 3, 0, 2); 133 grid->addMultiCellWidget( addressView, 3, 3, 0, 2);
134 QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list")); 134 QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list"));
135 135
136 okButton = new QToolButton(bar, "ok"); 136 okButton = new QToolButton(bar, "ok");
137 okButton->setPixmap( Resource::loadPixmap("enter") ); 137 okButton->setPixmap( Resource::loadPixmap("enter") );
138 okButton->hide(); 138 okButton->hide();
139 connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) ); 139 connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) );
140 QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here")); 140 QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here"));
141 141
142 setCentralWidget(widget); 142 setCentralWidget(widget);
143} 143}
144 144
145void WriteMail::reject() 145void WriteMail::reject()
146{ 146{
147 emit cancelMail(); 147 emit cancelMail();
148} 148}
149 149
150void WriteMail::accept() 150void WriteMail::accept()
151{ 151{
152 QStringList attachedFiles, attachmentsType; 152 QStringList attachedFiles, attachmentsType;
153 int idCount = 0; 153 int idCount = 0;
154 154
155 if (toInput->text() == "") 155 if (toInput->text() == "")
156 { 156 {
157 QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n")); 157 QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n"));
158 return; 158 return;
159 } 159 }
160 160
161 if (! getRecipients(false) ) 161 if (! getRecipients(false) )
162 { 162 {
163 QMessageBox::warning(this,tr("Incorrect recipient separator"), 163 QMessageBox::warning(this,tr("Incorrect recipient separator"),
164 tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); 164 tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
165 return; 165 return;
166 } 166 }
167 167
168 if ((ccInput->text()!="") && (! getRecipients(true) )) 168 if ((ccInput->text()!="") && (! getRecipients(true) ))
169 { 169 {
170 QMessageBox::warning(this,tr("Incorrect carbon copy separator"), 170 QMessageBox::warning(this,tr("Incorrect carbon copy separator"),
171 tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); 171 tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
172 return; 172 return;
173 } 173 }
174 174
175 mail.subject = subjectInput->text(); 175 mail.subject = subjectInput->text();
176 mail.body = emailInput->text(); 176 mail.body = emailInput->text();
177 mail.sent = false; 177 mail.sent = false;
178 mail.received = false; 178 mail.received = false;
179 179
180 mail.rawMail = "To: "; 180 mail.rawMail = "To: ";
181 181
182 for (QStringList::Iterator it = mail.recipients.begin(); 182 for (QStringList::Iterator it = mail.recipients.begin();
183 it != mail.recipients.end(); ++it) { 183 it != mail.recipients.end(); ++it) {
184 184
185 mail.rawMail += (*it); 185 mail.rawMail += (*it);
186 mail.rawMail += ",\n"; 186 mail.rawMail += ",\n";
187 } 187 }
188 188
189 mail.rawMail.truncate(mail.rawMail.length()-2); 189 mail.rawMail.truncate(mail.rawMail.length()-2);
190 190
191 mail.rawMail += "\nCC: "; 191 mail.rawMail += "\nCC: ";
192 192
193 for (QStringList::Iterator it = mail.carbonCopies.begin(); 193 for (QStringList::Iterator it = mail.carbonCopies.begin();
194 it != mail.carbonCopies.end(); ++it) { 194 it != mail.carbonCopies.end(); ++it) {
195 195
196 mail.rawMail += (*it); 196 mail.rawMail += (*it);
197 mail.rawMail += ",\n"; 197 mail.rawMail += ",\n";
198 } 198 }
199 199
200 mail.rawMail += mail.from; 200 mail.rawMail += mail.from;
201 mail.rawMail += "\nSubject: "; 201 mail.rawMail += "\nSubject: ";
202 mail.rawMail += mail.subject; 202 mail.rawMail += mail.subject;
203 mail.rawMail += "\n\n"; 203 mail.rawMail += "\n\n";
204 204
205 attachedFiles = addAtt->returnattachedFiles(); 205 attachedFiles = addAtt->returnattachedFiles();
206 attachmentsType = addAtt->returnFileTypes(); 206 attachmentsType = addAtt->returnFileTypes();
207 207
208 QStringList::Iterator itType = attachmentsType.begin(); 208 QStringList::Iterator itType = attachmentsType.begin();
209 209
210 Enclosure e; 210 Enclosure e;
211 for ( QStringList::Iterator it = attachedFiles.begin(); it != attachedFiles.end(); ++it ) { 211 for ( QStringList::Iterator it = attachedFiles.begin(); it != attachedFiles.end(); ++it ) {
212 e.id = idCount; 212 e.id = idCount;
213 e.originalName = (*it).latin1(); 213 e.originalName = (*it).latin1();
214 e.contentType = (*itType).latin1(); 214 e.contentType = (*itType).latin1();
215 e.contentAttribute = (*itType).latin1(); 215 e.contentAttribute = (*itType).latin1();
216 e.saved = TRUE; 216 e.saved = TRUE;
217 mail.addEnclosure(&e); 217 mail.addEnclosure(&e);
218 218
219 itType++; 219 itType++;
220 idCount++; 220 idCount++;
221 } 221 }
222 mail.rawMail += mail.body; 222 mail.rawMail += mail.body;
223 mail.rawMail += "\n"; 223 mail.rawMail += "\n";
224 mail.rawMail += ".\n"; 224 mail.rawMail += ".\n";
225 emit sendMailRequested(mail); 225 emit sendMailRequested(mail);
226 addAtt->clear(); 226 addAtt->clear();
227} 227}
228 228
229void WriteMail::getAddress() 229void WriteMail::getAddress()
230{ 230{
231 showingAddressList = !showingAddressList; 231 showingAddressList = !showingAddressList;
232 232
233 if (showingAddressList) { 233 if (showingAddressList) {
234 emailInput->hide(); 234 emailInput->hide();
235 addressView->show(); 235 addressView->show();
236 okButton->show(); 236 okButton->show();
237 237
238 } else { 238 } else {
239 addressView->hide(); 239 addressView->hide();
240 okButton->hide(); 240 okButton->hide();
241 emailInput->show(); 241 emailInput->show();
242 } 242 }
243} 243}
244 244
245void WriteMail::attachFile() 245void WriteMail::attachFile()
246{ 246{
247 addAtt->showMaximized(); 247 addAtt->showMaximized();
248} 248}
249 249
250void WriteMail::reply(Email replyMail, bool replyAll) 250void WriteMail::reply(Email replyMail, bool replyAll)
251{ 251{
252 int pos; 252 int pos;
253 QString ccRecipients; 253 QString ccRecipients;
254 254
255 mail = replyMail; 255 mail = replyMail;
256 mail.files.clear(); 256 mail.files.clear();
257 257
258 toInput->setText(mail.fromMail); 258 toInput->setText(mail.fromMail);
259 259
260 if (replyAll) 260 if (replyAll)
261 { 261 {
262 for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it) 262 for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it)
263 { 263 {
264 ccRecipients.append(*it); 264 ccRecipients.append(*it);
265 ccRecipients.append(";"); 265 ccRecipients.append(";");
266 } 266 }
267 ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end 267 ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end
268 ccInput->setText(ccRecipients); 268 ccInput->setText(ccRecipients);
269 } 269 }
270 else ccInput->clear(); 270 else ccInput->clear();
271 271
272 subjectInput->setText(tr("Re: ") + mail.subject); 272 subjectInput->setText(tr("Re: ") + mail.subject);
273 273
274 QString citation=mail.fromMail; 274 QString citation=mail.fromMail;
275 citation.append(tr(" wrote on ")); 275 citation.append(tr(" wrote on "));
276 citation.append(mail.date); 276 citation.append(mail.date);
277 citation.append(":\n"); 277 citation.append(":\n");
278 278
279 279
280 //mail.body.insert(0,tr("On")); 280 //mail.body.insert(0,tr("On"));
281 pos = 0; 281 pos = 0;
282 mail.body.insert(pos, ">"); 282 mail.body.insert(pos, ">");
283 while (pos != -1) { 283 while (pos != -1) {
284 pos = mail.body.find('\n', pos); 284 pos = mail.body.find('\n', pos);
285 if (pos != -1) 285 if (pos != -1)
286 mail.body.insert(++pos, ">>"); 286 mail.body.insert(++pos, ">");
287 } 287 }
288 mail.body.insert(0,citation); 288 mail.body.insert(0,citation);
289 emailInput->setText(mail.body); 289 emailInput->setText(mail.body);
290} 290}
291 291
292void WriteMail::forward(Email forwMail) 292void WriteMail::forward(Email forwMail)
293{ 293{
294 int pos=0; 294 // int pos=0;
295 295
296 QString fwdBody=tr("======forwarded message from "); 296 QString fwdBody=tr("======forwarded message from ");
297 fwdBody.append(forwMail.fromMail); 297 fwdBody.append(forwMail.fromMail);
298 fwdBody.append(tr(" starts======\n\n")); 298 fwdBody.append(tr(" starts======\n\n"));
299 299
300 mail=forwMail; 300 mail=forwMail;
301 toInput->setText(""); 301 toInput->setText("");
302 ccInput->setText(""); 302 ccInput->setText("");
303 subjectInput->setText(tr("FWD: ") + mail.subject); 303 subjectInput->setText(tr("FWD: ") + mail.subject);
304 304
305 fwdBody+=mail.body; 305 fwdBody+=mail.body;
306 fwdBody+=QString(tr("======end of forwarded message======\n\n")); 306 fwdBody+=QString(tr("======end of forwarded message======\n\n"));
307 307
308 emailInput->setText(fwdBody); 308 emailInput->setText(fwdBody);
309} 309}
310 310
311bool WriteMail::getRecipients(bool ccField) 311bool WriteMail::getRecipients(bool ccField)
312{ 312{
313 QString str, temp; 313 QString str, temp;
314 int pos = 0; 314 int pos = 0;
315 315
316 if (ccField) 316 if (ccField)
317 { 317 {
318 mail.carbonCopies.clear(); 318 mail.carbonCopies.clear();
319 temp = ccInput->text(); 319 temp = ccInput->text();
320 } 320 }
321 else 321 else
322 { 322 {
323 mail.recipients.clear(); 323 mail.recipients.clear();
324 temp=toInput->text() ; 324 temp=toInput->text() ;
325 } 325 }
326 326
327 while ( (pos = temp.find(';')) != -1) { 327 while ( (pos = temp.find(';')) != -1) {
328 str = temp.left(pos).stripWhiteSpace(); 328 str = temp.left(pos).stripWhiteSpace();
329 temp = temp.right(temp.length() - (pos + 1)); 329 temp = temp.right(temp.length() - (pos + 1));
330 if ( str.find('@') == -1) 330 if ( str.find('@') == -1)
331 return false; 331 return false;
332 ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str); 332 ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str);
333 //addressList->addContact(str, ""); 333 //addressList->addContact(str, "");
334 } 334 }
335 temp = temp.stripWhiteSpace(); 335 temp = temp.stripWhiteSpace();
336 if ( temp.find('@') == -1) 336 if ( temp.find('@') == -1)
337 return false; 337 return false;
338 ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp); 338 ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp);
339 //addressList->addContact(temp, ""); 339 //addressList->addContact(temp, "");
340 340
341 return TRUE; 341 return TRUE;
342} 342}
343 343
344void WriteMail::addRecipients() 344void WriteMail::addRecipients()
345{ 345{
346 toInput->isVisible() ? addRecipients(false) : addRecipients(true); 346 toInput->isVisible() ? addRecipients(false) : addRecipients(true);
347 } 347}
348 348
349void WriteMail::addRecipients(bool ccField) 349void WriteMail::addRecipients(bool ccField)
350{ 350{
351 QString recipients = ""; 351 QString recipients = "";
352 352
353 mail.recipients.clear(); 353 mail.recipients.clear();
354 354
355 QListViewItem *item = addressView->firstChild(); 355 QListViewItem *item = addressView->firstChild();
356 while (item != NULL) { 356 while (item != NULL) {
357 if ( item->isSelected() ) { 357 if ( item->isSelected() ) {
358 if (recipients == "") { 358 if (recipients == "") {
359 recipients = item->text(1); 359 recipients = item->text(1);
360 } else { 360 } else {
361 recipients += "; " + item->text(1); 361 recipients += "; " + item->text(1);
362 } 362 }
363 } 363 }
364 item = item->nextSibling(); 364 item = item->nextSibling();
365 } 365 }
366 366
367 ccField ? ccInput->setText(recipients):toInput->setText(recipients); 367 ccField ? ccInput->setText(recipients):toInput->setText(recipients);
368 368
369 addressView->hide(); 369 addressView->hide();
370 okButton->hide(); 370 okButton->hide();
371 emailInput->show(); 371 emailInput->show();
372 addressButton->setOn(FALSE); 372 addressButton->setOn(FALSE);
373 showingAddressList = !showingAddressList; 373 showingAddressList = !showingAddressList;
374} 374}
375 375
376void WriteMail::changeRecipients(int selection) 376void WriteMail::changeRecipients(int selection)
377{ 377{
378 if (selection==0) 378 if (selection==0)
379 { 379 {
380 toInput->show(); 380 toInput->show();
381 ccInput->hide(); 381 ccInput->hide();
382 } 382 }
383 else if (selection==1) 383 else if (selection==1)
384 { 384 {
385 toInput->hide(); 385 toInput->hide();
386 ccInput->show(); 386 ccInput->show();
387 } 387 }
388} 388}
389 389
390void WriteMail::setRecipient(const QString &recipient) 390void WriteMail::setRecipient(const QString &recipient)
@@ -394,9 +394,9 @@ void WriteMail::setRecipient(const QString &recipient)
394 394
395void WriteMail::newMail() 395void WriteMail::newMail()
396{ 396{
397 toInput->clear(); 397 toInput->clear();
398 ccInput->clear(); 398 ccInput->clear();
399 subjectInput->clear(); 399 subjectInput->clear();
400 emailInput->clear(); 400 emailInput->clear();
401 setAddressList(addressList); 401 setAddressList(addressList);
402} 402}