summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-09-11 18:10:31 (UTC)
committer zautrix <zautrix>2004-09-11 18:10:31 (UTC)
commit53dda80aaab72d7efdbed8a206dc1fa64fed10ee (patch) (unidiff)
tree23b5248145679628c0d346f7d42c53714634e1a3
parent438403295657bdcab9ee9e526c6a08894e876f63 (diff)
downloadkdepimpi-53dda80aaab72d7efdbed8a206dc1fa64fed10ee.zip
kdepimpi-53dda80aaab72d7efdbed8a206dc1fa64fed10ee.tar.gz
kdepimpi-53dda80aaab72d7efdbed8a206dc1fa64fed10ee.tar.bz2
progress fixes
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,47 +1,47 @@
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>
@@ -378,65 +378,65 @@
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>
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
@@ -119,68 +119,70 @@ QString AbstractMail::gen_attachment_id()
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() );
@@ -208,65 +210,68 @@ void AbstractMail::downloadNewMails(const FolderP&fromFolder, AbstractMail*targe
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
@@ -915,68 +915,71 @@ void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which
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 }
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
@@ -171,107 +171,115 @@ void POP3wrapper::login()
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;
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 5f777a3..d130317 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -127,65 +127,66 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
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 + " - "
diff --git a/kmicromail/pop3configui.ui b/kmicromail/pop3configui.ui
index 6acd394..f1dda7a 100644
--- a/kmicromail/pop3configui.ui
+++ b/kmicromail/pop3configui.ui
@@ -1,47 +1,47 @@
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>
@@ -352,65 +352,65 @@
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>