summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/accountview.cpp31
-rw-r--r--noncore/net/mail/editaccounts.cpp28
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.cpp13
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp86
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.cpp60
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp21
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.h2
-rw-r--r--noncore/net/mail/libmailwrapper/settings.cpp47
-rw-r--r--noncore/net/mail/libmailwrapper/settings.h7
-rw-r--r--noncore/net/mail/pop3configui.ui68
10 files changed, 238 insertions, 125 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp
index 662e555..0fe8475 100644
--- a/noncore/net/mail/accountview.cpp
+++ b/noncore/net/mail/accountview.cpp
@@ -65,25 +65,20 @@ void AccountView::populate( QList<Account> list )
65 Account *it; 65 Account *it;
66 for ( it = list.first(); it; it = list.next() ) 66 for ( it = list.first(); it; it = list.next() ) {
67 { 67 if ( it->getType() == MAILLIB::A_IMAP ) {
68 if ( it->getType() == MAILLIB::A_IMAP )
69 {
70 IMAPaccount *imap = static_cast<IMAPaccount *>(it); 68 IMAPaccount *imap = static_cast<IMAPaccount *>(it);
71 odebug << "added IMAP " + imap->getAccountName() << oendl; 69 odebug << "added IMAP " + imap->getAccountName() << oendl;
72 imapAccounts.append(new IMAPviewItem( imap, this )); 70 imapAccounts.append(new IMAPviewItem( imap, this ));
73 } 71 } else if ( it->getType() == MAILLIB::A_POP3 ) {
74 else if ( it->getType() == MAILLIB::A_POP3 )
75 {
76 POP3account *pop3 = static_cast<POP3account *>(it); 72 POP3account *pop3 = static_cast<POP3account *>(it);
77 odebug << "added POP3 " + pop3->getAccountName() << oendl; 73 odebug << "added POP3 " + pop3->getAccountName() << oendl;
78 /* must not be hold 'cause it isn't required */ 74 /* must not be hold 'cause it isn't required */
79 (void) new POP3viewItem( pop3, this ); 75 (void) new POP3viewItem( pop3, this );
80 } 76 } else if ( it->getType() == MAILLIB::A_NNTP ) {
81 else if ( it->getType() == MAILLIB::A_NNTP )
82 {
83 NNTPaccount *nntp = static_cast<NNTPaccount *>(it); 77 NNTPaccount *nntp = static_cast<NNTPaccount *>(it);
84 odebug << "added NNTP " + nntp->getAccountName() << oendl; 78 odebug << "added NNTP " + nntp->getAccountName() << oendl;
85 /* must not be hold 'cause it isn't required */ 79 /* must not be hold 'cause it isn't required */
86 (void) new NNTPviewItem( nntp, this ); 80 (void) new NNTPviewItem( nntp, this );
87 } 81 } else if ( it->getType() == MAILLIB::A_MH ) {
88 } 82 }
83 }
89} 84}
@@ -93,3 +88,3 @@ void AccountView::refresh(QListViewItem *item)
93 88
94 odebug << "AccountView refresh..." << oendl; 89 odebug << "AccountView refresh..." << oendl;
95 if ( item ) 90 if ( item )
@@ -166,4 +161,4 @@ void AccountView::downloadMails(const FolderP&fromFolder,AbstractMail*fromWrappe
166 } 161 }
167 odebug << "Targetfolder: " << targetFolder.latin1() << "" << oendl; 162 odebug << "Targetfolder: " << targetFolder.latin1() << "" << oendl;
168 odebug << "Fromfolder: " << fromFolder->getName().latin1() << "" << oendl; 163 odebug << "Fromfolder: " << fromFolder->getName().latin1() << "" << oendl;
169 fromWrapper->mvcpAllMails(fromFolder,targetFolder,targetMail,sels.moveMails()); 164 fromWrapper->mvcpAllMails(fromFolder,targetFolder,targetMail,sels.moveMails());
diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp
index b0ce57d..b7c137d 100644
--- a/noncore/net/mail/editaccounts.cpp
+++ b/noncore/net/mail/editaccounts.cpp
@@ -45,3 +45,3 @@ EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool
45{ 45{
46 odebug << "New Account Configuration Widget" << oendl; 46 odebug << "New Account Configuration Widget" << oendl;
47 settings = s; 47 settings = s;
@@ -85,3 +85,3 @@ void EditAccounts::slotNewMail()
85{ 85{
86 odebug << "New Mail Account" << oendl; 86 odebug << "New Mail Account" << oendl;
87 QString *selection = new QString(); 87 QString *selection = new QString();
@@ -99,3 +99,3 @@ void EditAccounts::slotNewAccount( const QString &type )
99 { 99 {
100 odebug << "-> config IMAP" << oendl; 100 odebug << "-> config IMAP" << oendl;
101 IMAPaccount *account = new IMAPaccount(); 101 IMAPaccount *account = new IMAPaccount();
@@ -115,3 +115,3 @@ void EditAccounts::slotNewAccount( const QString &type )
115 { 115 {
116 odebug << "-> config POP3" << oendl; 116 odebug << "-> config POP3" << oendl;
117 POP3account *account = new POP3account(); 117 POP3account *account = new POP3account();
@@ -131,3 +131,3 @@ void EditAccounts::slotNewAccount( const QString &type )
131 { 131 {
132 odebug << "-> config SMTP" << oendl; 132 odebug << "-> config SMTP" << oendl;
133 SMTPaccount *account = new SMTPaccount(); 133 SMTPaccount *account = new SMTPaccount();
@@ -148,3 +148,3 @@ void EditAccounts::slotNewAccount( const QString &type )
148 { 148 {
149 odebug << "-> config NNTP" << oendl; 149 odebug << "-> config NNTP" << oendl;
150 NNTPaccount *account = new NNTPaccount(); 150 NNTPaccount *account = new NNTPaccount();
@@ -217,3 +217,3 @@ void EditAccounts::slotEditMail()
217{ 217{
218 odebug << "Edit Mail Account" << oendl; 218 odebug << "Edit Mail Account" << oendl;
219 if ( !mailList->currentItem() ) 219 if ( !mailList->currentItem() )
@@ -246,3 +246,3 @@ void EditAccounts::slotNewNews()
246{ 246{
247 odebug << "New News Account" << oendl; 247 odebug << "New News Account" << oendl;
248 slotNewAccount( "NNTP" ); 248 slotNewAccount( "NNTP" );
@@ -252,3 +252,3 @@ void EditAccounts::slotEditNews()
252{ 252{
253 odebug << "Edit News Account" << oendl; 253 odebug << "Edit News Account" << oendl;
254 if ( !newsList->currentItem() ) 254 if ( !newsList->currentItem() )
@@ -267,3 +267,3 @@ void EditAccounts::slotDeleteNews()
267{ 267{
268 odebug << "Delete News Account" << oendl; 268 odebug << "Delete News Account" << oendl;
269 if ( !newsList->currentItem() ) 269 if ( !newsList->currentItem() )
@@ -424,2 +424,4 @@ void POP3config::fillValues()
424 passLine->setText( data->getPassword() ); 424 passLine->setText( data->getPassword() );
425 m_CheckSize->setChecked(data->getCheckMaxSize());
426 m_MailLimitBox->setValue(data->getMaxSize());
425} 427}
@@ -434,2 +436,4 @@ void POP3config::accept()
434 data->setPassword( passLine->text() ); 436 data->setPassword( passLine->text() );
437 data->setMaxSize(m_MailLimitBox->value());
438 data->setCheckMaxSize(m_CheckSize->isChecked());
435 439
@@ -525,3 +529,3 @@ void NNTPconfig::slotGetNG() {
525 QStringList list = tmp->listAllNewsgroups(); 529 QStringList list = tmp->listAllNewsgroups();
526 530
527 ListViewGroups->clear(); 531 ListViewGroups->clear();
@@ -583,3 +587,3 @@ void NNTPconfig::save()
583 if ( ( (QCheckListItem*)list_it.current() )->isOn() ) { 587 if ( ( (QCheckListItem*)list_it.current() )->isOn() ) {
584 odebug << list_it.current()->text(0) << oendl; 588 odebug << list_it.current()->text(0) << oendl;
585 groupList.append( list_it.current()->text(0) ); 589 groupList.append( list_it.current()->text(0) );
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
index 1caa375..5ec9415 100644
--- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
@@ -5,2 +5,4 @@
5#include <opie2/odebug.h> 5#include <opie2/odebug.h>
6#include <qpe/timestring.h>
7#include <qdatetime.h>
6 8
@@ -245,8 +247,7 @@ QString Genericwrapper::parseDateTime( mailimf_date_time *date )
245{ 247{
246 char tmp[23]; 248 QDateTime da(QDate(date->dt_year,date->dt_month,date->dt_day),QTime(date->dt_hour,date->dt_min,date->dt_sec));
247 249 QString timestring = TimeString::numberDateString(QDate(date->dt_year,date->dt_month,date->dt_day))+" ";
248 snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i", 250 timestring+=TimeString::timeString(QTime(date->dt_hour,date->dt_min,date->dt_sec))+" ";
249 date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); 251 timestring.sprintf(timestring+" %+05i",date->dt_zone);
250 252 return timestring;
251 return QString( tmp );
252} 253}
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 9b7c0e0..fe75a15 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -33,3 +33,3 @@ int IMAPwrapper::selectMbox(const QString&mbox)
33 if ( err != MAILIMAP_NO_ERROR ) { 33 if ( err != MAILIMAP_NO_ERROR ) {
34 odebug << "error selecting mailbox: " << m_imap->imap_response << "" << oendl; 34 odebug << "error selecting mailbox: " << m_imap->imap_response << "" << oendl;
35 m_Lastmbox = ""; 35 m_Lastmbox = "";
@@ -44,3 +44,3 @@ void IMAPwrapper::imap_progress( size_t current, size_t maximum )
44 qApp->processEvents(); 44 qApp->processEvents();
45 odebug << "IMAP: " << current << " of " << maximum << "" << oendl; 45 odebug << "IMAP: " << current << " of " << maximum << "" << oendl;
46} 46}
@@ -56,3 +56,3 @@ bool IMAPwrapper::start_tls(bool force_tls)
56 Global::statusMessage("error getting capabilities!"); 56 Global::statusMessage("error getting capabilities!");
57 odebug << "error getting capabilities!" << oendl; 57 odebug << "error getting capabilities!" << oendl;
58 return false; 58 return false;
@@ -77,3 +77,3 @@ bool IMAPwrapper::start_tls(bool force_tls)
77 Global::statusMessage(tr("Server has no TLS support!")); 77 Global::statusMessage(tr("Server has no TLS support!"));
78 odebug << "Server has no TLS support!" << oendl; 78 odebug << "Server has no TLS support!" << oendl;
79 try_tls = false; 79 try_tls = false;
@@ -128,3 +128,3 @@ void IMAPwrapper::login()
128 // cancel 128 // cancel
129 odebug << "IMAP: Login canceled" << oendl; 129 odebug << "IMAP: Login canceled" << oendl;
130 return; 130 return;
@@ -151,3 +151,3 @@ void IMAPwrapper::login()
151 if ( ssl ) { 151 if ( ssl ) {
152 odebug << "using ssl" << oendl; 152 odebug << "using ssl" << oendl;
153 err = mailimap_ssl_connect( m_imap, (char*)server, port ); 153 err = mailimap_ssl_connect( m_imap, (char*)server, port );
@@ -179,3 +179,3 @@ void IMAPwrapper::login()
179 Global::statusMessage(tr("Server has no TLS support!")); 179 Global::statusMessage(tr("Server has no TLS support!"));
180 odebug << "Server has no TLS support!" << oendl; 180 odebug << "Server has no TLS support!" << oendl;
181 ok = false; 181 ok = false;
@@ -239,2 +239,6 @@ void IMAPwrapper::listMessages(const QString&mailbox,QValueList<Opie::Core::OSma
239 set = mailimap_set_new_interval( 1, last ); 239 set = mailimap_set_new_interval( 1, last );
240
241
242 fetchType = mailimap_fetch_type_new_all();
243/*
240 fetchType = mailimap_fetch_type_new_fetch_att_list_empty(); 244 fetchType = mailimap_fetch_type_new_fetch_att_list_empty();
@@ -244,3 +248,3 @@ void IMAPwrapper::listMessages(const QString&mailbox,QValueList<Opie::Core::OSma
244 mailimap_fetch_type_new_fetch_att_list_add(fetchType,mailimap_fetch_att_new_rfc822_size()); 248 mailimap_fetch_type_new_fetch_att_list_add(fetchType,mailimap_fetch_att_new_rfc822_size());
245 249*/
246 err = mailimap_fetch( m_imap, set, fetchType, &result ); 250 err = mailimap_fetch( m_imap, set, fetchType, &result );
@@ -320,3 +324,3 @@ QValueList<Opie::Core::OSmartPointer<Folder> >* IMAPwrapper::listFolders()
320 } else { 324 } else {
321 odebug << "error fetching folders: " << m_imap->imap_response << "" << oendl; 325 odebug << "error fetching folders: " << m_imap->imap_response << "" << oendl;
322 } 326 }
@@ -330,3 +334,3 @@ QValueList<Opie::Core::OSmartPointer<Folder> >* IMAPwrapper::listFolders()
330 if (!path) path = ""; 334 if (!path) path = "";
331 odebug << path << oendl; 335 odebug << path << oendl;
332 err = mailimap_list( m_imap, (char*)path, (char*)mask, &result ); 336 err = mailimap_list( m_imap, (char*)path, (char*)mask, &result );
@@ -357,3 +361,3 @@ QValueList<Opie::Core::OSmartPointer<Folder> >* IMAPwrapper::listFolders()
357 } else { 361 } else {
358 odebug << "error fetching folders " << m_imap->imap_response << "" << oendl; 362 odebug << "error fetching folders " << m_imap->imap_response << "" << oendl;
359 } 363 }
@@ -377,2 +381,3 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
377 } 381 }
382 size = 0;
378 m = new RecMail(); 383 m = new RecMail();
@@ -380,3 +385,2 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
380 current = c; 385 current = c;
381 size = 0;
382 item = (mailimap_msg_att_item*)current->data; 386 item = (mailimap_msg_att_item*)current->data;
@@ -467,9 +471,16 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
467#if 0 471#if 0
468 mailimap_date_time*d = item->att_data.att_static->att_data.att_internal_date; 472 mailimap_date_time*date = item->att_data.att_static->att_data.att_internal_date;
473 if (date->dt_sec>60 || date->dt_sec<0) date->dt_sec=0;
474 //QDateTime da(QDate(d->dt_year,date->dt_month,date->dt_day),QTime(date->dt_hour,date->dt_min,date->dt_sec));
475 QString timestring = TimeString::numberDateString(QDate(date->dt_year,date->dt_month,date->dt_day))+" ";
476 timestring+=TimeString::timeString(QTime(date->dt_hour,date->dt_min,date->dt_sec))+" ";
477 timestring.sprintf(timestring+" %+05i",date->dt_zone);
478 m->setDate(timestring);
469 QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec)); 479 QDateTime da(QDate(d->dt_year,d->dt_month,d->dt_day),QTime(d->dt_hour,d->dt_min,d->dt_sec));
470 odebug << "" << d->dt_year << " " << d->dt_month << " " << d->dt_day << " - " << d->dt_hour << " " << d->dt_min << " " << d->dt_sec << "" << oendl; 480 odebug << "" << d->dt_year << " " << d->dt_month << " " << d->dt_day << " - " << d->dt_hour << " " << d->dt_min << " " << d->dt_sec << "" << oendl;
471 odebug << da.toString() << oendl; 481 odebug << da.toString() << oendl;
472#endif 482#endif
473 } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) { 483 } else if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_RFC822_SIZE) {
474 size = item->att_data.att_static->att_data.att_rfc822_size; 484 //size = item->att_data.att_static->att_data.att_rfc822_size;
485 m->setMsgsize(item->att_data.att_static->att_data.att_rfc822_size);
475 } 486 }
@@ -483,3 +494,2 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
483 m->setFlags(mFlags); 494 m->setFlags(mFlags);
484 m->setMsgsize(size);
485 } 495 }
@@ -527,3 +537,3 @@ RecBodyP IMAPwrapper::fetchBody(const RecMailP&mail)
527 } else { 537 } else {
528 odebug << "error fetching body: " << m_imap->imap_response << "" << oendl; 538 odebug << "error fetching body: " << m_imap->imap_response << "" << oendl;
529 } 539 }
@@ -639,3 +649,3 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int
639 } else { 649 } else {
640 odebug << "error fetching text: " << m_imap->imap_response << "" << oendl; 650 odebug << "error fetching text: " << m_imap->imap_response << "" << oendl;
641 } 651 }
@@ -666,3 +676,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&t
666 } 676 }
667 odebug << "ID = " << id.latin1() << "" << oendl; 677 odebug << "ID = " << id.latin1() << "" << oendl;
668 currentPart->setIdentifier(id); 678 currentPart->setIdentifier(id);
@@ -707,3 +717,3 @@ void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&t
707 } 717 }
708 odebug << "ID(mpart) = " << id.latin1() << "" << oendl; 718 odebug << "ID(mpart) = " << id.latin1() << "" << oendl;
709 } 719 }
@@ -751,3 +761,3 @@ void IMAPwrapper::fillSingleTextPart(RecPartP&target_part,mailimap_body_type_tex
751 sub = which->bd_media_text; 761 sub = which->bd_media_text;
752 odebug << "Type= text/" << which->bd_media_text << "" << oendl; 762 odebug << "Type= text/" << which->bd_media_text << "" << oendl;
753 target_part->setSubtype(sub.lower()); 763 target_part->setSubtype(sub.lower());
@@ -763,3 +773,3 @@ void IMAPwrapper::fillSingleMsgPart(RecPartP&target_part,mailimap_body_type_msg*
763 target_part->setSubtype("rfc822"); 773 target_part->setSubtype("rfc822");
764 odebug << "Message part" << oendl; 774 odebug << "Message part" << oendl;
765 /* we set this type to text/plain */ 775 /* we set this type to text/plain */
@@ -822,3 +832,3 @@ void IMAPwrapper::fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_ba
822 } 832 }
823 odebug << "Type = " << type.latin1() << "/" << sub.latin1() << "" << oendl; 833 odebug << "Type = " << type.latin1() << "/" << sub.latin1() << "" << oendl;
824 target_part->setType(type.lower()); 834 target_part->setType(type.lower());
@@ -898,6 +908,6 @@ void IMAPwrapper::deleteMail(const RecMailP&mail)
898 if (err != MAILIMAP_NO_ERROR) { 908 if (err != MAILIMAP_NO_ERROR) {
899 odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; 909 odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl;
900 return; 910 return;
901 } 911 }
902 odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; 912 odebug << "deleting mail: " << m_imap->imap_response << "" << oendl;
903 /* should we realy do that at this moment? */ 913 /* should we realy do that at this moment? */
@@ -905,5 +915,5 @@ void IMAPwrapper::deleteMail(const RecMailP&mail)
905 if (err != MAILIMAP_NO_ERROR) { 915 if (err != MAILIMAP_NO_ERROR) {
906 odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; 916 odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl;
907 } 917 }
908 odebug << "Delete successfull " << m_imap->imap_response << "" << oendl; 918 odebug << "Delete successfull " << m_imap->imap_response << "" << oendl;
909} 919}
@@ -933,3 +943,3 @@ void IMAPwrapper::answeredMail(const RecMailP&mail)
933 if (err != MAILIMAP_NO_ERROR) { 943 if (err != MAILIMAP_NO_ERROR) {
934 odebug << "error marking mail: " << m_imap->imap_response << "" << oendl; 944 odebug << "error marking mail: " << m_imap->imap_response << "" << oendl;
935 return; 945 return;
@@ -1001,3 +1011,3 @@ int IMAPwrapper::deleteAllMail(const FolderP&folder)
1001 } 1011 }
1002 odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; 1012 odebug << "deleting mail: " << m_imap->imap_response << "" << oendl;
1003 /* should we realy do that at this moment? */ 1013 /* should we realy do that at this moment? */
@@ -1008,3 +1018,3 @@ int IMAPwrapper::deleteAllMail(const FolderP&folder)
1008 } 1018 }
1009 odebug << "Delete successfull " << m_imap->imap_response << "" << oendl; 1019 odebug << "Delete successfull " << m_imap->imap_response << "" << oendl;
1010 return 1; 1020 return 1;
@@ -1033,3 +1043,3 @@ int IMAPwrapper::createMbox(const QString&folder,const FolderP&parentfolder,cons
1033 } 1043 }
1034 odebug << "Creating " << pre.latin1() << "" << oendl; 1044 odebug << "Creating " << pre.latin1() << "" << oendl;
1035 int res = mailimap_create(m_imap,pre.latin1()); 1045 int res = mailimap_create(m_imap,pre.latin1());
@@ -1092,3 +1102,3 @@ void IMAPwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
1092 } else { 1102 } else {
1093 odebug << "Error retrieving status" << oendl; 1103 odebug << "Error retrieving status" << oendl;
1094 } 1104 }
@@ -1116,3 +1126,3 @@ const QString&IMAPwrapper::getName()const
1116{ 1126{
1117 odebug << "Get name: " << account->getAccountName().latin1() << "" << oendl; 1127 odebug << "Get name: " << account->getAccountName().latin1() << "" << oendl;
1118 return account->getAccountName(); 1128 return account->getAccountName();
@@ -1132,3 +1142,3 @@ void IMAPwrapper::mvcpAllMails(const FolderP&fromFolder,
1132 AbstractMail::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit); 1142 AbstractMail::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit);
1133 odebug << "Using generic" << oendl; 1143 odebug << "Using generic" << oendl;
1134 return; 1144 return;
@@ -1151,3 +1161,3 @@ void IMAPwrapper::mvcpAllMails(const FolderP&fromFolder,
1151 Global::statusMessage(error_msg); 1161 Global::statusMessage(error_msg);
1152 odebug << error_msg << oendl; 1162 odebug << error_msg << oendl;
1153 return; 1163 return;
@@ -1162,3 +1172,3 @@ void IMAPwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstra
1162 if (targetWrapper != this) { 1172 if (targetWrapper != this) {
1163 odebug << "Using generic" << oendl; 1173 odebug << "Using generic" << oendl;
1164 AbstractMail::mvcpMail(mail,targetFolder,targetWrapper,moveit); 1174 AbstractMail::mvcpMail(mail,targetFolder,targetWrapper,moveit);
@@ -1181,3 +1191,3 @@ void IMAPwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstra
1181 Global::statusMessage(error_msg); 1191 Global::statusMessage(error_msg);
1182 odebug << error_msg << oendl; 1192 odebug << error_msg << oendl;
1183 return; 1193 return;
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
index 403afcf..765a21c 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
@@ -19,3 +19,3 @@ MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name)
19 } 19 }
20 odebug << MHPath << oendl; 20 odebug << MHPath << oendl;
21 QDir dir(MHPath); 21 QDir dir(MHPath);
@@ -36,3 +36,3 @@ void MHwrapper::init_storage()
36 if (r != MAIL_NO_ERROR) { 36 if (r != MAIL_NO_ERROR) {
37 odebug << "error initializing storage" << oendl; 37 odebug << "error initializing storage" << oendl;
38 mailstorage_free(m_storage); 38 mailstorage_free(m_storage);
@@ -44,3 +44,3 @@ void MHwrapper::init_storage()
44 if (r!=MAIL_NO_ERROR) { 44 if (r!=MAIL_NO_ERROR) {
45 odebug << "error connecting storage" << oendl; 45 odebug << "error connecting storage" << oendl;
46 mailstorage_free(m_storage); 46 mailstorage_free(m_storage);
@@ -73,3 +73,3 @@ void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSm
73 if (r!=MAIL_NO_ERROR) { 73 if (r!=MAIL_NO_ERROR) {
74 odebug << "listMessages: error selecting folder!" << oendl; 74 odebug << "listMessages: error selecting folder!" << oendl;
75 return; 75 return;
@@ -93,3 +93,3 @@ QValueList<Opie::Core::OSmartPointer<Folder> >* MHwrapper::listFolders()
93 if (r != MAIL_NO_ERROR || !flist) { 93 if (r != MAIL_NO_ERROR || !flist) {
94 odebug << "error getting folder list" << oendl; 94 odebug << "error getting folder list" << oendl;
95 return folders; 95 return folders;
@@ -113,3 +113,3 @@ void MHwrapper::deleteMail(const RecMailP&mail)
113 if (r!=MAIL_NO_ERROR) { 113 if (r!=MAIL_NO_ERROR) {
114 odebug << "error selecting folder!" << oendl; 114 odebug << "error selecting folder!" << oendl;
115 return; 115 return;
@@ -118,3 +118,3 @@ void MHwrapper::deleteMail(const RecMailP&mail)
118 if (r != MAIL_NO_ERROR) { 118 if (r != MAIL_NO_ERROR) {
119 odebug << "error deleting mail" << oendl; 119 odebug << "error deleting mail" << oendl;
120 } 120 }
@@ -143,3 +143,3 @@ RecBodyP MHwrapper::fetchBody( const RecMailP &mail )
143 if (r != MAIL_NO_ERROR) { 143 if (r != MAIL_NO_ERROR) {
144 odebug << "Error fetching mail " << mail->getNumber() << "" << oendl; 144 odebug << "Error fetching mail " << mail->getNumber() << "" << oendl;
145 return body; 145 return body;
@@ -153,3 +153,3 @@ void MHwrapper::mbox_progress( size_t current, size_t maximum )
153{ 153{
154 odebug << "MH " << current << " von " << maximum << "" << oendl; 154 odebug << "MH " << current << " von " << maximum << "" << oendl;
155} 155}
@@ -186,9 +186,9 @@ int MHwrapper::createMbox(const QString&folder,const FolderP&pfolder,const QStri
186 } 186 }
187 odebug << f << oendl; 187 odebug << f << oendl;
188 int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1()); 188 int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1());
189 if (r != MAIL_NO_ERROR) { 189 if (r != MAIL_NO_ERROR) {
190 odebug << "error creating folder " << r << "" << oendl; 190 odebug << "error creating folder " << r << "" << oendl;
191 return 0; 191 return 0;
192 } 192 }
193 odebug << "Folder created" << oendl; 193 odebug << "Folder created" << oendl;
194 return 1; 194 return 1;
@@ -205,3 +205,3 @@ void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
205 if (r!=MAIL_NO_ERROR) { 205 if (r!=MAIL_NO_ERROR) {
206 odebug << "error selecting folder!" << oendl; 206 odebug << "error selecting folder!" << oendl;
207 return; 207 return;
@@ -210,3 +210,3 @@ void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
210 if (r!=MAIL_NO_ERROR) { 210 if (r!=MAIL_NO_ERROR) {
211 odebug << "error storing mail" << oendl; 211 odebug << "error storing mail" << oendl;
212 } 212 }
@@ -227,3 +227,3 @@ encodedString* MHwrapper::fetchRawBody(const RecMailP&mail)
227 if (r!=MAIL_NO_ERROR) { 227 if (r!=MAIL_NO_ERROR) {
228 odebug << "error selecting folder!" << oendl; 228 odebug << "error selecting folder!" << oendl;
229 return result; 229 return result;
@@ -251,3 +251,3 @@ void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &
251 if (r!=MAIL_NO_ERROR) { 251 if (r!=MAIL_NO_ERROR) {
252 odebug << "deleteMails: error selecting folder!" << oendl; 252 odebug << "deleteMails: error selecting folder!" << oendl;
253 return; 253 return;
@@ -258,3 +258,3 @@ void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &
258 if (r != MAIL_NO_ERROR) { 258 if (r != MAIL_NO_ERROR) {
259 odebug << "error deleting mail" << oendl; 259 odebug << "error deleting mail" << oendl;
260 break; 260 break;
@@ -274,3 +274,3 @@ int MHwrapper::deleteAllMail(const FolderP&tfolder)
274 if (r!=MAIL_NO_ERROR) { 274 if (r!=MAIL_NO_ERROR) {
275 odebug << "error selecting folder!" << oendl; 275 odebug << "error selecting folder!" << oendl;
276 return 0; 276 return 0;
@@ -280,3 +280,3 @@ int MHwrapper::deleteAllMail(const FolderP&tfolder)
280 if (r != MAIL_NO_ERROR) { 280 if (r != MAIL_NO_ERROR) {
281 odebug << "Error message list" << oendl; 281 odebug << "Error message list" << oendl;
282 res = 0; 282 res = 0;
@@ -311,3 +311,3 @@ int MHwrapper::deleteMbox(const FolderP&tfolder)
311 if (r != MAIL_NO_ERROR) { 311 if (r != MAIL_NO_ERROR) {
312 odebug << "error deleting mail box" << oendl; 312 odebug << "error deleting mail box" << oendl;
313 return 0; 313 return 0;
@@ -329,6 +329,6 @@ int MHwrapper::deleteMbox(const FolderP&tfolder)
329 if(!process->start(OProcess::Block, OProcess::All) ) { 329 if(!process->start(OProcess::Block, OProcess::All) ) {
330 odebug << "could not start process" << oendl; 330 odebug << "could not start process" << oendl;
331 return 0; 331 return 0;
332 } 332 }
333 odebug << "mail box deleted" << oendl; 333 odebug << "mail box deleted" << oendl;
334 return 1; 334 return 1;
@@ -381,3 +381,3 @@ void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstract
381 if (targetWrapper != this) { 381 if (targetWrapper != this) {
382 odebug << "Using generic" << oendl; 382 odebug << "Using generic" << oendl;
383 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit); 383 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit);
@@ -385,3 +385,3 @@ void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstract
385 } 385 }
386 odebug << "Using internal routines for move/copy" << oendl; 386 odebug << "Using internal routines for move/copy" << oendl;
387 QString tf = buildPath(targetFolder); 387 QString tf = buildPath(targetFolder);
@@ -389,3 +389,3 @@ void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstract
389 if (r != MAIL_NO_ERROR) { 389 if (r != MAIL_NO_ERROR) {
390 odebug << "Error selecting source mailbox" << oendl; 390 odebug << "Error selecting source mailbox" << oendl;
391 return; 391 return;
@@ -398,3 +398,3 @@ void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,Abstract
398 if (r != MAIL_NO_ERROR) { 398 if (r != MAIL_NO_ERROR) {
399 odebug << "Error copy/moving mail internal (" << r << ")" << oendl; 399 odebug << "Error copy/moving mail internal (" << r << ")" << oendl;
400 } 400 }
@@ -410,3 +410,3 @@ void MHwrapper::mvcpAllMails(const FolderP&fromFolder,
410 if (targetWrapper != this) { 410 if (targetWrapper != this) {
411 odebug << "Using generic" << oendl; 411 odebug << "Using generic" << oendl;
412 Genericwrapper::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit); 412 Genericwrapper::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit);
@@ -417,3 +417,3 @@ void MHwrapper::mvcpAllMails(const FolderP&fromFolder,
417 if (r!=MAIL_NO_ERROR) { 417 if (r!=MAIL_NO_ERROR) {
418 odebug << "error selecting source folder!" << oendl; 418 odebug << "error selecting source folder!" << oendl;
419 return; 419 return;
@@ -424,3 +424,3 @@ void MHwrapper::mvcpAllMails(const FolderP&fromFolder,
424 if (r != MAIL_NO_ERROR) { 424 if (r != MAIL_NO_ERROR) {
425 odebug << "Error message list" << oendl; 425 odebug << "Error message list" << oendl;
426 } 426 }
@@ -437,3 +437,3 @@ void MHwrapper::mvcpAllMails(const FolderP&fromFolder,
437 if (r != MAIL_NO_ERROR) { 437 if (r != MAIL_NO_ERROR) {
438 odebug << "Error copy/moving mail internal (" << r << ")" << oendl; 438 odebug << "Error copy/moving mail internal (" << r << ")" << oendl;
439 break; 439 break;
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index 3cfd1ee..2d66fc9 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -9,2 +9,3 @@
9#include <qfile.h> 9#include <qfile.h>
10#include <qmessagebox.h>
10 11
@@ -20,2 +21,4 @@ POP3wrapper::POP3wrapper( POP3account *a )
20 last_msg_id = 0; 21 last_msg_id = 0;
22 m_maxsize = account->getMaxSize();
23 m_checksize = account->getCheckMaxSize();
21} 24}
@@ -31,3 +34,3 @@ POP3wrapper::~POP3wrapper() {
31void POP3wrapper::pop3_progress( size_t current, size_t maximum ) { 34void POP3wrapper::pop3_progress( size_t current, size_t maximum ) {
32 odebug << "POP3: " << current << " of " << maximum << "" << oendl; 35 odebug << "POP3: " << current << " of " << maximum << "" << oendl;
33} 36}
@@ -47,5 +50,9 @@ RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) {
47 mailmessage * mailmsg; 50 mailmessage * mailmsg;
48 if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) { 51 if (mail->Msgsize()/1024>m_maxsize && m_checksize && mail->getNumber()!=last_msg_id) {
49 odebug << "Message to large: " << mail->Msgsize() << "" << oendl; 52 QString quest = QString(tr("Download mail?\nIt is %1 kByte but your limit is %2 kByte")).arg(mail->Msgsize()/1024).arg(m_maxsize);
50 return body; 53 int yesno = QMessageBox::warning(0,tr("Download message"),
54 quest,tr("Yes"),tr("No"),QString::null,0,1);
55 odebug << "Message to large: " << mail->Msgsize() << "" << oendl;
56 if (yesno==1)
57 return body;
51 } 58 }
@@ -133,3 +140,3 @@ void POP3wrapper::login()
133 // cancel 140 // cancel
134 odebug << "POP3: Login canceled" << oendl; 141 odebug << "POP3: Login canceled" << oendl;
135 return; 142 return;
@@ -165,3 +172,3 @@ void POP3wrapper::login()
165 if (err != MAIL_NO_ERROR) { 172 if (err != MAIL_NO_ERROR) {
166 odebug << QString( "FEHLERNUMMER %1" ).arg( err ) << oendl; 173 odebug << QString( "FEHLERNUMMER %1" ).arg( err ) << oendl;
167 Global::statusMessage(tr("Error initializing folder")); 174 Global::statusMessage(tr("Error initializing folder"));
@@ -239,3 +246,3 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) {
239 if (r != MAIL_NO_ERROR) { 246 if (r != MAIL_NO_ERROR) {
240 odebug << "error getting folter status." << oendl; 247 odebug << "error getting folter status." << oendl;
241 } 248 }
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h
index 5101fa5..8c36cf9 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.h
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h
@@ -39,2 +39,4 @@ protected:
39 mailstorage*m_pop3; 39 mailstorage*m_pop3;
40 int m_maxsize;
41 bool m_checksize;
40}; 42};
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp
index 3c9b25c..09be91b 100644
--- a/noncore/net/mail/libmailwrapper/settings.cpp
+++ b/noncore/net/mail/libmailwrapper/settings.cpp
@@ -18,3 +18,2 @@
18 18
19
20Settings::Settings() 19Settings::Settings()
@@ -29,3 +28,3 @@ void Settings::checkDirectory()
29 system( "mkdir -p $HOME/Applications/opiemail" ); 28 system( "mkdir -p $HOME/Applications/opiemail" );
30 odebug << "$HOME/Applications/opiemail created" << oendl; 29 odebug << "$HOME/Applications/opiemail created" << oendl;
31 } 30 }
@@ -57,3 +56,3 @@ void Settings::updateAccounts()
57 for ( it = imap.begin(); it != imap.end(); it++ ) { 56 for ( it = imap.begin(); it != imap.end(); it++ ) {
58 odebug << "Added IMAP account" << oendl; 57 odebug << "Added IMAP account" << oendl;
59 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") ); 58 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") );
@@ -64,3 +63,3 @@ void Settings::updateAccounts()
64 for ( it = pop3.begin(); it != pop3.end(); it++ ) { 63 for ( it = pop3.begin(); it != pop3.end(); it++ ) {
65 odebug << "Added POP account" << oendl; 64 odebug << "Added POP account" << oendl;
66 POP3account *account = new POP3account( (*it).replace(0, 5, "") ); 65 POP3account *account = new POP3account( (*it).replace(0, 5, "") );
@@ -71,3 +70,3 @@ void Settings::updateAccounts()
71 for ( it = smtp.begin(); it != smtp.end(); it++ ) { 70 for ( it = smtp.begin(); it != smtp.end(); it++ ) {
72 odebug << "Added SMTP account" << oendl; 71 odebug << "Added SMTP account" << oendl;
73 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") ); 72 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") );
@@ -78,3 +77,3 @@ void Settings::updateAccounts()
78 for ( it = nntp.begin(); it != nntp.end(); it++ ) { 77 for ( it = nntp.begin(); it != nntp.end(); it++ ) {
79 odebug << "Added NNTP account" << oendl; 78 odebug << "Added NNTP account" << oendl;
80 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") ); 79 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") );
@@ -182,3 +181,3 @@ void IMAPaccount::save()
182{ 181{
183 odebug << "saving " + getFileName() << oendl; 182 odebug << "saving " + getFileName() << oendl;
184 Settings::checkDirectory(); 183 Settings::checkDirectory();
@@ -215,2 +214,4 @@ POP3account::POP3account()
215 port = POP3_PORT; 214 port = POP3_PORT;
215 m_CheckSize = true;
216 m_MaxSize = 1024;
216} 217}
@@ -226,2 +227,4 @@ POP3account::POP3account( QString filename )
226 port = POP3_PORT; 227 port = POP3_PORT;
228 m_CheckSize = true;
229 m_MaxSize = 1024;
227} 230}
@@ -255,2 +258,4 @@ void POP3account::read()
255 offline = conf->readBoolEntry("Offline",false); 258 offline = conf->readBoolEntry("Offline",false);
259 m_CheckSize = conf->readBoolEntry("Checkmaxsize",true);
260 m_MaxSize = conf->readNumEntry("Maxsize",1024);
256 delete conf; 261 delete conf;
@@ -260,3 +265,3 @@ void POP3account::save()
260{ 265{
261 odebug << "saving " + getFileName() << oendl; 266 odebug << "saving " + getFileName() << oendl;
262 Settings::checkDirectory(); 267 Settings::checkDirectory();
@@ -273,2 +278,4 @@ void POP3account::save()
273 conf->writeEntry( "Offline",offline); 278 conf->writeEntry( "Offline",offline);
279 conf->writeEntry("Checkmaxsize",m_CheckSize);
280 conf->writeEntry("Maxsize",m_MaxSize);
274 conf->write(); 281 conf->write();
@@ -283,2 +290,22 @@ QString POP3account::getFileName()
283 290
291bool POP3account::getCheckMaxSize()const
292{
293 return m_CheckSize;
294}
295
296void POP3account::setCheckMaxSize(bool aValue)
297{
298 m_CheckSize = aValue;
299}
300
301int POP3account::getMaxSize()const
302{
303 return m_MaxSize;
304}
305
306void POP3account::setMaxSize(int aValue)
307{
308 m_MaxSize = aValue;
309}
310
284SMTPaccount::SMTPaccount() 311SMTPaccount::SMTPaccount()
@@ -342,3 +369,3 @@ void SMTPaccount::save()
342{ 369{
343 odebug << "saving " + getFileName() << oendl; 370 odebug << "saving " + getFileName() << oendl;
344 Settings::checkDirectory(); 371 Settings::checkDirectory();
@@ -419,3 +446,3 @@ void NNTPaccount::save()
419{ 446{
420 odebug << "saving " + getFileName() << oendl; 447 odebug << "saving " + getFileName() << oendl;
421 Settings::checkDirectory(); 448 Settings::checkDirectory();
diff --git a/noncore/net/mail/libmailwrapper/settings.h b/noncore/net/mail/libmailwrapper/settings.h
index bf27b97..8683a05 100644
--- a/noncore/net/mail/libmailwrapper/settings.h
+++ b/noncore/net/mail/libmailwrapper/settings.h
@@ -91,2 +91,6 @@ public:
91 virtual QString getFileName(); 91 virtual QString getFileName();
92 virtual bool getCheckMaxSize()const;
93 virtual void setCheckMaxSize(bool);
94 virtual int getMaxSize()const;
95 virtual void setMaxSize(int);
92 96
@@ -94,3 +98,4 @@ private:
94 QString file; 98 QString file;
95 99 bool m_CheckSize;
100 int m_MaxSize;
96}; 101};
diff --git a/noncore/net/mail/pop3configui.ui b/noncore/net/mail/pop3configui.ui
index 1014ef4..e560661 100644
--- a/noncore/net/mail/pop3configui.ui
+++ b/noncore/net/mail/pop3configui.ui
@@ -13,3 +13,3 @@
13 <y>0</y> 13 <y>0</y>
14 <width>314</width> 14 <width>302</width>
15 <height>410</height> 15 <height>410</height>
@@ -30,3 +30,3 @@
30 <name>margin</name> 30 <name>margin</name>
31 <number>3</number> 31 <number>11</number>
32 </property> 32 </property>
@@ -34,3 +34,3 @@
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>3</number> 35 <number>6</number>
36 </property> 36 </property>
@@ -321,2 +321,60 @@
321 </widget> 321 </widget>
322 <widget>
323 <class>QCheckBox</class>
324 <property stdset="1">
325 <name>name</name>
326 <cstring>m_CheckSize</cstring>
327 </property>
328 <property stdset="1">
329 <name>text</name>
330 <string>ask before downloading large mails</string>
331 </property>
332 </widget>
333 <widget>
334 <class>QLayoutWidget</class>
335 <property stdset="1">
336 <name>name</name>
337 <cstring>Layout9</cstring>
338 </property>
339 <grid>
340 <property stdset="1">
341 <name>margin</name>
342 <number>0</number>
343 </property>
344 <property stdset="1">
345 <name>spacing</name>
346 <number>6</number>
347 </property>
348 <widget row="0" column="0" >
349 <class>QLabel</class>
350 <property stdset="1">
351 <name>name</name>
352 <cstring>m_MailLimitLabel</cstring>
353 </property>
354 <property stdset="1">
355 <name>text</name>
356 <string>Large mail size (kb):</string>
357 </property>
358 </widget>
359 <widget row="0" column="1" >
360 <class>QSpinBox</class>
361 <property stdset="1">
362 <name>name</name>
363 <cstring>m_MailLimitBox</cstring>
364 </property>
365 <property stdset="1">
366 <name>suffix</name>
367 <string> kB</string>
368 </property>
369 <property stdset="1">
370 <name>maxValue</name>
371 <number>5120</number>
372 </property>
373 <property stdset="1">
374 <name>minValue</name>
375 <number>1</number>
376 </property>
377 </widget>
378 </grid>
379 </widget>
322 <spacer> 380 <spacer>
@@ -348,4 +406,8 @@
348 <tabstop>portLine</tabstop> 406 <tabstop>portLine</tabstop>
407 <tabstop>ComboBox1</tabstop>
408 <tabstop>CommandEdit</tabstop>
349 <tabstop>userLine</tabstop> 409 <tabstop>userLine</tabstop>
350 <tabstop>passLine</tabstop> 410 <tabstop>passLine</tabstop>
411 <tabstop>m_CheckSize</tabstop>
412 <tabstop>m_MailLimitBox</tabstop>
351</tabstops> 413</tabstops>