summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/imapconfigui.ui6
-rw-r--r--kmicromail/libmailwrapper/abstractmail.cpp13
-rw-r--r--kmicromail/libmailwrapper/imapwrapper.cpp5
-rw-r--r--kmicromail/libmailwrapper/pop3wrapper.cpp12
-rw-r--r--kmicromail/mainwindow.cpp3
-rw-r--r--kmicromail/pop3configui.ui6
6 files changed, 31 insertions, 14 deletions
diff --git a/kmicromail/imapconfigui.ui b/kmicromail/imapconfigui.ui
index 2e4c9ca..d24c9ea 100644
--- a/kmicromail/imapconfigui.ui
+++ b/kmicromail/imapconfigui.ui
@@ -1,111 +1,111 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>IMAPconfigUI</class> 2<class>IMAPconfigUI</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>IMAPconfigUI</cstring> 7 <cstring>IMAPconfigUI</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>306</width> 14 <width>269</width>
15 <height>396</height> 15 <height>388</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Configure IMAP</string> 20 <string>Configure IMAP</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <vbox> 28 <vbox>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>3</number> 31 <number>3</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>1</number> 35 <number>1</number>
36 </property> 36 </property>
37 <widget> 37 <widget>
38 <class>QLayoutWidget</class> 38 <class>QLayoutWidget</class>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>name</name> 40 <name>name</name>
41 <cstring>Layout22</cstring> 41 <cstring>Layout22</cstring>
42 </property> 42 </property>
43 <hbox> 43 <hbox>
44 <property stdset="1"> 44 <property stdset="1">
45 <name>margin</name> 45 <name>margin</name>
46 <number>0</number> 46 <number>0</number>
47 </property> 47 </property>
48 <property stdset="1"> 48 <property stdset="1">
49 <name>spacing</name> 49 <name>spacing</name>
50 <number>6</number> 50 <number>6</number>
51 </property> 51 </property>
52 <widget> 52 <widget>
53 <class>QLabel</class> 53 <class>QLabel</class>
54 <property stdset="1"> 54 <property stdset="1">
55 <name>name</name> 55 <name>name</name>
56 <cstring>accountLabel</cstring> 56 <cstring>accountLabel</cstring>
57 </property> 57 </property>
58 <property stdset="1"> 58 <property stdset="1">
59 <name>text</name> 59 <name>text</name>
60 <string>Account</string> 60 <string>Account</string>
61 </property> 61 </property>
62 </widget> 62 </widget>
63 <widget> 63 <widget>
64 <class>QLineEdit</class> 64 <class>QLineEdit</class>
65 <property stdset="1"> 65 <property stdset="1">
66 <name>name</name> 66 <name>name</name>
67 <cstring>accountLine</cstring> 67 <cstring>accountLine</cstring>
68 </property> 68 </property>
69 <property> 69 <property>
70 <name>toolTip</name> 70 <name>toolTip</name>
71 <string>Name of the Account</string> 71 <string>Name of the Account</string>
72 </property> 72 </property>
73 </widget> 73 </widget>
74 </hbox> 74 </hbox>
75 </widget> 75 </widget>
76 <widget> 76 <widget>
77 <class>Line</class> 77 <class>Line</class>
78 <property stdset="1"> 78 <property stdset="1">
79 <name>name</name> 79 <name>name</name>
80 <cstring>line1</cstring> 80 <cstring>line1</cstring>
81 </property> 81 </property>
82 <property stdset="1"> 82 <property stdset="1">
83 <name>orientation</name> 83 <name>orientation</name>
84 <enum>Horizontal</enum> 84 <enum>Horizontal</enum>
85 </property> 85 </property>
86 </widget> 86 </widget>
87 <widget> 87 <widget>
88 <class>QLayoutWidget</class> 88 <class>QLayoutWidget</class>
89 <property stdset="1"> 89 <property stdset="1">
90 <name>name</name> 90 <name>name</name>
91 <cstring>Layout23</cstring> 91 <cstring>Layout23</cstring>
92 </property> 92 </property>
93 <hbox> 93 <hbox>
94 <property stdset="1"> 94 <property stdset="1">
95 <name>margin</name> 95 <name>margin</name>
96 <number>0</number> 96 <number>0</number>
97 </property> 97 </property>
98 <property stdset="1"> 98 <property stdset="1">
99 <name>spacing</name> 99 <name>spacing</name>
100 <number>6</number> 100 <number>6</number>
101 </property> 101 </property>
102 <widget> 102 <widget>
103 <class>QLabel</class> 103 <class>QLabel</class>
104 <property stdset="1"> 104 <property stdset="1">
105 <name>name</name> 105 <name>name</name>
106 <cstring>serverLabel</cstring> 106 <cstring>serverLabel</cstring>
107 </property> 107 </property>
108 <property stdset="1"> 108 <property stdset="1">
109 <name>text</name> 109 <name>text</name>
110 <string>Server</string> 110 <string>Server</string>
111 </property> 111 </property>
@@ -314,162 +314,162 @@
314 <class>QLayoutWidget</class> 314 <class>QLayoutWidget</class>
315 <property stdset="1"> 315 <property stdset="1">
316 <name>name</name> 316 <name>name</name>
317 <cstring>Layout27</cstring> 317 <cstring>Layout27</cstring>
318 </property> 318 </property>
319 <hbox> 319 <hbox>
320 <property stdset="1"> 320 <property stdset="1">
321 <name>margin</name> 321 <name>margin</name>
322 <number>0</number> 322 <number>0</number>
323 </property> 323 </property>
324 <property stdset="1"> 324 <property stdset="1">
325 <name>spacing</name> 325 <name>spacing</name>
326 <number>6</number> 326 <number>6</number>
327 </property> 327 </property>
328 <widget> 328 <widget>
329 <class>QLabel</class> 329 <class>QLabel</class>
330 <property stdset="1"> 330 <property stdset="1">
331 <name>name</name> 331 <name>name</name>
332 <cstring>prefixLabel</cstring> 332 <cstring>prefixLabel</cstring>
333 </property> 333 </property>
334 <property stdset="1"> 334 <property stdset="1">
335 <name>text</name> 335 <name>text</name>
336 <string>Prefix</string> 336 <string>Prefix</string>
337 </property> 337 </property>
338 </widget> 338 </widget>
339 <widget> 339 <widget>
340 <class>QLineEdit</class> 340 <class>QLineEdit</class>
341 <property stdset="1"> 341 <property stdset="1">
342 <name>name</name> 342 <name>name</name>
343 <cstring>prefixLine</cstring> 343 <cstring>prefixLine</cstring>
344 </property> 344 </property>
345 </widget> 345 </widget>
346 </hbox> 346 </hbox>
347 </widget> 347 </widget>
348 <widget> 348 <widget>
349 <class>QLayoutWidget</class> 349 <class>QLayoutWidget</class>
350 <property stdset="1"> 350 <property stdset="1">
351 <name>name</name> 351 <name>name</name>
352 <cstring>Layout11</cstring> 352 <cstring>Layout11</cstring>
353 </property> 353 </property>
354 <hbox> 354 <hbox>
355 <property stdset="1"> 355 <property stdset="1">
356 <name>margin</name> 356 <name>margin</name>
357 <number>0</number> 357 <number>0</number>
358 </property> 358 </property>
359 <property stdset="1"> 359 <property stdset="1">
360 <name>spacing</name> 360 <name>spacing</name>
361 <number>6</number> 361 <number>6</number>
362 </property> 362 </property>
363 <widget> 363 <widget>
364 <class>QLabel</class> 364 <class>QLabel</class>
365 <property stdset="1"> 365 <property stdset="1">
366 <name>name</name> 366 <name>name</name>
367 <cstring>TextLabel1_2</cstring> 367 <cstring>TextLabel1_2</cstring>
368 </property> 368 </property>
369 <property stdset="1"> 369 <property stdset="1">
370 <name>text</name> 370 <name>text</name>
371 <string>Local storage folder:</string> 371 <string>Local storage folder:</string>
372 </property> 372 </property>
373 </widget> 373 </widget>
374 <widget> 374 <widget>
375 <class>QLineEdit</class> 375 <class>QLineEdit</class>
376 <property stdset="1"> 376 <property stdset="1">
377 <name>name</name> 377 <name>name</name>
378 <cstring>localFolder</cstring> 378 <cstring>localFolder</cstring>
379 </property> 379 </property>
380 <property stdset="1"> 380 <property stdset="1">
381 <name>text</name> 381 <name>text</name>
382 <string></string> 382 <string></string>
383 </property> 383 </property>
384 </widget> 384 </widget>
385 </hbox> 385 </hbox>
386 </widget> 386 </widget>
387 <widget> 387 <widget>
388 <class>QLayoutWidget</class> 388 <class>QLayoutWidget</class>
389 <property stdset="1"> 389 <property stdset="1">
390 <name>name</name> 390 <name>name</name>
391 <cstring>Layout12</cstring> 391 <cstring>Layout12</cstring>
392 </property> 392 </property>
393 <hbox> 393 <hbox>
394 <property stdset="1"> 394 <property stdset="1">
395 <name>margin</name> 395 <name>margin</name>
396 <number>0</number> 396 <number>0</number>
397 </property> 397 </property>
398 <property stdset="1"> 398 <property stdset="1">
399 <name>spacing</name> 399 <name>spacing</name>
400 <number>6</number> 400 <number>6</number>
401 </property> 401 </property>
402 <widget> 402 <widget>
403 <class>QCheckBox</class> 403 <class>QCheckBox</class>
404 <property stdset="1"> 404 <property stdset="1">
405 <name>name</name> 405 <name>name</name>
406 <cstring>CheckBoxDown</cstring> 406 <cstring>CheckBoxDown</cstring>
407 </property> 407 </property>
408 <property stdset="1"> 408 <property stdset="1">
409 <name>text</name> 409 <name>text</name>
410 <string>Download only messages smaller</string> 410 <string>Get only messages smaller</string>
411 </property> 411 </property>
412 </widget> 412 </widget>
413 <widget> 413 <widget>
414 <class>QSpinBox</class> 414 <class>QSpinBox</class>
415 <property stdset="1"> 415 <property stdset="1">
416 <name>name</name> 416 <name>name</name>
417 <cstring>SpinBoxDown</cstring> 417 <cstring>SpinBoxDown</cstring>
418 </property> 418 </property>
419 <property stdset="1"> 419 <property stdset="1">
420 <name>suffix</name> 420 <name>suffix</name>
421 <string>kB</string> 421 <string>kB</string>
422 </property> 422 </property>
423 <property stdset="1"> 423 <property stdset="1">
424 <name>maxValue</name> 424 <name>maxValue</name>
425 <number>99999</number> 425 <number>99999</number>
426 </property> 426 </property>
427 <property stdset="1"> 427 <property stdset="1">
428 <name>minValue</name> 428 <name>minValue</name>
429 <number>1</number> 429 <number>1</number>
430 </property> 430 </property>
431 </widget> 431 </widget>
432 </hbox> 432 </hbox>
433 </widget> 433 </widget>
434 <widget> 434 <widget>
435 <class>QCheckBox</class> 435 <class>QCheckBox</class>
436 <property stdset="1"> 436 <property stdset="1">
437 <name>name</name> 437 <name>name</name>
438 <cstring>CheckBoxLeaveOn</cstring> 438 <cstring>CheckBoxLeaveOn</cstring>
439 </property> 439 </property>
440 <property stdset="1"> 440 <property stdset="1">
441 <name>text</name> 441 <name>text</name>
442 <string>Leave Messages on Server</string> 442 <string>Leave Messages on Server</string>
443 </property> 443 </property>
444 </widget> 444 </widget>
445 <spacer> 445 <spacer>
446 <property> 446 <property>
447 <name>name</name> 447 <name>name</name>
448 <cstring>spacer</cstring> 448 <cstring>spacer</cstring>
449 </property> 449 </property>
450 <property stdset="1"> 450 <property stdset="1">
451 <name>orientation</name> 451 <name>orientation</name>
452 <enum>Vertical</enum> 452 <enum>Vertical</enum>
453 </property> 453 </property>
454 <property stdset="1"> 454 <property stdset="1">
455 <name>sizeType</name> 455 <name>sizeType</name>
456 <enum>Expanding</enum> 456 <enum>Expanding</enum>
457 </property> 457 </property>
458 <property> 458 <property>
459 <name>sizeHint</name> 459 <name>sizeHint</name>
460 <size> 460 <size>
461 <width>20</width> 461 <width>20</width>
462 <height>20</height> 462 <height>20</height>
463 </size> 463 </size>
464 </property> 464 </property>
465 </spacer> 465 </spacer>
466 </vbox> 466 </vbox>
467</widget> 467</widget>
468<tabstops> 468<tabstops>
469 <tabstop>accountLine</tabstop> 469 <tabstop>accountLine</tabstop>
470 <tabstop>serverLine</tabstop> 470 <tabstop>serverLine</tabstop>
471 <tabstop>portLine</tabstop> 471 <tabstop>portLine</tabstop>
472 <tabstop>userLine</tabstop> 472 <tabstop>userLine</tabstop>
473 <tabstop>passLine</tabstop> 473 <tabstop>passLine</tabstop>
474</tabstops> 474</tabstops>
475</UI> 475</UI>
diff --git a/kmicromail/libmailwrapper/abstractmail.cpp b/kmicromail/libmailwrapper/abstractmail.cpp
index 44878e0..8f67566 100644
--- a/kmicromail/libmailwrapper/abstractmail.cpp
+++ b/kmicromail/libmailwrapper/abstractmail.cpp
@@ -55,218 +55,223 @@ AbstractMail* AbstractMail::getWrapper(Account*a)
55 break; 55 break;
56 default: 56 default:
57 return 0; 57 return 0;
58 } 58 }
59} 59}
60 60
61encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) 61encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc)
62{ 62{
63 // odebug << "Decode string start" << oendl; 63 // odebug << "Decode string start" << oendl;
64 char*result_text; 64 char*result_text;
65 size_t index = 0; 65 size_t index = 0;
66 /* reset for recursive use! */ 66 /* reset for recursive use! */
67 size_t target_length = 0; 67 size_t target_length = 0;
68 result_text = 0; 68 result_text = 0;
69 int mimetype = MAILMIME_MECHANISM_7BIT; 69 int mimetype = MAILMIME_MECHANISM_7BIT;
70 if (enc.lower()=="quoted-printable") { 70 if (enc.lower()=="quoted-printable") {
71 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; 71 mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE;
72 } else if (enc.lower()=="base64") { 72 } else if (enc.lower()=="base64") {
73 mimetype = MAILMIME_MECHANISM_BASE64; 73 mimetype = MAILMIME_MECHANISM_BASE64;
74 } else if (enc.lower()=="8bit") { 74 } else if (enc.lower()=="8bit") {
75 mimetype = MAILMIME_MECHANISM_8BIT; 75 mimetype = MAILMIME_MECHANISM_8BIT;
76 } else if (enc.lower()=="binary") { 76 } else if (enc.lower()=="binary") {
77 mimetype = MAILMIME_MECHANISM_BINARY; 77 mimetype = MAILMIME_MECHANISM_BINARY;
78 } 78 }
79 79
80 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, 80 int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype,
81 &result_text,&target_length); 81 &result_text,&target_length);
82 82
83 encodedString* result = new encodedString(); 83 encodedString* result = new encodedString();
84 if (err == MAILIMF_NO_ERROR) { 84 if (err == MAILIMF_NO_ERROR) {
85 result->setContent(result_text,target_length); 85 result->setContent(result_text,target_length);
86 } 86 }
87 //odebug << "Decode string finished" << oendl; 87 //odebug << "Decode string finished" << oendl;
88 return result; 88 return result;
89} 89}
90 90
91QString AbstractMail::convert_String(const char*text) 91QString AbstractMail::convert_String(const char*text)
92{ 92{
93 //size_t index = 0; 93 //size_t index = 0;
94 char*res = 0; 94 char*res = 0;
95 int err = MAILIMF_NO_ERROR; 95 int err = MAILIMF_NO_ERROR;
96 96
97 QString result(text); 97 QString result(text);
98 98
99 /* due a bug in libetpan it isn't usable this moment */ 99 /* due a bug in libetpan it isn't usable this moment */
100/* int err = mailmime_encoded_phrase_parse("iso-8859-1", 100/* int err = mailmime_encoded_phrase_parse("iso-8859-1",
101 text, strlen(text),&index, "iso-8859-1",&res);*/ 101 text, strlen(text),&index, "iso-8859-1",&res);*/
102 //odebug << "Input: " << text << "" << oendl; 102 //odebug << "Input: " << text << "" << oendl;
103 if (err == MAILIMF_NO_ERROR && res && strlen(res)) { 103 if (err == MAILIMF_NO_ERROR && res && strlen(res)) {
104// result = QString(res); 104// result = QString(res);
105// odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl; 105// odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl;
106 } 106 }
107 if (res) free(res); 107 if (res) free(res);
108 return result; 108 return result;
109} 109}
110 110
111/* cp & paste from launcher */ 111/* cp & paste from launcher */
112QString AbstractMail::gen_attachment_id() 112QString AbstractMail::gen_attachment_id()
113{ 113{
114 QFile file( "/proc/sys/kernel/random/uuid" ); 114 QFile file( "/proc/sys/kernel/random/uuid" );
115 if (!file.open(IO_ReadOnly ) ) 115 if (!file.open(IO_ReadOnly ) )
116 return QString::null; 116 return QString::null;
117 117
118 QTextStream stream(&file); 118 QTextStream stream(&file);
119 119
120 return "{" + stream.read().stripWhiteSpace() + "}"; 120 return "{" + stream.read().stripWhiteSpace() + "}";
121} 121}
122 122
123int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) 123int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool)
124{ 124{
125 return 0; 125 return 0;
126} 126}
127 127
128QString AbstractMail::defaultLocalfolder() 128QString AbstractMail::defaultLocalfolder()
129{ 129{
130 // QString f = getenv( "HOME" ); 130 // QString f = getenv( "HOME" );
131 QString f = locateLocal( "data", "kopiemail/localmail"); 131 QString f = locateLocal( "data", "kopiemail/localmail");
132 // f += "/Applications/opiemail/localmail"; 132 // f += "/Applications/opiemail/localmail";
133 return f; 133 return f;
134} 134}
135 135
136QString AbstractMail::draftFolder() 136QString AbstractMail::draftFolder()
137{ 137{
138 return QString("Drafts"); 138 return QString("Drafts");
139} 139}
140 140
141/* temporary - will be removed when implemented in all classes */ 141/* temporary - will be removed when implemented in all classes */
142void AbstractMail::deleteMails(const QString &,const QValueList<Opie::Core::OSmartPointer<RecMail> > &) 142void AbstractMail::deleteMails(const QString &,const QValueList<Opie::Core::OSmartPointer<RecMail> > &)
143{ 143{
144} 144}
145void AbstractMail::deleteMailList(const QValueList<RecMailP>&target) 145void AbstractMail::deleteMailList(const QValueList<RecMailP>&target)
146{ 146{
147 //qDebug("AbstractMail::deleteMailList:: Please reimplement! "); 147 //qDebug("AbstractMail::deleteMailList:: Please reimplement! ");
148 // this is currently re-implemented in pop3wrapper and imapwrapper 148 // this is currently re-implemented in pop3wrapper and imapwrapper
149 int iii = 0; 149 int iii = 0;
150 int count = target.count(); 150 int count = target.count();
151 QWidget wid; 151 QProgressBar wid ( count );
152 wid.setCaption( tr("Deleting ..."));
152 wid.show(); 153 wid.show();
153 while (iii < count ) { 154 while (iii < count ) {
154 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count)); 155 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count));
156 wid.setProgress( iii );
155 wid.raise(); 157 wid.raise();
156 qApp->processEvents(); 158 qApp->processEvents();
157 RecMailP mail = (*target.at( iii )); 159 RecMailP mail = (*target.at( iii ));
158 deleteMail(mail); 160 deleteMail(mail);
159 ++iii; 161 ++iii;
160 } 162 }
161} 163}
162 164
163void AbstractMail::downloadNewMails(const FolderP&fromFolder, AbstractMail*targetMail ) 165void AbstractMail::downloadNewMails(const FolderP&fromFolder, AbstractMail*targetMail )
164{ 166{
165 //qDebug("AbstractMail::downloadNewMails %s ", fromFolder->getName().latin1()); 167 //qDebug("AbstractMail::downloadNewMails %s ", fromFolder->getName().latin1());
166 // get local folder 168 // get local folder
167 Account * acc = getAccount(); 169 Account * acc = getAccount();
168 if ( !acc ) return; 170 if ( !acc ) return;
169 QString lfName = acc->getLocalFolder(); 171 QString lfName = acc->getLocalFolder();
170 if ( lfName.isEmpty() ) 172 if ( lfName.isEmpty() )
171 lfName = acc->getAccountName(); 173 lfName = acc->getAccountName();
172 // create local folder 174 // create local folder
173 if ( !targetMail->createMbox(lfName)) 175 if ( !targetMail->createMbox(lfName))
174 { 176 {
175 QMessageBox::critical(0,tr("Error creating new Folder"), 177 QMessageBox::critical(0,tr("Error creating new Folder"),
176 tr("Error while creating new folder\n%1\n\nCancelling action.").arg(lfName)); 178 tr("Error while creating new folder\n%1\n\nCancelling action.").arg(lfName));
177 return; 179 return;
178 } 180 }
179 QValueList<RecMailP> t; 181 QValueList<RecMailP> t;
180 listMessages(fromFolder->getName(),t,acc->getMaxMailSize() ); 182 listMessages(fromFolder->getName(),t,acc->getMaxMailSize() );
181 if ( t.count() == 0 ) { 183 if ( t.count() == 0 ) {
182 Global::statusMessage(tr("There are no new messages")); 184 Global::statusMessage(tr("There are no new messages"));
183 return; 185 return;
184 } 186 }
185 QValueList<RecMailP> e; 187 QValueList<RecMailP> e;
186 targetMail->listMessages(lfName,e,acc->getMaxMailSize() ); 188 targetMail->listMessages(lfName,e,acc->getMaxMailSize() );
187 //qDebug("target has mails %d ", e.count()); 189 //qDebug("target has mails %d ", e.count());
188 QValueList<RecMailP> n; 190 QValueList<RecMailP> n;
189 int iii = 0; 191 int iii = 0;
190 int count = t.count(); 192 int count = t.count();
191 while (iii < count ) { 193 while (iii < count ) {
192 RecMailP r = (*t.at( iii )); 194 RecMailP r = (*t.at( iii ));
193 bool found = false; 195 bool found = false;
194 int jjj = 0; 196 int jjj = 0;
195 int countE = e.count(); 197 int countE = e.count();
196 while (jjj < countE ) { 198 while (jjj < countE ) {
197 RecMailP re = (*e.at( jjj )); 199 RecMailP re = (*e.at( jjj ));
198 if ( re->isEqual(r) ) { 200 if ( re->isEqual(r) ) {
199 found = true; 201 found = true;
200 break; 202 break;
201 } 203 }
202 ++jjj; 204 ++jjj;
203 } 205 }
204 if ( !found ) { 206 if ( !found ) {
205 n.append( r ); 207 n.append( r );
206 } 208 }
207 ++iii; 209 ++iii;
208 } 210 }
209 if ( n.count() == 0 ) { 211 if ( n.count() == 0 ) {
210 Global::statusMessage(tr("There are no new messages")); 212 Global::statusMessage(tr("There are no new messages"));
211 return; 213 return;
212 } 214 }
213 mvcpMailList( n,lfName,targetMail,!acc->getLeaveOnServer()); 215 mvcpMailList( n,lfName,targetMail,!acc->getLeaveOnServer());
214 Global::statusMessage(tr("Downloaded %1 messages").arg(n.count())); 216 Global::statusMessage(tr("Downloaded %1 messages").arg(n.count()));
215 217
216#if 0 218#if 0
217 QValueList<RecMailP> t; 219 QValueList<RecMailP> t;
218 listMessages(fromFolder->getName(),t, maxSizeInKb); 220 listMessages(fromFolder->getName(),t, maxSizeInKb);
219 mvcpMailList( t,targetFolder,targetWrapper,moveit); 221 mvcpMailList( t,targetFolder,targetWrapper,moveit);
220#endif 222#endif
221 223
222} 224}
223void AbstractMail::mvcpAllMails(const FolderP&fromFolder, 225void AbstractMail::mvcpAllMails(const FolderP&fromFolder,
224 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb) 226 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb)
225{ 227{
226 QValueList<RecMailP> t; 228 QValueList<RecMailP> t;
227 listMessages(fromFolder->getName(),t, maxSizeInKb); 229 listMessages(fromFolder->getName(),t, maxSizeInKb);
228 mvcpMailList( t,targetFolder,targetWrapper,moveit); 230 mvcpMailList( t,targetFolder,targetWrapper,moveit);
229 231
230} 232}
231void AbstractMail::mvcpMailList(const QValueList<RecMailP>& t, 233void AbstractMail::mvcpMailList(const QValueList<RecMailP>& t,
232 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 234 const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
233{ 235{
234 encodedString*st = 0; 236 encodedString*st = 0;
235 int iii = 0; 237 int iii = 0;
236 int count = t.count(); 238 int count = t.count();
237 if ( count == 0 ) 239 if ( count == 0 )
238 return; 240 return;
239 // wel, processevents is qite strange, we need a widget for getting 241 // wel, processevents is qite strange, we need a widget for getting
240 // Global::statusMessage(tr("Copy2 message %1").arg(iii)); displayed 242 // Global::statusMessage(tr("Copy2 message %1").arg(iii)); displaye
241 QWidget wid; 243
244 QProgressBar wid ( count );
245 wid.setCaption( tr("Copying ..."));
242 wid.show(); 246 wid.show();
243 while (iii < count ) { 247 while (iii < count ) {
244 Global::statusMessage(tr("Copy message %1 of %2").arg(iii).arg(count)); 248 Global::statusMessage(tr("Copy message %1 of %2").arg(iii).arg(count));
249 wid.setProgress( iii );
245 wid.raise(); 250 wid.raise();
246 qApp->processEvents(); 251 qApp->processEvents();
247 RecMailP r = (*t.at( iii )); 252 RecMailP r = (*t.at( iii ));
248 st = fetchRawBody(r); 253 st = fetchRawBody(r);
249 if (st) { 254 if (st) {
250 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder); 255 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder);
251 delete st; 256 delete st;
252 } 257 }
253 ++iii; 258 ++iii;
254 } 259 }
255 if (moveit) { 260 if (moveit) {
256 deleteMailList( t ); 261 deleteMailList( t );
257 //deleteAllMail(fromFolder); 262 //deleteAllMail(fromFolder);
258 } 263 }
259} 264}
260 265
261void AbstractMail::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 266void AbstractMail::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
262{ 267{
263 encodedString*st = 0; 268 encodedString*st = 0;
264 st = fetchRawBody(mail); 269 st = fetchRawBody(mail);
265 if (st) { 270 if (st) {
266 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder); 271 targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder);
267 delete st; 272 delete st;
268 } 273 }
269 if (moveit) { 274 if (moveit) {
270 deleteMail(mail); 275 deleteMail(mail);
271 } 276 }
272} 277}
diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp
index 91332c3..d79df4f 100644
--- a/kmicromail/libmailwrapper/imapwrapper.cpp
+++ b/kmicromail/libmailwrapper/imapwrapper.cpp
@@ -851,196 +851,199 @@ void IMAPwrapper::fillSingleBasicPart(RecPartP&target_part,mailimap_body_type_ba
851 type = "audio"; 851 type = "audio";
852 break; 852 break;
853 case MAILIMAP_MEDIA_BASIC_IMAGE: 853 case MAILIMAP_MEDIA_BASIC_IMAGE:
854 type = "image"; 854 type = "image";
855 break; 855 break;
856 case MAILIMAP_MEDIA_BASIC_MESSAGE: 856 case MAILIMAP_MEDIA_BASIC_MESSAGE:
857 type = "message"; 857 type = "message";
858 break; 858 break;
859 case MAILIMAP_MEDIA_BASIC_VIDEO: 859 case MAILIMAP_MEDIA_BASIC_VIDEO:
860 type = "video"; 860 type = "video";
861 break; 861 break;
862 case MAILIMAP_MEDIA_BASIC_OTHER: 862 case MAILIMAP_MEDIA_BASIC_OTHER:
863 default: 863 default:
864 if (which->bd_media_basic->med_basic_type) { 864 if (which->bd_media_basic->med_basic_type) {
865 type = which->bd_media_basic->med_basic_type; 865 type = which->bd_media_basic->med_basic_type;
866 } else { 866 } else {
867 type = ""; 867 type = "";
868 } 868 }
869 break; 869 break;
870 } 870 }
871 if (which->bd_media_basic->med_subtype) { 871 if (which->bd_media_basic->med_subtype) {
872 sub = which->bd_media_basic->med_subtype; 872 sub = which->bd_media_basic->med_subtype;
873 } else { 873 } else {
874 sub = ""; 874 sub = "";
875 } 875 }
876 // odebug << "Type = " << type.latin1() << "/" << sub.latin1() << "" << oendl; 876 // odebug << "Type = " << type.latin1() << "/" << sub.latin1() << "" << oendl;
877 target_part->setType(type.lower()); 877 target_part->setType(type.lower());
878 target_part->setSubtype(sub.lower()); 878 target_part->setSubtype(sub.lower());
879 fillBodyFields(target_part,which->bd_fields); 879 fillBodyFields(target_part,which->bd_fields);
880} 880}
881 881
882void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which) 882void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which)
883{ 883{
884 if (!which) return; 884 if (!which) return;
885 if (which->bd_parameter && which->bd_parameter->pa_list && which->bd_parameter->pa_list->count>0) { 885 if (which->bd_parameter && which->bd_parameter->pa_list && which->bd_parameter->pa_list->count>0) {
886 clistcell*cur; 886 clistcell*cur;
887 mailimap_single_body_fld_param*param=0; 887 mailimap_single_body_fld_param*param=0;
888 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) { 888 for (cur = clist_begin(which->bd_parameter->pa_list);cur!=NULL;cur=clist_next(cur)) {
889 param = (mailimap_single_body_fld_param*)cur->data; 889 param = (mailimap_single_body_fld_param*)cur->data;
890 if (param) { 890 if (param) {
891 target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); 891 target_part->addParameter(QString(param->pa_name).lower(),QString(param->pa_value));
892 } 892 }
893 } 893 }
894 } 894 }
895 mailimap_body_fld_enc*enc = which->bd_encoding; 895 mailimap_body_fld_enc*enc = which->bd_encoding;
896 QString encoding(""); 896 QString encoding("");
897 switch (enc->enc_type) { 897 switch (enc->enc_type) {
898 case MAILIMAP_BODY_FLD_ENC_7BIT: 898 case MAILIMAP_BODY_FLD_ENC_7BIT:
899 encoding = "7bit"; 899 encoding = "7bit";
900 break; 900 break;
901 case MAILIMAP_BODY_FLD_ENC_8BIT: 901 case MAILIMAP_BODY_FLD_ENC_8BIT:
902 encoding = "8bit"; 902 encoding = "8bit";
903 break; 903 break;
904 case MAILIMAP_BODY_FLD_ENC_BINARY: 904 case MAILIMAP_BODY_FLD_ENC_BINARY:
905 encoding="binary"; 905 encoding="binary";
906 break; 906 break;
907 case MAILIMAP_BODY_FLD_ENC_BASE64: 907 case MAILIMAP_BODY_FLD_ENC_BASE64:
908 encoding="base64"; 908 encoding="base64";
909 break; 909 break;
910 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE: 910 case MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE:
911 encoding="quoted-printable"; 911 encoding="quoted-printable";
912 break; 912 break;
913 case MAILIMAP_BODY_FLD_ENC_OTHER: 913 case MAILIMAP_BODY_FLD_ENC_OTHER:
914 default: 914 default:
915 if (enc->enc_value) { 915 if (enc->enc_value) {
916 char*t=enc->enc_value; 916 char*t=enc->enc_value;
917 encoding=QString(enc->enc_value); 917 encoding=QString(enc->enc_value);
918 enc->enc_value=0L; 918 enc->enc_value=0L;
919 free(t); 919 free(t);
920 } 920 }
921 } 921 }
922 if (which->bd_description) { 922 if (which->bd_description) {
923 target_part->setDescription(QString(which->bd_description)); 923 target_part->setDescription(QString(which->bd_description));
924 } 924 }
925 target_part->setEncoding(encoding); 925 target_part->setEncoding(encoding);
926 target_part->setSize(which->bd_size); 926 target_part->setSize(which->bd_size);
927} 927}
928void IMAPwrapper::deleteMailList(const QValueList<RecMailP>&target) 928void IMAPwrapper::deleteMailList(const QValueList<RecMailP>&target)
929{ 929{
930 //#if 0 930 //#if 0
931 mailimap_flag_list*flist; 931 mailimap_flag_list*flist;
932 mailimap_set *set; 932 mailimap_set *set;
933 mailimap_store_att_flags * store_flags; 933 mailimap_store_att_flags * store_flags;
934 int err; 934 int err;
935 login(); 935 login();
936 //#endif 936 //#endif
937 if (!m_imap) { 937 if (!m_imap) {
938 return; 938 return;
939 } 939 }
940 int iii = 0; 940 int iii = 0;
941 int count = target.count(); 941 int count = target.count();
942 // qDebug("imap remove count %d ", count); 942 // qDebug("imap remove count %d ", count);
943 943
944 944
945 mMax = count; 945 mMax = count;
946 //progress( tr("Delete")); 946 //progress( tr("Delete"));
947 QWidget wid; 947
948 QProgressBar wid ( count );
949 wid.setCaption( tr("Deleting ..."));
948 wid.show(); 950 wid.show();
949 while (iii < count ) { 951 while (iii < count ) {
950 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count)); 952 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count));
953 wid.setProgress( iii );
951 wid.raise(); 954 wid.raise();
952 qApp->processEvents(); 955 qApp->processEvents();
953 RecMailP mail = (*target.at( iii )); 956 RecMailP mail = (*target.at( iii ));
954 //#if 0 957 //#if 0
955 //qDebug("IMAP remove %d %d ", iii, mail->getNumber() ); 958 //qDebug("IMAP remove %d %d ", iii, mail->getNumber() );
956 err = selectMbox(mail->getMbox()); 959 err = selectMbox(mail->getMbox());
957 if ( err != MAILIMAP_NO_ERROR ) { 960 if ( err != MAILIMAP_NO_ERROR ) {
958 return; 961 return;
959 } 962 }
960 flist = mailimap_flag_list_new_empty(); 963 flist = mailimap_flag_list_new_empty();
961 mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); 964 mailimap_flag_list_add(flist,mailimap_flag_new_deleted());
962 store_flags = mailimap_store_att_flags_new_set_flags(flist); 965 store_flags = mailimap_store_att_flags_new_set_flags(flist);
963 set = mailimap_set_new_single(mail->getNumber()); 966 set = mailimap_set_new_single(mail->getNumber());
964 err = mailimap_store(m_imap,set,store_flags); 967 err = mailimap_store(m_imap,set,store_flags);
965 mailimap_set_free( set ); 968 mailimap_set_free( set );
966 mailimap_store_att_flags_free(store_flags); 969 mailimap_store_att_flags_free(store_flags);
967 970
968 if (err != MAILIMAP_NO_ERROR) { 971 if (err != MAILIMAP_NO_ERROR) {
969 // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; 972 // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl;
970 return; 973 return;
971 } 974 }
972 // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; 975 // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl;
973 /* should we realy do that at this moment? */ 976 /* should we realy do that at this moment? */
974 977
975 // err = mailimap_expunge(m_imap); 978 // err = mailimap_expunge(m_imap);
976 //if (err != MAILIMAP_NO_ERROR) { 979 //if (err != MAILIMAP_NO_ERROR) {
977 // Global::statusMessage(tr("Error deleting mails: %s").arg(m_imap->imap_response)); 980 // Global::statusMessage(tr("Error deleting mails: %s").arg(m_imap->imap_response));
978 // } 981 // }
979 //#endif 982 //#endif
980 //deleteMail( mail); 983 //deleteMail( mail);
981 ++iii; 984 ++iii;
982 } 985 }
983 //qDebug("Deleting imap mails... "); 986 //qDebug("Deleting imap mails... ");
984 err = mailimap_expunge(m_imap); 987 err = mailimap_expunge(m_imap);
985 if (err != MAILIMAP_NO_ERROR) { 988 if (err != MAILIMAP_NO_ERROR) {
986 Global::statusMessage(tr("Error deleting mails: %s").arg(m_imap->imap_response)); 989 Global::statusMessage(tr("Error deleting mails: %s").arg(m_imap->imap_response));
987 } 990 }
988} 991}
989void IMAPwrapper::deleteMail(const RecMailP&mail) 992void IMAPwrapper::deleteMail(const RecMailP&mail)
990{ 993{
991 mailimap_flag_list*flist; 994 mailimap_flag_list*flist;
992 mailimap_set *set; 995 mailimap_set *set;
993 mailimap_store_att_flags * store_flags; 996 mailimap_store_att_flags * store_flags;
994 int err; 997 int err;
995 login(); 998 login();
996 if (!m_imap) { 999 if (!m_imap) {
997 return; 1000 return;
998 } 1001 }
999 err = selectMbox(mail->getMbox()); 1002 err = selectMbox(mail->getMbox());
1000 if ( err != MAILIMAP_NO_ERROR ) { 1003 if ( err != MAILIMAP_NO_ERROR ) {
1001 return; 1004 return;
1002 } 1005 }
1003 flist = mailimap_flag_list_new_empty(); 1006 flist = mailimap_flag_list_new_empty();
1004 mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); 1007 mailimap_flag_list_add(flist,mailimap_flag_new_deleted());
1005 store_flags = mailimap_store_att_flags_new_set_flags(flist); 1008 store_flags = mailimap_store_att_flags_new_set_flags(flist);
1006 set = mailimap_set_new_single(mail->getNumber()); 1009 set = mailimap_set_new_single(mail->getNumber());
1007 err = mailimap_store(m_imap,set,store_flags); 1010 err = mailimap_store(m_imap,set,store_flags);
1008 mailimap_set_free( set ); 1011 mailimap_set_free( set );
1009 mailimap_store_att_flags_free(store_flags); 1012 mailimap_store_att_flags_free(store_flags);
1010 1013
1011 if (err != MAILIMAP_NO_ERROR) { 1014 if (err != MAILIMAP_NO_ERROR) {
1012 // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; 1015 // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl;
1013 return; 1016 return;
1014 } 1017 }
1015 // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; 1018 // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl;
1016 /* should we realy do that at this moment? */ 1019 /* should we realy do that at this moment? */
1017 1020
1018 err = mailimap_expunge(m_imap); 1021 err = mailimap_expunge(m_imap);
1019 if (err != MAILIMAP_NO_ERROR) { 1022 if (err != MAILIMAP_NO_ERROR) {
1020 Global::statusMessage(tr("error deleting mail: %s").arg(m_imap->imap_response)); 1023 Global::statusMessage(tr("error deleting mail: %s").arg(m_imap->imap_response));
1021 } 1024 }
1022 //qDebug("IMAPwrapper::deleteMail 2"); 1025 //qDebug("IMAPwrapper::deleteMail 2");
1023 1026
1024} 1027}
1025 1028
1026void IMAPwrapper::answeredMail(const RecMailP&mail) 1029void IMAPwrapper::answeredMail(const RecMailP&mail)
1027{ 1030{
1028 mailimap_flag_list*flist; 1031 mailimap_flag_list*flist;
1029 mailimap_set *set; 1032 mailimap_set *set;
1030 mailimap_store_att_flags * store_flags; 1033 mailimap_store_att_flags * store_flags;
1031 int err; 1034 int err;
1032 login(); 1035 login();
1033 if (!m_imap) { 1036 if (!m_imap) {
1034 return; 1037 return;
1035 } 1038 }
1036 err = selectMbox(mail->getMbox()); 1039 err = selectMbox(mail->getMbox());
1037 if ( err != MAILIMAP_NO_ERROR ) { 1040 if ( err != MAILIMAP_NO_ERROR ) {
1038 return; 1041 return;
1039 } 1042 }
1040 flist = mailimap_flag_list_new_empty(); 1043 flist = mailimap_flag_list_new_empty();
1041 mailimap_flag_list_add(flist,mailimap_flag_new_answered()); 1044 mailimap_flag_list_add(flist,mailimap_flag_new_answered());
1042 store_flags = mailimap_store_att_flags_new_add_flags(flist); 1045 store_flags = mailimap_store_att_flags_new_add_flags(flist);
1043 set = mailimap_set_new_single(mail->getNumber()); 1046 set = mailimap_set_new_single(mail->getNumber());
1044 err = mailimap_store(m_imap,set,store_flags); 1047 err = mailimap_store(m_imap,set,store_flags);
1045 mailimap_set_free( set ); 1048 mailimap_set_free( set );
1046 mailimap_store_att_flags_free(store_flags); 1049 mailimap_store_att_flags_free(store_flags);
diff --git a/kmicromail/libmailwrapper/pop3wrapper.cpp b/kmicromail/libmailwrapper/pop3wrapper.cpp
index 1edec9e..9d52f52 100644
--- a/kmicromail/libmailwrapper/pop3wrapper.cpp
+++ b/kmicromail/libmailwrapper/pop3wrapper.cpp
@@ -107,188 +107,196 @@ void POP3wrapper::listMessages(const QString &, QValueList<Opie::Core::OSmartPoi
107 uint32_t res_messages,res_recent,res_unseen; 107 uint32_t res_messages,res_recent,res_unseen;
108 mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen); 108 mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen);
109 parseList(target,m_pop3->sto_session,"INBOX", false, maxSizeInKb); 109 parseList(target,m_pop3->sto_session,"INBOX", false, maxSizeInKb);
110 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages)); 110 Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages));
111} 111}
112 112
113void POP3wrapper::login() 113void POP3wrapper::login()
114{ 114{
115 if (account->getOffline()) 115 if (account->getOffline())
116 return; 116 return;
117 /* we'll hold the line */ 117 /* we'll hold the line */
118 if ( m_pop3 != NULL ) 118 if ( m_pop3 != NULL )
119 return; 119 return;
120 120
121 QString server,user, pass; 121 QString server,user, pass;
122 uint16_t port; 122 uint16_t port;
123 int err = MAILPOP3_NO_ERROR; 123 int err = MAILPOP3_NO_ERROR;
124 124
125 server = account->getServer(); 125 server = account->getServer();
126 port = account->getPort().toUInt(); 126 port = account->getPort().toUInt();
127 127
128 if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) { 128 if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) {
129 qApp->processEvents(); 129 qApp->processEvents();
130 LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true ); 130 LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true );
131 login.show(); 131 login.show();
132 if ( QDialog::Accepted == login.exec() ) { 132 if ( QDialog::Accepted == login.exec() ) {
133 // ok 133 // ok
134 user = login.getUser(); 134 user = login.getUser();
135 pass = login.getPassword(); 135 pass = login.getPassword();
136 } else { 136 } else {
137 // cancel 137 // cancel
138 ; // odebug << "POP3: Login canceled" << oendl; 138 ; // odebug << "POP3: Login canceled" << oendl;
139 return; 139 return;
140 } 140 }
141 } else { 141 } else {
142 user = account->getUser(); 142 user = account->getUser();
143 pass = account->getPassword(); 143 pass = account->getPassword();
144 } 144 }
145 // bool ssl = account->getSSL(); 145 // bool ssl = account->getSSL();
146 146
147 m_pop3=mailstorage_new(NULL); 147 m_pop3=mailstorage_new(NULL);
148 int conntypeset = account->ConnectionType(); 148 int conntypeset = account->ConnectionType();
149 int conntype = 0; 149 int conntype = 0;
150 if ( conntypeset == 3 ) { 150 if ( conntypeset == 3 ) {
151 conntype = CONNECTION_TYPE_COMMAND; 151 conntype = CONNECTION_TYPE_COMMAND;
152 } else if ( conntypeset == 2 ) { 152 } else if ( conntypeset == 2 ) {
153 conntype = CONNECTION_TYPE_TLS; 153 conntype = CONNECTION_TYPE_TLS;
154 } else if ( conntypeset == 1 ) { 154 } else if ( conntypeset == 1 ) {
155 conntype = CONNECTION_TYPE_STARTTLS; 155 conntype = CONNECTION_TYPE_STARTTLS;
156 } else if ( conntypeset == 0 ) { 156 } else if ( conntypeset == 0 ) {
157 conntype = CONNECTION_TYPE_TRY_STARTTLS; 157 conntype = CONNECTION_TYPE_TRY_STARTTLS;
158 } 158 }
159 159
160 //(ssl?CONNECTION_TYPE_TLS:CONNECTION_TYPE_PLAIN); 160 //(ssl?CONNECTION_TYPE_TLS:CONNECTION_TYPE_PLAIN);
161 161
162 pop3_mailstorage_init(m_pop3,(char*)server.latin1(), port, NULL, conntype, POP3_AUTH_TYPE_PLAIN, 162 pop3_mailstorage_init(m_pop3,(char*)server.latin1(), port, NULL, conntype, POP3_AUTH_TYPE_PLAIN,
163 (char*)user.latin1(),(char*)pass.latin1(),0,0,0); 163 (char*)user.latin1(),(char*)pass.latin1(),0,0,0);
164 164
165 err = mailstorage_connect(m_pop3); 165 err = mailstorage_connect(m_pop3);
166 if (err != MAIL_NO_ERROR) { 166 if (err != MAIL_NO_ERROR) {
167 ; // odebug << QString( "FEHLERNUMMER %1" ).arg( err ) << oendl; 167 ; // odebug << QString( "FEHLERNUMMER %1" ).arg( err ) << oendl;
168 Global::statusMessage(tr("Error %1 initializing folder").arg( err )); 168 Global::statusMessage(tr("Error %1 initializing folder").arg( err ));
169 mailstorage_free(m_pop3); 169 mailstorage_free(m_pop3);
170 m_pop3 = 0; 170 m_pop3 = 0;
171 } else { 171 } else {
172 mailsession * session = m_pop3->sto_session; 172 mailsession * session = m_pop3->sto_session;
173 mailpop3 * mail = ( ( pop3_session_state_data * )session->sess_data )->pop3_session; 173 mailpop3 * mail = ( ( pop3_session_state_data * )session->sess_data )->pop3_session;
174 if (mail) { 174 if (mail) {
175 mail->pop3_progr_fun = &pop3_progress; 175 mail->pop3_progr_fun = &pop3_progress;
176 } 176 }
177 } 177 }
178} 178}
179 179
180void POP3wrapper::logout() 180void POP3wrapper::logout()
181{ 181{
182 if ( m_pop3 == NULL ) 182 if ( m_pop3 == NULL )
183 return; 183 return;
184 mailstorage_free(m_pop3); 184 mailstorage_free(m_pop3);
185 m_pop3 = 0; 185 m_pop3 = 0;
186} 186}
187 187
188 188
189QValueList<Opie::Core::OSmartPointer<Folder> >* POP3wrapper::listFolders() { 189QValueList<Opie::Core::OSmartPointer<Folder> >* POP3wrapper::listFolders() {
190 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<FolderP>(); 190 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<FolderP>();
191 FolderP inb=new Folder("INBOX","/"); 191 FolderP inb=new Folder("INBOX","/");
192 folders->append(inb); 192 folders->append(inb);
193 return folders; 193 return folders;
194} 194}
195 195
196void POP3wrapper::deleteMailList(const QValueList<RecMailP>&target) 196void POP3wrapper::deleteMailList(const QValueList<RecMailP>&target)
197{ 197{
198 login(); 198 login();
199 if (!m_pop3) 199 if (!m_pop3)
200 return; 200 return;
201 int iii = 0; 201 int iii = 0;
202 int count = target.count(); 202 int count = target.count();
203 QWidget wid; 203
204 QProgressBar wid ( count );
205 wid.setCaption( tr("Deleting ..."));
204 wid.show(); 206 wid.show();
205 while (iii < count ) { 207 while (iii < count ) {
206 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count)); 208 Global::statusMessage(tr("Delete message %1 of %2").arg(iii).arg(count));
209 wid.setProgress( iii );
207 wid.raise(); 210 wid.raise();
208 qApp->processEvents(); 211 qApp->processEvents();
209 //qDebug("delete "); 212 //qDebug("delete ");
210 RecMailP mail = (*target.at( iii )); 213 RecMailP mail = (*target.at( iii ));
211 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber()); 214 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber());
212 if (err != MAIL_NO_ERROR) { 215 if (err != MAIL_NO_ERROR) {
213 Global::statusMessage(tr("Error deleting mail")); 216 Global::statusMessage(tr("Error deleting mail"));
214 } 217 }
215 ++iii; 218 ++iii;
216 } 219 }
217} 220}
218void POP3wrapper::deleteMail(const RecMailP&mail) { 221void POP3wrapper::deleteMail(const RecMailP&mail) {
219 login(); 222 login();
220 if (!m_pop3) 223 if (!m_pop3)
221 return; 224 return;
222 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber()); 225 int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber());
223 if (err != MAIL_NO_ERROR) { 226 if (err != MAIL_NO_ERROR) {
224 Global::statusMessage(tr("error deleting mail")); 227 Global::statusMessage(tr("error deleting mail"));
225 } 228 }
226} 229}
227 230
228void POP3wrapper::answeredMail(const RecMailP&) {} 231void POP3wrapper::answeredMail(const RecMailP&) {}
229 232
230int POP3wrapper::deleteAllMail(const FolderP&) { 233int POP3wrapper::deleteAllMail(const FolderP&) {
231 login(); 234 login();
232 if (!m_pop3) 235 if (!m_pop3)
233 return 0; 236 return 0;
234 int res = 1; 237 int res = 1;
235 238
236 uint32_t result = 0; 239 uint32_t result = 0;
237 int err = mailsession_messages_number(m_pop3->sto_session,NULL,&result); 240 int err = mailsession_messages_number(m_pop3->sto_session,NULL,&result);
238 if (err != MAIL_NO_ERROR) { 241 if (err != MAIL_NO_ERROR) {
239 Global::statusMessage(tr("Error getting folder info")); 242 Global::statusMessage(tr("Error getting folder info"));
240 return 0; 243 return 0;
241 } 244 }
242 QWidget wid; 245
246
247
248 QProgressBar wid ( result );
249 wid.setCaption( tr("Deleting ..."));
243 wid.show(); 250 wid.show();
244 for (unsigned int i = 0; i < result; ++i) { 251 for (unsigned int i = 0; i < result; ++i) {
245 Global::statusMessage(tr("Delete message %1 of %2").arg(i).arg(result)); 252 Global::statusMessage(tr("Delete message %1 of %2").arg(i).arg(result));
253 wid.setProgress( i );
246 wid.raise(); 254 wid.raise();
247 qApp->processEvents(); 255 qApp->processEvents();
248 256
249 err = mailsession_remove_message(m_pop3->sto_session,i+1); 257 err = mailsession_remove_message(m_pop3->sto_session,i+1);
250 if (err != MAIL_NO_ERROR) { 258 if (err != MAIL_NO_ERROR) {
251 Global::statusMessage(tr("Error deleting mail %1").arg(i+1)); 259 Global::statusMessage(tr("Error deleting mail %1").arg(i+1));
252 res=0; 260 res=0;
253 } 261 }
254 break; 262 break;
255 } 263 }
256 return res; 264 return res;
257} 265}
258 266
259void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) { 267void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) {
260 login(); 268 login();
261 target_stat.message_count = 0; 269 target_stat.message_count = 0;
262 target_stat.message_unseen = 0; 270 target_stat.message_unseen = 0;
263 target_stat.message_recent = 0; 271 target_stat.message_recent = 0;
264 if (!m_pop3) 272 if (!m_pop3)
265 return; 273 return;
266 int r = mailsession_status_folder(m_pop3->sto_session,0,&target_stat.message_count, 274 int r = mailsession_status_folder(m_pop3->sto_session,0,&target_stat.message_count,
267 &target_stat.message_recent,&target_stat.message_unseen); 275 &target_stat.message_recent,&target_stat.message_unseen);
268 if (r != MAIL_NO_ERROR) { 276 if (r != MAIL_NO_ERROR) {
269 ; // odebug << "error getting folter status." << oendl; 277 ; // odebug << "error getting folter status." << oendl;
270 } 278 }
271} 279}
272 280
273encodedString* POP3wrapper::fetchRawBody(const RecMailP&mail) { 281encodedString* POP3wrapper::fetchRawBody(const RecMailP&mail) {
274 char*target=0; 282 char*target=0;
275 size_t length=0; 283 size_t length=0;
276 encodedString*res = 0; 284 encodedString*res = 0;
277 mailmessage * mailmsg = 0; 285 mailmessage * mailmsg = 0;
278 int err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg); 286 int err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg);
279 err = mailmessage_fetch(mailmsg,&target,&length); 287 err = mailmessage_fetch(mailmsg,&target,&length);
280 if (mailmsg) 288 if (mailmsg)
281 mailmessage_free(mailmsg); 289 mailmessage_free(mailmsg);
282 if (target) { 290 if (target) {
283 res = new encodedString(target,length); 291 res = new encodedString(target,length);
284 } 292 }
285 return res; 293 return res;
286} 294}
287 295
288MAILLIB::ATYPE POP3wrapper::getType()const { 296MAILLIB::ATYPE POP3wrapper::getType()const {
289 return account->getType(); 297 return account->getType();
290} 298}
291 299
292const QString&POP3wrapper::getName()const{ 300const QString&POP3wrapper::getName()const{
293 return account->getAccountName(); 301 return account->getAccountName();
294} 302}
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 5f777a3..d130317 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -63,193 +63,194 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
63 0, 0, this, 0, true ); 63 0, 0, this, 0, true );
64 showFolders->addTo( toolBar ); 64 showFolders->addTo( toolBar );
65 showFolders->addTo( mailMenu ); 65 showFolders->addTo( mailMenu );
66 showFolders->setOn( true ); 66 showFolders->setOn( true );
67 connect(showFolders, SIGNAL( toggled(bool) ), 67 connect(showFolders, SIGNAL( toggled(bool) ),
68 SLOT( slotShowFolders(bool) ) ); 68 SLOT( slotShowFolders(bool) ) );
69 69
70 /* 70 /*
71 searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ), 71 searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ),
72 0, 0, this ); 72 0, 0, this );
73 searchMails->addTo( toolBar ); 73 searchMails->addTo( toolBar );
74 searchMails->addTo( mailMenu ); 74 searchMails->addTo( mailMenu );
75 */ 75 */
76 76
77 deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this); 77 deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this);
78 deleteMails->addTo( toolBar ); 78 deleteMails->addTo( toolBar );
79 deleteMails->addTo( mailMenu ); 79 deleteMails->addTo( mailMenu );
80 connect( deleteMails, SIGNAL( activated() ), 80 connect( deleteMails, SIGNAL( activated() ),
81 SLOT( slotDeleteMail() ) ); 81 SLOT( slotDeleteMail() ) );
82 82
83 editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") , 83 editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") ,
84 0, 0, this ); 84 0, 0, this );
85 editSettings->addTo( settingsMenu ); 85 editSettings->addTo( settingsMenu );
86 connect( editSettings, SIGNAL( activated() ), 86 connect( editSettings, SIGNAL( activated() ),
87 SLOT( slotEditSettings() ) ); 87 SLOT( slotEditSettings() ) );
88 editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") , 88 editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") ,
89 0, 0, this ); 89 0, 0, this );
90 editAccounts->addTo( settingsMenu ); 90 editAccounts->addTo( settingsMenu );
91 91
92 //setCentralWidget( view ); 92 //setCentralWidget( view );
93 93
94 QVBox* wrapperBox = new QVBox( this ); 94 QVBox* wrapperBox = new QVBox( this );
95 setCentralWidget( wrapperBox ); 95 setCentralWidget( wrapperBox );
96 96
97 // QWidget *view = new QWidget( wrapperBox ); 97 // QWidget *view = new QWidget( wrapperBox );
98 KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); 98 KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox);
99 split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); 99 split->setMinimizeDirection( KDGanttMinimizeSplitter::Left);
100 //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); 100 //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight );
101 101
102 folderView = new AccountView( split ); 102 folderView = new AccountView( split );
103 folderView->header()->hide(); 103 folderView->header()->hide();
104 folderView->setRootIsDecorated( false ); 104 folderView->setRootIsDecorated( false );
105 folderView->addColumn( tr( "Mailbox" ) ); 105 folderView->addColumn( tr( "Mailbox" ) );
106 106
107 //layout->addWidget( folderView ); 107 //layout->addWidget( folderView );
108 108
109 mailView = new QListView( split ); 109 mailView = new QListView( split );
110 mailView->addColumn( tr( " " ) ); 110 mailView->addColumn( tr( " " ) );
111 mailView->addColumn( tr( "Subject" ),QListView::Manual ); 111 mailView->addColumn( tr( "Subject" ),QListView::Manual );
112 mailView->addColumn( tr( "Sender" ),QListView::Manual ); 112 mailView->addColumn( tr( "Sender" ),QListView::Manual );
113 mailView->addColumn( tr( "Size" ),QListView::Manual); 113 mailView->addColumn( tr( "Size" ),QListView::Manual);
114 mailView->addColumn( tr( "Date" ),QListView::Manual); 114 mailView->addColumn( tr( "Date" ),QListView::Manual);
115 mailView->setAllColumnsShowFocus(true); 115 mailView->setAllColumnsShowFocus(true);
116 //mailView->setSorting(-1); 116 //mailView->setSorting(-1);
117 mailView->setRootIsDecorated( false ); 117 mailView->setRootIsDecorated( false );
118 statusWidget = new StatusWidget( wrapperBox ); 118 statusWidget = new StatusWidget( wrapperBox );
119 statusWidget->hide(); 119 statusWidget->hide();
120 120
121 //layout->addWidget( mailView ); 121 //layout->addWidget( mailView );
122 //layout->setStretchFactor( folderView, 1 ); 122 //layout->setStretchFactor( folderView, 1 );
123 //layout->setStretchFactor( mailView, 2 ); 123 //layout->setStretchFactor( mailView, 2 );
124 124
125 slotAdjustLayout(); 125 slotAdjustLayout();
126#ifndef DESKTOP_VERSION 126#ifndef DESKTOP_VERSION
127 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); 127 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold);
128 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); 128 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold);
129#endif 129#endif
130 connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, 130 connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this,
131 SLOT( mailLeftClicked(QListViewItem*) ) ); 131 SLOT( mailLeftClicked(QListViewItem*) ) );
132 connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, 132 connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this,
133 SLOT( mailLeftClicked(QListViewItem*) ) ); 133 SLOT( mailLeftClicked(QListViewItem*) ) );
134 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, 134 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this,
135 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); 135 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) );
136 connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), 136 connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)),
137 this,SLOT(refreshMailView(const QValueList<RecMailP>&))); 137 this,SLOT(refreshMailView(const QValueList<RecMailP>&)));
138 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); 138 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
139 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); 139 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
140// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); 140// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
141 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); 141 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
142 //mailView->setMultiSelection ( true ); 142 //mailView->setMultiSelection ( true );
143 mailView->setSelectionMode( QListView::Extended ); 143 mailView->setSelectionMode( QListView::Extended );
144 QValueList<int> list; 144 QValueList<int> list;
145 int fw = 100; 145 int fw = 100;
146 if ( QApplication::desktop()->width() > 320 ) 146 if ( QApplication::desktop()->width() > 320 )
147 fw = 50; 147 fw = 50;
148 list.append( fw ); 148 list.append( fw );
149 list.append( 100 ); 149 list.append( 100 );
150 split->setSizes( list ); 150 split->setSizes( list );
151 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); 151 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
152 mailView->setShowSortIndicator ( true ); 152 mailView->setShowSortIndicator ( true );
153 QLabel *spacer = new QLabel( toolBar ); 153 QLabel *spacer = new QLabel( toolBar );
154 spacer->setBackgroundMode( QWidget::PaletteButton ); 154 spacer->setBackgroundMode( QWidget::PaletteButton );
155 toolBar->setStretchableWidget( spacer ); 155 toolBar->setStretchableWidget( spacer );
156 156
157 QAction* closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this); 157 QAction* closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this);
158 connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); 158 connect( closeMail, SIGNAL( activated() ), SLOT( close() ) );
159 closeMail->addTo(toolBar); 159 if ( QApplication::desktop()->width() > 320 )
160 closeMail->addTo(toolBar);
160 closeMail->addTo(mailMenu); 161 closeMail->addTo(mailMenu);
161 162
162 163
163 QPopupMenu* helpMenu = new QPopupMenu( menuBar ); 164 QPopupMenu* helpMenu = new QPopupMenu( menuBar );
164 menuBar->insertItem( tr( "Help" ), helpMenu ); 165 menuBar->insertItem( tr( "Help" ), helpMenu );
165 QAction* li = new QAction(tr("About"), QPixmap(), 0, 0, this); 166 QAction* li = new QAction(tr("About"), QPixmap(), 0, 0, this);
166 connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); 167 connect( li, SIGNAL( activated() ), SLOT( showAbout()) );
167 li->addTo(helpMenu); 168 li->addTo(helpMenu);
168 li = new QAction(tr("Licence"),QPixmap(), 0, 0, this); 169 li = new QAction(tr("Licence"),QPixmap(), 0, 0, this);
169 connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); 170 connect( li, SIGNAL( activated() ), SLOT( showLicence()) );
170 li->addTo(helpMenu); 171 li->addTo(helpMenu);
171 li = new QAction(tr("LibEtPan Licence"), QPixmap(), 0, 0, this); 172 li = new QAction(tr("LibEtPan Licence"), QPixmap(), 0, 0, this);
172 connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); 173 connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) );
173 li->addTo(helpMenu); 174 li->addTo(helpMenu);
174} 175}
175 176
176MainWindow::~MainWindow() 177MainWindow::~MainWindow()
177{ 178{
178} 179}
179 180
180void MainWindow::showLicence() 181void MainWindow::showLicence()
181{ 182{
182 KApplication::showLicence(); 183 KApplication::showLicence();
183} 184}
184void MainWindow::showAbout() 185void MainWindow::showAbout()
185{ 186{
186 QString version; 187 QString version;
187#include <../version> 188#include <../version>
188 189
189 QString cap = "About KOpieMail/Pi"; 190 QString cap = "About KOpieMail/Pi";
190 QString text =i18n("KOpieMail/Platform-independent\n") + 191 QString text =i18n("KOpieMail/Platform-independent\n") +
191 "(OM/Pi) " + version + " - " 192 "(OM/Pi) " + version + " - "
192 193
193#ifdef DESKTOP_VERSION 194#ifdef DESKTOP_VERSION
194 "Desktop Edition\n" 195 "Desktop Edition\n"
195#else 196#else
196 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" 197 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n"
197#endif 198#endif
198 "www.pi-sync.net\n\n" 199 "www.pi-sync.net\n\n"
199 200
200 201
201 202
202"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" 203"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n"
203 "KOpieMail/Pi is based on Opie Mail\n" 204 "KOpieMail/Pi is based on Opie Mail\n"
204 "Copyright (c) Rajko Albrecht and the Opie team\n" 205 "Copyright (c) Rajko Albrecht and the Opie team\n"
205 "KOpieMail/Pi is licensed under the GPL\n" 206 "KOpieMail/Pi is licensed under the GPL\n"
206 "\n" 207 "\n"
207 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" 208 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n"
208 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" 209 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n"
209 "libEtPan has its own licence - see LibEtPan licence\n"; 210 "libEtPan has its own licence - see LibEtPan licence\n";
210 211
211 KApplication::showText( cap, text ); 212 KApplication::showText( cap, text );
212} 213}
213void MainWindow::showEtpanLicence() 214void MainWindow::showEtpanLicence()
214{ 215{
215 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); 216 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" );
216 217
217} 218}
218void MainWindow::appMessage(const QCString &, const QByteArray &) 219void MainWindow::appMessage(const QCString &, const QByteArray &)
219{ 220{
220 qDebug("appMessage implemented by subclass"); 221 qDebug("appMessage implemented by subclass");
221} 222}
222 223
223void MainWindow::slotAdjustLayout() { 224void MainWindow::slotAdjustLayout() {
224 225
225 /* 226 /*
226 QWidget *d = QApplication::desktop(); 227 QWidget *d = QApplication::desktop();
227 228
228 if ( d->width() < d->height() ) { 229 if ( d->width() < d->height() ) {
229 layout->setDirection( QBoxLayout::TopToBottom ); 230 layout->setDirection( QBoxLayout::TopToBottom );
230 } else { 231 } else {
231 layout->setDirection( QBoxLayout::LeftToRight ); 232 layout->setDirection( QBoxLayout::LeftToRight );
232 } 233 }
233 */ 234 */
234} 235}
235 236
236void MainWindow::slotAdjustColumns() 237void MainWindow::slotAdjustColumns()
237{ 238{
238 bool hidden = folderView->isHidden(); 239 bool hidden = folderView->isHidden();
239 if ( hidden ) folderView->show(); 240 if ( hidden ) folderView->show();
240 folderView->setColumnWidth( 0, folderView->visibleWidth() ); 241 folderView->setColumnWidth( 0, folderView->visibleWidth() );
241 if ( hidden ) folderView->hide(); 242 if ( hidden ) folderView->hide();
242 243
243 mailView->setColumnWidth( 0, 10 ); 244 mailView->setColumnWidth( 0, 10 );
244 mailView->setColumnWidth( 1, 100 ); 245 mailView->setColumnWidth( 1, 100 );
245 mailView->setColumnWidth( 2, 100 ); 246 mailView->setColumnWidth( 2, 100 );
246 mailView->setColumnWidth( 3, 50 ); 247 mailView->setColumnWidth( 3, 50 );
247 mailView->setColumnWidth( 4, 120 ); 248 mailView->setColumnWidth( 4, 120 );
248} 249}
249 250
250void MainWindow::slotEditSettings() 251void MainWindow::slotEditSettings()
251{ 252{
252} 253}
253 254
254void MainWindow::slotShowFolders( bool ) 255void MainWindow::slotShowFolders( bool )
255{ 256{
diff --git a/kmicromail/pop3configui.ui b/kmicromail/pop3configui.ui
index 6acd394..f1dda7a 100644
--- a/kmicromail/pop3configui.ui
+++ b/kmicromail/pop3configui.ui
@@ -1,111 +1,111 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>POP3configUI</class> 2<class>POP3configUI</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>POP3configUI</cstring> 7 <cstring>POP3configUI</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>306</width> 14 <width>269</width>
15 <height>371</height> 15 <height>358</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Configure POP3</string> 20 <string>Configure POP3</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <vbox> 28 <vbox>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>3</number> 31 <number>3</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>1</number> 35 <number>1</number>
36 </property> 36 </property>
37 <widget> 37 <widget>
38 <class>QLayoutWidget</class> 38 <class>QLayoutWidget</class>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>name</name> 40 <name>name</name>
41 <cstring>Layout12</cstring> 41 <cstring>Layout12</cstring>
42 </property> 42 </property>
43 <hbox> 43 <hbox>
44 <property stdset="1"> 44 <property stdset="1">
45 <name>margin</name> 45 <name>margin</name>
46 <number>0</number> 46 <number>0</number>
47 </property> 47 </property>
48 <property stdset="1"> 48 <property stdset="1">
49 <name>spacing</name> 49 <name>spacing</name>
50 <number>6</number> 50 <number>6</number>
51 </property> 51 </property>
52 <widget> 52 <widget>
53 <class>QLabel</class> 53 <class>QLabel</class>
54 <property stdset="1"> 54 <property stdset="1">
55 <name>name</name> 55 <name>name</name>
56 <cstring>accountLabel</cstring> 56 <cstring>accountLabel</cstring>
57 </property> 57 </property>
58 <property stdset="1"> 58 <property stdset="1">
59 <name>text</name> 59 <name>text</name>
60 <string>Account</string> 60 <string>Account</string>
61 </property> 61 </property>
62 </widget> 62 </widget>
63 <widget> 63 <widget>
64 <class>QLineEdit</class> 64 <class>QLineEdit</class>
65 <property stdset="1"> 65 <property stdset="1">
66 <name>name</name> 66 <name>name</name>
67 <cstring>accountLine</cstring> 67 <cstring>accountLine</cstring>
68 </property> 68 </property>
69 <property> 69 <property>
70 <name>toolTip</name> 70 <name>toolTip</name>
71 <string>Name of the Account</string> 71 <string>Name of the Account</string>
72 </property> 72 </property>
73 </widget> 73 </widget>
74 </hbox> 74 </hbox>
75 </widget> 75 </widget>
76 <widget> 76 <widget>
77 <class>Line</class> 77 <class>Line</class>
78 <property stdset="1"> 78 <property stdset="1">
79 <name>name</name> 79 <name>name</name>
80 <cstring>line1</cstring> 80 <cstring>line1</cstring>
81 </property> 81 </property>
82 <property stdset="1"> 82 <property stdset="1">
83 <name>orientation</name> 83 <name>orientation</name>
84 <enum>Horizontal</enum> 84 <enum>Horizontal</enum>
85 </property> 85 </property>
86 </widget> 86 </widget>
87 <widget> 87 <widget>
88 <class>QLayoutWidget</class> 88 <class>QLayoutWidget</class>
89 <property stdset="1"> 89 <property stdset="1">
90 <name>name</name> 90 <name>name</name>
91 <cstring>Layout11</cstring> 91 <cstring>Layout11</cstring>
92 </property> 92 </property>
93 <hbox> 93 <hbox>
94 <property stdset="1"> 94 <property stdset="1">
95 <name>margin</name> 95 <name>margin</name>
96 <number>0</number> 96 <number>0</number>
97 </property> 97 </property>
98 <property stdset="1"> 98 <property stdset="1">
99 <name>spacing</name> 99 <name>spacing</name>
100 <number>6</number> 100 <number>6</number>
101 </property> 101 </property>
102 <widget> 102 <widget>
103 <class>QLayoutWidget</class> 103 <class>QLayoutWidget</class>
104 <property stdset="1"> 104 <property stdset="1">
105 <name>name</name> 105 <name>name</name>
106 <cstring>Layout9</cstring> 106 <cstring>Layout9</cstring>
107 </property> 107 </property>
108 <vbox> 108 <vbox>
109 <property stdset="1"> 109 <property stdset="1">
110 <name>margin</name> 110 <name>margin</name>
111 <number>0</number> 111 <number>0</number>
@@ -288,162 +288,162 @@
288 <name>name</name> 288 <name>name</name>
289 <cstring>Layout5</cstring> 289 <cstring>Layout5</cstring>
290 </property> 290 </property>
291 <vbox> 291 <vbox>
292 <property stdset="1"> 292 <property stdset="1">
293 <name>margin</name> 293 <name>margin</name>
294 <number>0</number> 294 <number>0</number>
295 </property> 295 </property>
296 <property stdset="1"> 296 <property stdset="1">
297 <name>spacing</name> 297 <name>spacing</name>
298 <number>6</number> 298 <number>6</number>
299 </property> 299 </property>
300 <widget> 300 <widget>
301 <class>QLineEdit</class> 301 <class>QLineEdit</class>
302 <property stdset="1"> 302 <property stdset="1">
303 <name>name</name> 303 <name>name</name>
304 <cstring>userLine</cstring> 304 <cstring>userLine</cstring>
305 </property> 305 </property>
306 </widget> 306 </widget>
307 <widget> 307 <widget>
308 <class>QLineEdit</class> 308 <class>QLineEdit</class>
309 <property stdset="1"> 309 <property stdset="1">
310 <name>name</name> 310 <name>name</name>
311 <cstring>passLine</cstring> 311 <cstring>passLine</cstring>
312 </property> 312 </property>
313 <property stdset="1"> 313 <property stdset="1">
314 <name>echoMode</name> 314 <name>echoMode</name>
315 <enum>Password</enum> 315 <enum>Password</enum>
316 </property> 316 </property>
317 </widget> 317 </widget>
318 </vbox> 318 </vbox>
319 </widget> 319 </widget>
320 </hbox> 320 </hbox>
321 </widget> 321 </widget>
322 <widget> 322 <widget>
323 <class>QLayoutWidget</class> 323 <class>QLayoutWidget</class>
324 <property stdset="1"> 324 <property stdset="1">
325 <name>name</name> 325 <name>name</name>
326 <cstring>Layout9</cstring> 326 <cstring>Layout9</cstring>
327 </property> 327 </property>
328 <hbox> 328 <hbox>
329 <property stdset="1"> 329 <property stdset="1">
330 <name>margin</name> 330 <name>margin</name>
331 <number>0</number> 331 <number>0</number>
332 </property> 332 </property>
333 <property stdset="1"> 333 <property stdset="1">
334 <name>spacing</name> 334 <name>spacing</name>
335 <number>6</number> 335 <number>6</number>
336 </property> 336 </property>
337 <widget> 337 <widget>
338 <class>QLabel</class> 338 <class>QLabel</class>
339 <property stdset="1"> 339 <property stdset="1">
340 <name>name</name> 340 <name>name</name>
341 <cstring>TextLabel1_2</cstring> 341 <cstring>TextLabel1_2</cstring>
342 </property> 342 </property>
343 <property stdset="1"> 343 <property stdset="1">
344 <name>text</name> 344 <name>text</name>
345 <string>Local storage folder:</string> 345 <string>Local storage folder:</string>
346 </property> 346 </property>
347 </widget> 347 </widget>
348 <widget> 348 <widget>
349 <class>QLineEdit</class> 349 <class>QLineEdit</class>
350 <property stdset="1"> 350 <property stdset="1">
351 <name>name</name> 351 <name>name</name>
352 <cstring>localFolder</cstring> 352 <cstring>localFolder</cstring>
353 </property> 353 </property>
354 <property stdset="1"> 354 <property stdset="1">
355 <name>text</name> 355 <name>text</name>
356 <string></string> 356 <string></string>
357 </property> 357 </property>
358 </widget> 358 </widget>
359 </hbox> 359 </hbox>
360 </widget> 360 </widget>
361 <widget> 361 <widget>
362 <class>QLayoutWidget</class> 362 <class>QLayoutWidget</class>
363 <property stdset="1"> 363 <property stdset="1">
364 <name>name</name> 364 <name>name</name>
365 <cstring>Layout10</cstring> 365 <cstring>Layout10</cstring>
366 </property> 366 </property>
367 <hbox> 367 <hbox>
368 <property stdset="1"> 368 <property stdset="1">
369 <name>margin</name> 369 <name>margin</name>
370 <number>0</number> 370 <number>0</number>
371 </property> 371 </property>
372 <property stdset="1"> 372 <property stdset="1">
373 <name>spacing</name> 373 <name>spacing</name>
374 <number>6</number> 374 <number>6</number>
375 </property> 375 </property>
376 <widget> 376 <widget>
377 <class>QCheckBox</class> 377 <class>QCheckBox</class>
378 <property stdset="1"> 378 <property stdset="1">
379 <name>name</name> 379 <name>name</name>
380 <cstring>CheckBoxDown</cstring> 380 <cstring>CheckBoxDown</cstring>
381 </property> 381 </property>
382 <property stdset="1"> 382 <property stdset="1">
383 <name>text</name> 383 <name>text</name>
384 <string>Download only messages smaller</string> 384 <string>Get only messages smaller</string>
385 </property> 385 </property>
386 </widget> 386 </widget>
387 <widget> 387 <widget>
388 <class>QSpinBox</class> 388 <class>QSpinBox</class>
389 <property stdset="1"> 389 <property stdset="1">
390 <name>name</name> 390 <name>name</name>
391 <cstring>SpinBoxDown</cstring> 391 <cstring>SpinBoxDown</cstring>
392 </property> 392 </property>
393 <property stdset="1"> 393 <property stdset="1">
394 <name>suffix</name> 394 <name>suffix</name>
395 <string>kB</string> 395 <string>kB</string>
396 </property> 396 </property>
397 <property stdset="1"> 397 <property stdset="1">
398 <name>maxValue</name> 398 <name>maxValue</name>
399 <number>99999</number> 399 <number>99999</number>
400 </property> 400 </property>
401 <property stdset="1"> 401 <property stdset="1">
402 <name>minValue</name> 402 <name>minValue</name>
403 <number>1</number> 403 <number>1</number>
404 </property> 404 </property>
405 </widget> 405 </widget>
406 </hbox> 406 </hbox>
407 </widget> 407 </widget>
408 <widget> 408 <widget>
409 <class>QCheckBox</class> 409 <class>QCheckBox</class>
410 <property stdset="1"> 410 <property stdset="1">
411 <name>name</name> 411 <name>name</name>
412 <cstring>CheckBoxLeaveOn</cstring> 412 <cstring>CheckBoxLeaveOn</cstring>
413 </property> 413 </property>
414 <property stdset="1"> 414 <property stdset="1">
415 <name>text</name> 415 <name>text</name>
416 <string>Leave Messages on Server</string> 416 <string>Leave Messages on Server</string>
417 </property> 417 </property>
418 </widget> 418 </widget>
419 <spacer> 419 <spacer>
420 <property> 420 <property>
421 <name>name</name> 421 <name>name</name>
422 <cstring>spacer</cstring> 422 <cstring>spacer</cstring>
423 </property> 423 </property>
424 <property stdset="1"> 424 <property stdset="1">
425 <name>orientation</name> 425 <name>orientation</name>
426 <enum>Vertical</enum> 426 <enum>Vertical</enum>
427 </property> 427 </property>
428 <property stdset="1"> 428 <property stdset="1">
429 <name>sizeType</name> 429 <name>sizeType</name>
430 <enum>Expanding</enum> 430 <enum>Expanding</enum>
431 </property> 431 </property>
432 <property> 432 <property>
433 <name>sizeHint</name> 433 <name>sizeHint</name>
434 <size> 434 <size>
435 <width>20</width> 435 <width>20</width>
436 <height>20</height> 436 <height>20</height>
437 </size> 437 </size>
438 </property> 438 </property>
439 </spacer> 439 </spacer>
440 </vbox> 440 </vbox>
441</widget> 441</widget>
442<tabstops> 442<tabstops>
443 <tabstop>accountLine</tabstop> 443 <tabstop>accountLine</tabstop>
444 <tabstop>serverLine</tabstop> 444 <tabstop>serverLine</tabstop>
445 <tabstop>portLine</tabstop> 445 <tabstop>portLine</tabstop>
446 <tabstop>userLine</tabstop> 446 <tabstop>userLine</tabstop>
447 <tabstop>passLine</tabstop> 447 <tabstop>passLine</tabstop>
448</tabstops> 448</tabstops>
449</UI> 449</UI>