summaryrefslogtreecommitdiffabout
path: root/kmicromail
authorzautrix <zautrix>2004-11-01 14:15:56 (UTC)
committer zautrix <zautrix>2004-11-01 14:15:56 (UTC)
commit3320af5e47cdb4b54c4185c91d0332c013d90818 (patch) (unidiff)
tree9d7db42d4350616d315c5f95e1ac0aed00ed1314 /kmicromail
parent56845a3ee7013af8a2db26a89aa151ee482ef0ed (diff)
downloadkdepimpi-3320af5e47cdb4b54c4185c91d0332c013d90818.zip
kdepimpi-3320af5e47cdb4b54c4185c91d0332c013d90818.tar.gz
kdepimpi-3320af5e47cdb4b54c4185c91d0332c013d90818.tar.bz2
ompi fixes
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/mime/mailmime_decode.c3
-rw-r--r--kmicromail/libmailwrapper/generatemail.cpp13
-rw-r--r--kmicromail/libmailwrapper/imapwrapper.cpp7
-rw-r--r--kmicromail/libmailwrapper/settings.cpp3
-rw-r--r--kmicromail/opiemail.cpp11
5 files changed, 24 insertions, 13 deletions
diff --git a/kmicromail/libetpan/mime/mailmime_decode.c b/kmicromail/libetpan/mime/mailmime_decode.c
index e48ec19..dbaeb68 100644
--- a/kmicromail/libetpan/mime/mailmime_decode.c
+++ b/kmicromail/libetpan/mime/mailmime_decode.c
@@ -201,17 +201,18 @@ int mailmime_encoded_phrase_parse(const char * default_fromcode,
201 } 201 }
202 202
203 if (mmap_string_append(gphrase, wordutf8) == NULL) { 203 if (mmap_string_append(gphrase, wordutf8) == NULL) {
204 free(wordutf8); 204 free(wordutf8);
205 free(raw_word); 205 free(raw_word);
206 res = MAILIMF_ERROR_MEMORY; 206 res = MAILIMF_ERROR_MEMORY;
207 goto free; 207 goto free;
208 } 208 }
209 209 // LUTZ fix
210 free(wordutf8);
210 free(raw_word); 211 free(raw_word);
211 first = FALSE; 212 first = FALSE;
212 } 213 }
213 else if (r == MAILIMF_ERROR_PARSE) { 214 else if (r == MAILIMF_ERROR_PARSE) {
214 break; 215 break;
215 } 216 }
216 else { 217 else {
217 res = r; 218 res = r;
diff --git a/kmicromail/libmailwrapper/generatemail.cpp b/kmicromail/libmailwrapper/generatemail.cpp
index 49315ba..32311d7 100644
--- a/kmicromail/libmailwrapper/generatemail.cpp
+++ b/kmicromail/libmailwrapper/generatemail.cpp
@@ -4,17 +4,17 @@
4#include <libetpan/libetpan.h> 4#include <libetpan/libetpan.h>
5 5
6//#include <qt.h> 6//#include <qt.h>
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9#include <qfileinfo.h> 9#include <qfileinfo.h>
10 10
11using namespace Opie::Core; 11using namespace Opie::Core;
12const char* Generatemail::USER_AGENT="OpieMail v0.6"; 12const char* Generatemail::USER_AGENT="KOpieMail 33 1/3";
13 13
14Generatemail::Generatemail() 14Generatemail::Generatemail()
15{ 15{
16} 16}
17 17
18Generatemail::~Generatemail() 18Generatemail::~Generatemail()
19{ 19{
20} 20}
@@ -127,17 +127,16 @@ mailimf_address_list *Generatemail::parseAddresses(const QString&addr ) {
127mailmime *Generatemail::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) { 127mailmime *Generatemail::buildFilePart(const QString&filename,const QString&mimetype,const QString&TextContent ) {
128 mailmime * filePart = 0; 128 mailmime * filePart = 0;
129 mailmime_fields * fields = 0; 129 mailmime_fields * fields = 0;
130 mailmime_content * content = 0; 130 mailmime_content * content = 0;
131 mailmime_parameter * param = 0; 131 mailmime_parameter * param = 0;
132 char*name = 0; 132 char*name = 0;
133 char*file = 0; 133 char*file = 0;
134 int err; 134 int err;
135
136 int pos = filename.findRev( '/' ); 135 int pos = filename.findRev( '/' );
137 136
138 if (filename.length()>0) { 137 if (filename.length()>0) {
139 QString tmp = filename.right( filename.length() - ( pos + 1 ) ); 138 QString tmp = filename.right( filename.length() - ( pos + 1 ) );
140 name = strdup( tmp.latin1() ); // just filename 139 name = strdup( tmp.latin1() ); // just filename
141 file = strdup( filename.latin1() ); // full name with path 140 file = strdup( filename.latin1() ); // full name with path
142 } 141 }
143 142
@@ -166,17 +165,17 @@ mailmime *Generatemail::buildFilePart(const QString&filename,const QString&mimet
166 param = 0; 165 param = 0;
167 } 166 }
168 filePart = mailmime_new_empty( content, fields ); 167 filePart = mailmime_new_empty( content, fields );
169 } 168 }
170 if (filePart) { 169 if (filePart) {
171 if (filename.length()>0) { 170 if (filename.length()>0) {
172 err = mailmime_set_body_file( filePart, file ); 171 err = mailmime_set_body_file( filePart, file );
173 } else { 172 } else {
174 err = mailmime_set_body_text(filePart,strdup(TextContent.data()),TextContent.length()); 173 err = mailmime_set_body_text(filePart,strdup( TextContent.utf8()),TextContent.utf8().length());
175 } 174 }
176 if (err != MAILIMF_NO_ERROR) { 175 if (err != MAILIMF_NO_ERROR) {
177 qDebug("Error setting body with file "); 176 qDebug("Error setting body with file ");
178 mailmime_free( filePart ); 177 mailmime_free( filePart );
179 filePart = 0; 178 filePart = 0;
180 } 179 }
181 } 180 }
182 181
@@ -222,17 +221,17 @@ void Generatemail::addFileParts( mailmime *message,const QList<Attachment>&files
222} 221}
223 222
224mailmime *Generatemail::buildTxtPart(const QString&str ) { 223mailmime *Generatemail::buildTxtPart(const QString&str ) {
225 mailmime *txtPart; 224 mailmime *txtPart;
226 mailmime_fields *fields; 225 mailmime_fields *fields;
227 mailmime_content *content; 226 mailmime_content *content;
228 mailmime_parameter *param; 227 mailmime_parameter *param;
229 int err; 228 int err;
230 229 QCString __str;
231 param = mailmime_parameter_new( strdup( "charset" ), 230 param = mailmime_parameter_new( strdup( "charset" ),
232 strdup( "iso-8859-1" ) ); 231 strdup( "iso-8859-1" ) );
233 if ( param == NULL ) 232 if ( param == NULL )
234 goto err_free; 233 goto err_free;
235 234
236 content = mailmime_content_new_with_str( "text/plain" ); 235 content = mailmime_content_new_with_str( "text/plain" );
237 if ( content == NULL ) 236 if ( content == NULL )
238 goto err_free_param; 237 goto err_free_param;
@@ -243,18 +242,20 @@ mailmime *Generatemail::buildTxtPart(const QString&str ) {
243 242
244 fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT); 243 fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT);
245 if ( fields == NULL ) 244 if ( fields == NULL )
246 goto err_free_content; 245 goto err_free_content;
247 246
248 txtPart = mailmime_new_empty( content, fields ); 247 txtPart = mailmime_new_empty( content, fields );
249 if ( txtPart == NULL ) 248 if ( txtPart == NULL )
250 goto err_free_fields; 249 goto err_free_fields;
251 250 {
252 err = mailmime_set_body_text( txtPart, (char*)str.data(), str.length() ); 251 __str = str.utf8();
252 err = mailmime_set_body_text( txtPart, __str.data(), __str.length() );
253 }
253 if ( err != MAILIMF_NO_ERROR ) 254 if ( err != MAILIMF_NO_ERROR )
254 goto err_free_txtPart; 255 goto err_free_txtPart;
255 256
256 return txtPart; // Success :) 257 return txtPart; // Success :)
257 258
258err_free_txtPart: 259err_free_txtPart:
259 mailmime_free( txtPart ); 260 mailmime_free( txtPart );
260err_free_fields: 261err_free_fields:
diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp
index ae667ec..d90a8d2 100644
--- a/kmicromail/libmailwrapper/imapwrapper.cpp
+++ b/kmicromail/libmailwrapper/imapwrapper.cpp
@@ -70,17 +70,17 @@ void IMAPwrapper::progress( QString m )
70 else mess = mProgrMess +i18n(" message %1").arg( mCurrent++); 70 else mess = mProgrMess +i18n(" message %1").arg( mCurrent++);
71 Global::statusMessage(mess); 71 Global::statusMessage(mess);
72 //qDebug("Progress %s %s", mess.latin1(), m.latin1()); 72 //qDebug("Progress %s %s", mess.latin1(), m.latin1());
73 qApp->processEvents(); 73 qApp->processEvents();
74} 74}
75bool IMAPwrapper::start_tls(bool force_tls) 75bool IMAPwrapper::start_tls(bool force_tls)
76{ 76{
77 int err; 77 int err;
78 bool try_tls; 78 bool try_tls = force_tls;
79 mailimap_capability_data * cap_data = 0; 79 mailimap_capability_data * cap_data = 0;
80 80
81 err = mailimap_capability(m_imap,&cap_data); 81 err = mailimap_capability(m_imap,&cap_data);
82 if (err != MAILIMAP_NO_ERROR) { 82 if (err != MAILIMAP_NO_ERROR) {
83 Global::statusMessage("error getting capabilities!"); 83 Global::statusMessage("error getting capabilities!");
84 return false; 84 return false;
85 } 85 }
86 clistiter * cur; 86 clistiter * cur;
@@ -473,18 +473,18 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
473 if ( item->att_data.att_static == NULL ) 473 if ( item->att_data.att_static == NULL )
474 continue; 474 continue;
475 if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_ENVELOPE) { 475 if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_ENVELOPE) {
476 mailimap_envelope * head = item->att_data.att_static->att_data.att_env; 476 mailimap_envelope * head = item->att_data.att_static->att_data.att_env;
477 if ( head == NULL ) 477 if ( head == NULL )
478 continue; 478 continue;
479 if ( head->env_date != NULL ) { 479 if ( head->env_date != NULL ) {
480 m->setDate(head->env_date); 480 m->setDate(head->env_date);
481 struct mailimf_date_time result; 481 //struct mailimf_date_time result;
482 struct mailimf_date_time* date = &result; 482 struct mailimf_date_time* date;// = &result;
483 struct mailimf_date_time **re = &date; 483 struct mailimf_date_time **re = &date;
484 size_t length = m->getDate().length(); 484 size_t length = m->getDate().length();
485 size_t index = 0; 485 size_t index = 0;
486 if ( mailimf_date_time_parse(head->env_date, length,&index, re ) == MAILIMF_NO_ERROR ) { 486 if ( mailimf_date_time_parse(head->env_date, length,&index, re ) == MAILIMF_NO_ERROR ) {
487 QDateTime dt = Genericwrapper::parseDateTime( date ); 487 QDateTime dt = Genericwrapper::parseDateTime( date );
488 QString ret; 488 QString ret;
489 if ( dt.date() == QDate::currentDate () ) 489 if ( dt.date() == QDate::currentDate () )
490 ret = KGlobal::locale()->formatTime( dt.time(),true); 490 ret = KGlobal::locale()->formatTime( dt.time(),true);
@@ -492,16 +492,17 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
492 ret = KGlobal::locale()->formatDateTime( dt,true,true); 492 ret = KGlobal::locale()->formatDateTime( dt,true,true);
493 } 493 }
494 m->setDate( ret ); 494 m->setDate( ret );
495 char tmp[20]; 495 char tmp[20];
496 snprintf( tmp, 20, "%04i-%02i-%02i %02i:%02i:%02i", 496 snprintf( tmp, 20, "%04i-%02i-%02i %02i:%02i:%02i",
497 dt.date().year(),dt.date().month(), dt.date().day(), dt.time().hour(), dt.time().minute(), dt.time().second() ); 497 dt.date().year(),dt.date().month(), dt.date().day(), dt.time().hour(), dt.time().minute(), dt.time().second() );
498 //qDebug("%d iso %s %s ", date->dt_zone, tmp, head->env_date); 498 //qDebug("%d iso %s %s ", date->dt_zone, tmp, head->env_date);
499 m->setIsoDate( QString( tmp ) ); 499 m->setIsoDate( QString( tmp ) );
500 mailimf_date_time_free ( date );
500 } else { 501 } else {
501 m->setIsoDate(head->env_date); 502 m->setIsoDate(head->env_date);
502 } 503 }
503 } 504 }
504 if ( head->env_subject != NULL ) 505 if ( head->env_subject != NULL )
505 m->setSubject(convert_String((const char*)head->env_subject)); 506 m->setSubject(convert_String((const char*)head->env_subject));
506 //m->setSubject(head->env_subject); 507 //m->setSubject(head->env_subject);
507 if (head->env_from!=NULL) { 508 if (head->env_from!=NULL) {
diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp
index 5d2c0ad..04afe7c 100644
--- a/kmicromail/libmailwrapper/settings.cpp
+++ b/kmicromail/libmailwrapper/settings.cpp
@@ -15,17 +15,18 @@
15#define POP3_PORT "110" 15#define POP3_PORT "110"
16#define POP3_SSL_PORT "995" 16#define POP3_SSL_PORT "995"
17#define NNTP_PORT "119" 17#define NNTP_PORT "119"
18#define NNTP_SSL_PORT "563" 18#define NNTP_SSL_PORT "563"
19 19
20 20
21Settings::Settings() 21Settings::Settings()
22 : QObject() 22 : QObject()
23{ 23{
24 accounts.setAutoDelete( true ); ;
24 updateAccounts(); 25 updateAccounts();
25 //qDebug("++++++++++++++++++new settings "); 26 //qDebug("++++++++++++++++++new settings ");
26} 27}
27 28
28void Settings::checkDirectory() 29void Settings::checkDirectory()
29{ 30{
30 return; 31 return;
31 locateLocal("data", "kopiemail" ); 32 locateLocal("data", "kopiemail" );
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 8d16ae7..af5376f 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -18,16 +18,17 @@
18#include "selectsmtp.h" 18#include "selectsmtp.h"
19#include "accountitem.h" 19#include "accountitem.h"
20#include "klocale.h" 20#include "klocale.h"
21 21
22#include <qmessagebox.h> 22#include <qmessagebox.h>
23#include <qtimer.h> 23#include <qtimer.h>
24#include <qcursor.h> 24#include <qcursor.h>
25#include <qregexp.h> 25#include <qregexp.h>
26#include <qpe/global.h>
26 27
27#ifdef DESKTOP_VERSION 28#ifdef DESKTOP_VERSION
28#include <qapplication.h> 29#include <qapplication.h>
29#else 30#else
30#include <qpe/qpeapplication.h> 31#include <qpe/qpeapplication.h>
31#endif 32#endif
32#include <libmailwrapper/smtpwrapper.h> 33#include <libmailwrapper/smtpwrapper.h>
33#include <libmailwrapper/mailtypes.h> 34#include <libmailwrapper/mailtypes.h>
@@ -184,16 +185,18 @@ void OpieMail::slotSendQueued()
184 smtpList.append(smtp); 185 smtpList.append(smtp);
185 } 186 }
186 } 187 }
187 if (smtpList.count()==0) 188 if (smtpList.count()==0)
188 { 189 {
189 QMessageBox::information(0,i18n("Info"),i18n("Define a smtp account first!\n")); 190 QMessageBox::information(0,i18n("Info"),i18n("Define a smtp account first!\n"));
190 return; 191 return;
191 } 192 }
193 if ( QMessageBox::warning(this, i18n("Sending all mails"), i18n("Do you really want to send\nall queued mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No )
194 return;
192 if (smtpList.count()==1) 195 if (smtpList.count()==1)
193 { 196 {
194 smtp = smtpList.at(0); 197 smtp = smtpList.at(0);
195 } 198 }
196 else 199 else
197 { 200 {
198 smtp = 0; 201 smtp = 0;
199 selectsmtp selsmtp; 202 selectsmtp selsmtp;
@@ -203,23 +206,26 @@ void OpieMail::slotSendQueued()
203#endif 206#endif
204 if ( selsmtp.exec() == QDialog::Accepted ) 207 if ( selsmtp.exec() == QDialog::Accepted )
205 { 208 {
206 smtp = selsmtp.selected_smtp(); 209 smtp = selsmtp.selected_smtp();
207 } 210 }
208 } 211 }
209 if (smtp) 212 if (smtp)
210 { 213 {
214
215 Global::statusMessage("Sending mails...!");
211 SMTPwrapper * wrap = new SMTPwrapper(smtp); 216 SMTPwrapper * wrap = new SMTPwrapper(smtp);
212 if ( wrap->flushOutbox() ) 217 if ( wrap->flushOutbox() )
213 { 218 {
214 QMessageBox::information(0,i18n("Info"),i18n("Mail queue flushed")); 219 Global::statusMessage("Mails sent!");
215 } 220 }
216 delete wrap; 221 delete wrap;
217 } 222 }
223 // pending refresh list view, if outgoing is displayed
218} 224}
219 225
220void OpieMail::slotSearchMails() 226void OpieMail::slotSearchMails()
221{ 227{
222 qDebug("OpieMail::slotSearchMails():not implemented "); 228 qDebug("OpieMail::slotSearchMails():not implemented ");
223} 229}
224 230
225void OpieMail::slotEditSettings() 231void OpieMail::slotEditSettings()
@@ -425,16 +431,17 @@ void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
425 431
426 QValueList<RecMailP>::ConstIterator it; 432 QValueList<RecMailP>::ConstIterator it;
427 for (it = list.begin(); it != list.end();++it) 433 for (it = list.begin(); it != list.end();++it)
428 { 434 {
429 item = new MailListViewItem(mailView,item); 435 item = new MailListViewItem(mailView,item);
430 item->storeData((*it)); 436 item->storeData((*it));
431 item->showEntry(); 437 item->showEntry();
432 } 438 }
439 mailView->setSorting ( 4, false );
433} 440}
434 441
435void OpieMail::mailLeftClicked( QListViewItem *item ) 442void OpieMail::mailLeftClicked( QListViewItem *item )
436{ 443{
437 mailView->clearSelection(); 444 mailView->clearSelection();
438 /* just LEFT button - or tap with stylus on pda */ 445 /* just LEFT button - or tap with stylus on pda */
439 //if (button!=1) return; 446 //if (button!=1) return;
440 if (!item) return; 447 if (!item) return;