summaryrefslogtreecommitdiffabout
path: root/kmicromail
Unidiff
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
@@ -203,13 +203,14 @@ int mailmime_encoded_phrase_parse(const char * default_fromcode,
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 }
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
@@ -6,13 +6,13 @@
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()
@@ -129,13 +129,12 @@ mailmime *Generatemail::buildFilePart(const QString&filename,const QString&mimet
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
@@ -168,13 +167,13 @@ mailmime *Generatemail::buildFilePart(const QString&filename,const QString&mimet
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 }
@@ -224,13 +223,13 @@ void Generatemail::addFileParts( mailmime *message,const QList<Attachment>&files
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" );
@@ -245,14 +244,16 @@ mailmime *Generatemail::buildTxtPart(const QString&str ) {
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:
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
@@ -72,13 +72,13 @@ void IMAPwrapper::progress( QString m )
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;
@@ -475,14 +475,14 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
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;
@@ -494,12 +494,13 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
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));
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
@@ -17,13 +17,14 @@
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{
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 8d16ae7..af5376f 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -20,12 +20,13 @@
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
@@ -186,12 +187,14 @@ void OpieMail::slotSendQueued()
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 {
@@ -205,19 +208,22 @@ void OpieMail::slotSendQueued()
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}
@@ -427,12 +433,13 @@ void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
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 */