summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-18 21:38:19 (UTC)
committer zautrix <zautrix>2005-03-18 21:38:19 (UTC)
commitf0232b7801f098b5842e3cd5a1fd804af98ab862 (patch) (unidiff)
tree7537ad5f4b86a4c7e0965051ce0082bcb8d023fa
parent246da4d3796f5e03a3ce5f2b2febe9e1c8dd7a7e (diff)
downloadkdepimpi-f0232b7801f098b5842e3cd5a1fd804af98ab862.zip
kdepimpi-f0232b7801f098b5842e3cd5a1fd804af98ab862.tar.gz
kdepimpi-f0232b7801f098b5842e3cd5a1fd804af98ab862.tar.bz2
etpan fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/mhwrapper.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/kmicromail/libmailwrapper/mhwrapper.cpp b/kmicromail/libmailwrapper/mhwrapper.cpp
index 982d7a6..787e85d 100644
--- a/kmicromail/libmailwrapper/mhwrapper.cpp
+++ b/kmicromail/libmailwrapper/mhwrapper.cpp
@@ -1,407 +1,414 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2#include "mhwrapper.h" 2#include "mhwrapper.h"
3#include "mailtypes.h" 3#include "mailtypes.h"
4#include "mailwrapper.h" 4#include "mailwrapper.h"
5#include <libetpan/libetpan.h> 5#include <libetpan/libetpan.h>
6#include <qdir.h> 6#include <qdir.h>
7#include <qmessagebox.h> 7#include <qmessagebox.h>
8#include <stdlib.h> 8#include <stdlib.h>
9#include <qpe/global.h> 9#include <qpe/global.h>
10#include <klocale.h> 10#include <klocale.h>
11#include <kglobal.h> 11#include <kglobal.h>
12//#include <opie2/odebug.h> 12//#include <opie2/odebug.h>
13 13
14using namespace Opie::Core; 14using namespace Opie::Core;
15MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name) 15MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name)
16 : Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name) 16 : Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name)
17{ 17{
18 if (MHPath.length()>0) { 18 if (MHPath.length()>0) {
19 if (MHPath[MHPath.length()-1]=='/') { 19 if (MHPath[MHPath.length()-1]=='/') {
20 MHPath=MHPath.left(MHPath.length()-1); 20 MHPath=MHPath.left(MHPath.length()-1);
21 } 21 }
22 //odebug << MHPath << oendl; 22 //odebug << MHPath << oendl;
23 QDir dir(MHPath); 23 QDir dir(MHPath);
24 if (!dir.exists()) { 24 if (!dir.exists()) {
25 dir.mkdir(MHPath); 25 dir.mkdir(MHPath);
26 } 26 }
27 init_storage(); 27 init_storage();
28 } 28 }
29} 29}
30 30
31void MHwrapper::init_storage() 31void MHwrapper::init_storage()
32{ 32{
33 int r; 33 int r;
34 QString pre = MHPath; 34 QString pre = MHPath;
35 if (!m_storage) { 35 if (!m_storage) {
36 m_storage = mailstorage_new(NULL); 36 m_storage = mailstorage_new(NULL);
37 r = mh_mailstorage_init(m_storage,(char*)pre.latin1(),0,0,0); 37 r = mh_mailstorage_init(m_storage,(char*)pre.latin1(),0,0,0);
38 if (r != MAIL_NO_ERROR) { 38 if (r != MAIL_NO_ERROR) {
39 qDebug(" error init storage "); 39 qDebug(" error init storage ");
40 mailstorage_free(m_storage); 40 mailstorage_free(m_storage);
41 m_storage = 0; 41 m_storage = 0;
42 return; 42 return;
43 } 43 }
44 } 44 }
45 r = mailstorage_connect(m_storage); 45 r = mailstorage_connect(m_storage);
46 if (r!=MAIL_NO_ERROR) { 46 if (r!=MAIL_NO_ERROR) {
47 qDebug("error connecting storage "); 47 qDebug("error connecting storage ");
48 mailstorage_free(m_storage); 48 mailstorage_free(m_storage);
49 m_storage = 0; 49 m_storage = 0;
50 } 50 }
51} 51}
52 52
53void MHwrapper::clean_storage() 53void MHwrapper::clean_storage()
54{ 54{
55 if (m_storage) { 55 if (m_storage) {
56 mailstorage_disconnect(m_storage); 56 mailstorage_disconnect(m_storage);
57 mailstorage_free(m_storage); 57 mailstorage_free(m_storage);
58 m_storage = 0; 58 m_storage = 0;
59 } 59 }
60} 60}
61 61
62MHwrapper::~MHwrapper() 62MHwrapper::~MHwrapper()
63{ 63{
64 clean_storage(); 64 clean_storage();
65} 65}
66 66
67void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb ) 67void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb )
68{ 68{
69 init_storage(); 69 init_storage();
70 if (!m_storage) { 70 if (!m_storage) {
71 return; 71 return;
72 } 72 }
73 QString f = buildPath(mailbox); 73 QString f = buildPath(mailbox);
74 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1()); 74 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
75 if (r!=MAIL_NO_ERROR) { 75 if (r!=MAIL_NO_ERROR) {
76 qDebug("listMessages: error selecting folder! "); 76 qDebug("listMessages: error selecting folder! ");
77 return; 77 return;
78 } 78 }
79 parseList(target,m_storage->sto_session,f, false, maxSizeInKb ); 79 parseList(target,m_storage->sto_session,f, false, maxSizeInKb );
80 Global::statusMessage(i18n("Mailbox has %1 mail(s)").arg(target.count())); 80 Global::statusMessage(i18n("Mailbox has %1 mail(s)").arg(target.count()));
81} 81}
82 82
83QValueList<Opie::Core::OSmartPointer<Folder> >* MHwrapper::listFolders() 83QValueList<Opie::Core::OSmartPointer<Folder> >* MHwrapper::listFolders()
84{ 84{
85 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<Opie::Core::OSmartPointer<Folder> >(); 85 QValueList<Opie::Core::OSmartPointer<Folder> >* folders = new QValueList<Opie::Core::OSmartPointer<Folder> >();
86 /* this is needed! */ 86 /* this is needed! */
87 if (m_storage) mailstorage_disconnect(m_storage); 87 if (m_storage) mailstorage_disconnect(m_storage);
88 init_storage(); 88 init_storage();
89 if (!m_storage) { 89 if (!m_storage) {
90 return folders; 90 return folders;
91 } 91 }
92 mail_list*flist = 0; 92 mail_list*flist = 0;
93 clistcell*current=0; 93 clistcell*current=0;
94 int r = mailsession_list_folders(m_storage->sto_session,NULL,&flist); 94 int r = mailsession_list_folders(m_storage->sto_session,NULL,&flist);
95 if (r != MAIL_NO_ERROR || !flist) { 95 if (r != MAIL_NO_ERROR || !flist) {
96 qDebug("error getting folder list "); 96 qDebug("error getting folder list ");
97 return folders; 97 return folders;
98 } 98 }
99 for (current=clist_begin(flist->mb_list);current!=0;current=clist_next(current)) { 99 for (current=clist_begin(flist->mb_list);current!=0;current=clist_next(current)) {
100 QString t = (char*)current->data; 100 QString t = (char*)current->data;
101 t.replace(0,MHPath.length(),""); 101 t.replace(0,MHPath.length(),"");
102 folders->append(new MHFolder(t,MHPath)); 102 folders->append(new MHFolder(t,MHPath));
103 } 103 }
104 mail_list_free(flist); 104 mail_list_free(flist);
105 return folders; 105 return folders;
106} 106}
107 107
108void MHwrapper::deleteMail(const RecMailP&mail) 108void MHwrapper::deleteMail(const RecMailP&mail)
109{ 109{
110 init_storage(); 110 init_storage();
111 if (!m_storage) { 111 if (!m_storage) {
112 return; 112 return;
113 } 113 }
114 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); 114 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
115 if (r!=MAIL_NO_ERROR) { 115 if (r!=MAIL_NO_ERROR) {
116 qDebug("error selecting folder! "); 116 qDebug("error selecting folder! ");
117 return; 117 return;
118 } 118 }
119 r = mailsession_remove_message(m_storage->sto_session,mail->getNumber()); 119 r = mailsession_remove_message(m_storage->sto_session,mail->getNumber());
120 if (r != MAIL_NO_ERROR) { 120 if (r != MAIL_NO_ERROR) {
121 qDebug("error deleting mail "); 121 qDebug("error deleting mail ");
122 } 122 }
123} 123}
124 124
125void MHwrapper::answeredMail(const RecMailP&) 125void MHwrapper::answeredMail(const RecMailP&)
126{ 126{
127} 127}
128 128
129RecBodyP MHwrapper::fetchBody( const RecMailP &mail ) 129RecBodyP MHwrapper::fetchBody( const RecMailP &mail )
130{ 130{
131 qDebug("MHwrapper::fetchBody "); 131 qDebug("MHwrapper::fetchBody ");
132 RecBodyP body = new RecBody(); 132 RecBodyP body = new RecBody();
133 init_storage(); 133 init_storage();
134 if (!m_storage) { 134 if (!m_storage) {
135 return body; 135 return body;
136 } 136 }
137 mailmessage * msg; 137 mailmessage * msg;
138 char*data=0; 138 char*data=0;
139 139
140 /* mail should hold the complete path! */ 140 /* mail should hold the complete path! */
141 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); 141 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
142 if (r != MAIL_NO_ERROR) { 142 if (r != MAIL_NO_ERROR) {
143 return body; 143 return body;
144 } 144 }
145 r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg); 145 r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
146 if (r != MAIL_NO_ERROR) { 146 if (r != MAIL_NO_ERROR) {
147 qDebug("Error fetching mail "); 147 qDebug("Error fetching mail ");
148 148
149 return body; 149 return body;
150 } 150 }
151 body = parseMail(msg); 151 body = parseMail(msg);
152 mailmessage_fetch_result_free(msg,data); 152 mailmessage_fetch_result_free(msg,data);
153 return body; 153 return body;
154} 154}
155 155
156void MHwrapper::mbox_progress( size_t current, size_t maximum ) 156void MHwrapper::mbox_progress( size_t current, size_t maximum )
157{ 157{
158 qDebug("MBox Progress %d of %d",current,maximum ); 158 qDebug("MBox Progress %d of %d",current,maximum );
159 //odebug << "MH " << current << " von " << maximum << "" << oendl; 159 //odebug << "MH " << current << " von " << maximum << "" << oendl;
160} 160}
161 161
162QString MHwrapper::buildPath(const QString&p) 162QString MHwrapper::buildPath(const QString&p)
163{ 163{
164 QString f=""; 164 QString f="";
165 if (p.length()==0||p=="/") 165 if (p.length()==0||p=="/")
166 return MHPath; 166 return MHPath;
167 if (!p.startsWith(MHPath)) { 167 if (!p.startsWith(MHPath)) {
168 f+=MHPath; 168 f+=MHPath;
169 } 169 }
170 if (!p.startsWith("/")) { 170 if (!p.startsWith("/")) {
171 f+="/"; 171 f+="/";
172 } 172 }
173 f+=p; 173 f+=p;
174 return f; 174 return f;
175} 175}
176 176
177int MHwrapper::createMbox(const QString&folder,const FolderP&pfolder,const QString&,bool ) 177int MHwrapper::createMbox(const QString&folder,const FolderP&pfolder,const QString&,bool )
178{ 178{
179 init_storage(); 179
180 if (!m_storage) {
181 return 0;
182 }
183 QString f; 180 QString f;
184 if (!pfolder) { 181 if (!pfolder) {
185 // toplevel folder 182 // toplevel folder
186 f = buildPath(folder); 183 f = buildPath(folder);
187 } else { 184 } else {
188 f = pfolder->getName(); 185 f = pfolder->getName();
189 f+="/"; 186 f+="/";
190 f+=folder; 187 f+=folder;
191 } 188 }
192 189 QFileInfo fi ( f );
190 if ( fi. exists () ) {
191 qDebug("folder exists ");
192 return 1;
193 }
194 qDebug("creating folder ---%s--- ",f.latin1() );
195 init_storage();
196 if (!m_storage) {
197 return 0;
198 }
193 int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1()); 199 int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1());
194 if (r != MAIL_NO_ERROR) { 200 if (r != MAIL_NO_ERROR) {
195 qDebug("error creating folder "); 201 qDebug("error %d creating folder %s", r, f.latin1());
196 return 0; 202 return 0;
197 } 203 }
198 return 1; 204 return 1;
199} 205}
200 206
201void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder) 207void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
202{ 208{
203 init_storage(); 209 init_storage();
204 if (!m_storage) { 210 if (!m_storage) {
205 return; 211 return;
206 } 212 }
207 QString f = buildPath(Folder); 213 QString f = buildPath(Folder);
208 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1()); 214 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
209 if (r!=MAIL_NO_ERROR) { 215 if (r!=MAIL_NO_ERROR) {
210 qDebug("error selecting folder! "); 216 qDebug("error selecting folder %d", r);
211 return; 217 return;
212 } 218 }
213 r = mailsession_append_message(m_storage->sto_session,(char*)msg,length); 219 r = mailsession_append_message(m_storage->sto_session,(char*)msg,length);
214 if (r!=MAIL_NO_ERROR) { 220 if (r!=MAIL_NO_ERROR) {
215 qDebug("error storing mail "); 221 if ( r != MAIL_ERROR_APPEND )
222 qDebug("error storing mail %d", r);
216 } 223 }
217 return; 224 return;
218} 225}
219 226
220encodedString* MHwrapper::fetchRawBody(const RecMailP&mail) 227encodedString* MHwrapper::fetchRawBody(const RecMailP&mail)
221{ 228{
222 encodedString*result = 0; 229 encodedString*result = 0;
223 init_storage(); 230 init_storage();
224 if (!m_storage) { 231 if (!m_storage) {
225 return result; 232 return result;
226 } 233 }
227 mailmessage * msg = 0; 234 mailmessage * msg = 0;
228 char*data=0; 235 char*data=0;
229 size_t size; 236 size_t size;
230 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); 237 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
231 if (r!=MAIL_NO_ERROR) { 238 if (r!=MAIL_NO_ERROR) {
232 qDebug("error selecting folder! "); 239 qDebug("error selecting folder! ");
233 return result; 240 return result;
234 } 241 }
235 r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg); 242 r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
236 if (r != MAIL_NO_ERROR) { 243 if (r != MAIL_NO_ERROR) {
237 Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber())); 244 Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber()));
238 return 0; 245 return 0;
239 } 246 }
240 r = mailmessage_fetch(msg,&data,&size); 247 r = mailmessage_fetch(msg,&data,&size);
241 if (r != MAIL_NO_ERROR) { 248 if (r != MAIL_NO_ERROR) {
242 Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber())); 249 Global::statusMessage(i18n("Error fetching mail %i").arg(mail->getNumber()));
243 if (msg) mailmessage_free(msg); 250 if (msg) mailmessage_free(msg);
244 return 0; 251 return 0;
245 } 252 }
246 result = new encodedString(data,size); 253 result = new encodedString(data,size);
247 if (msg) mailmessage_free(msg); 254 if (msg) mailmessage_free(msg);
248 return result; 255 return result;
249} 256}
250 257
251void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target) 258void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target)
252{ 259{
253 QString f = buildPath(mailbox); 260 QString f = buildPath(mailbox);
254 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1()); 261 int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
255 if (r!=MAIL_NO_ERROR) { 262 if (r!=MAIL_NO_ERROR) {
256 qDebug("deleteMails: error selecting folder! "); 263 qDebug("deleteMails: error selecting folder! ");
257 return; 264 return;
258 } 265 }
259 QValueList<RecMailP>::ConstIterator it; 266 QValueList<RecMailP>::ConstIterator it;
260 for (it=target.begin(); it!=target.end();++it) { 267 for (it=target.begin(); it!=target.end();++it) {
261 r = mailsession_remove_message(m_storage->sto_session,(*it)->getNumber()); 268 r = mailsession_remove_message(m_storage->sto_session,(*it)->getNumber());
262 if (r != MAIL_NO_ERROR) { 269 if (r != MAIL_NO_ERROR) {
263 qDebug("error deleting mail "); 270 qDebug("error deleting mail ");
264 break; 271 break;
265 } 272 }
266 } 273 }
267} 274}
268 275
269int MHwrapper::deleteAllMail(const FolderP&tfolder) 276int MHwrapper::deleteAllMail(const FolderP&tfolder)
270{ 277{
271 init_storage(); 278 init_storage();
272 if (!m_storage) { 279 if (!m_storage) {
273 return 0; 280 return 0;
274 } 281 }
275 int res = 1; 282 int res = 1;
276 if (!tfolder) return 0; 283 if (!tfolder) return 0;
277 int r = mailsession_select_folder(m_storage->sto_session,(char*)tfolder->getName().latin1()); 284 int r = mailsession_select_folder(m_storage->sto_session,(char*)tfolder->getName().latin1());
278 if (r!=MAIL_NO_ERROR) { 285 if (r!=MAIL_NO_ERROR) {
279 qDebug("error selecting folder! "); 286 qDebug("error selecting folder! ");
280 return 0; 287 return 0;
281 } 288 }
282 mailmessage_list*l=0; 289 mailmessage_list*l=0;
283 r = mailsession_get_messages_list(m_storage->sto_session,&l); 290 r = mailsession_get_messages_list(m_storage->sto_session,&l);
284 if (r != MAIL_NO_ERROR) { 291 if (r != MAIL_NO_ERROR) {
285 qDebug("Error message list "); 292 qDebug("Error message list ");
286 res = 0; 293 res = 0;
287 } 294 }
288 unsigned j = 0; 295 unsigned j = 0;
289 for(unsigned int i = 0 ; l!= 0 && res==1 && i < carray_count(l->msg_tab) ; ++i) { 296 for(unsigned int i = 0 ; l!= 0 && res==1 && i < carray_count(l->msg_tab) ; ++i) {
290 mailmessage * msg; 297 mailmessage * msg;
291 msg = (mailmessage*)carray_get(l->msg_tab, i); 298 msg = (mailmessage*)carray_get(l->msg_tab, i);
292 j = msg->msg_index; 299 j = msg->msg_index;
293 r = mailsession_remove_message(m_storage->sto_session,j); 300 r = mailsession_remove_message(m_storage->sto_session,j);
294 if (r != MAIL_NO_ERROR) { 301 if (r != MAIL_NO_ERROR) {
295 Global::statusMessage(i18n("Error deleting mail %1").arg(i+1)); 302 Global::statusMessage(i18n("Error deleting mail %1").arg(i+1));
296 res = 0; 303 res = 0;
297 break; 304 break;
298 } 305 }
299 } 306 }
300 if (l) mailmessage_list_free(l); 307 if (l) mailmessage_list_free(l);
301 return res; 308 return res;
302} 309}
303bool MHwrapper::rmDir(QString folder) // absolute path! 310bool MHwrapper::rmDir(QString folder) // absolute path!
304{ 311{
305 QDir dir ( folder ); 312 QDir dir ( folder );
306 if ( !dir.exists() ) 313 if ( !dir.exists() )
307 return false; 314 return false;
308 int i; 315 int i;
309 // qDebug("rmdir %s ",folder.latin1()); 316 // qDebug("rmdir %s ",folder.latin1());
310 QStringList list = dir.entryList(QDir::Dirs|QDir::Files|QDir::NoSymLinks|QDir::Hidden ); 317 QStringList list = dir.entryList(QDir::Dirs|QDir::Files|QDir::NoSymLinks|QDir::Hidden );
311 for (i=0; i<list.count(); i++ ) { 318 for (i=0; i<list.count(); i++ ) {
312 bool result = true; 319 bool result = true;
313 QString entry = folder+"/"+ list[i] ; 320 QString entry = folder+"/"+ list[i] ;
314 //qDebug("entry %s ",entry.latin1() ); 321 //qDebug("entry %s ",entry.latin1() );
315 322
316 QFileInfo fi ( entry ); 323 QFileInfo fi ( entry );
317 if ( fi.isFile() ) { 324 if ( fi.isFile() ) {
318 //qDebug("file %s ",entry.latin1() ); 325 //qDebug("file %s ",entry.latin1() );
319 result = QFile::remove ( entry ) ; 326 result = QFile::remove ( entry ) ;
320 } else { 327 } else {
321 //qDebug("dir %s ",entry.latin1()); 328 //qDebug("dir %s ",entry.latin1());
322 if ( list[i] != "." && list[i] != ".." ) 329 if ( list[i] != "." && list[i] != ".." )
323 result = rmDir( entry ); 330 result = rmDir( entry );
324 } 331 }
325 if ( ! result ) 332 if ( ! result )
326 return false; 333 return false;
327 } 334 }
328 //qDebug("removing... "); 335 //qDebug("removing... ");
329 return QDir::root().rmdir ( folder, true ); 336 return QDir::root().rmdir ( folder, true );
330} 337}
331int MHwrapper::deleteMbox(const FolderP&tfolder) 338int MHwrapper::deleteMbox(const FolderP&tfolder)
332{ 339{
333 init_storage(); 340 init_storage();
334 if (!m_storage) { 341 if (!m_storage) {
335 return 0; 342 return 0;
336 } 343 }
337 if (!tfolder) return 0; 344 if (!tfolder) return 0;
338 if (tfolder->getName()=="/" || tfolder->getName().isEmpty()) return 0; 345 if (tfolder->getName()=="/" || tfolder->getName().isEmpty()) return 0;
339 346
340 int r = mailsession_delete_folder(m_storage->sto_session,(char*)tfolder->getName().latin1()); 347 int r = mailsession_delete_folder(m_storage->sto_session,(char*)tfolder->getName().latin1());
341 348
342 if (r != MAIL_NO_ERROR) { 349 if (r != MAIL_NO_ERROR) {
343 qDebug("error deleting mail box "); 350 qDebug("error deleting mail box ");
344 return 0; 351 return 0;
345 } 352 }
346 //qDebug("*****************\ndel %s %s ", delDir.latin1(),tfolder->getName().latin1() ); 353 //qDebug("*****************\ndel %s %s ", delDir.latin1(),tfolder->getName().latin1() );
347 if ( !rmDir( tfolder->getName() )) { 354 if ( !rmDir( tfolder->getName() )) {
348 qDebug("error deleteing folder %s ",tfolder->getName().latin1()); 355 qDebug("error deleteing folder %s ",tfolder->getName().latin1());
349 } 356 }
350 else 357 else
351 qDebug("mail box deleted %s ", tfolder->getName().latin1()); 358 qDebug("mail box deleted %s ", tfolder->getName().latin1());
352 return 1; 359 return 1;
353} 360}
354 361
355 362
356void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox) 363void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
357{ 364{
358 init_storage(); 365 init_storage();
359 if (!m_storage) { 366 if (!m_storage) {
360 return; 367 return;
361 } 368 }
362 target_stat.message_count = 0; 369 target_stat.message_count = 0;
363 target_stat.message_unseen = 0; 370 target_stat.message_unseen = 0;
364 target_stat.message_recent = 0; 371 target_stat.message_recent = 0;
365 QString f = buildPath(mailbox); 372 QString f = buildPath(mailbox);
366 int r = mailsession_status_folder(m_storage->sto_session,(char*)f.latin1(),&target_stat.message_count, 373 int r = mailsession_status_folder(m_storage->sto_session,(char*)f.latin1(),&target_stat.message_count,
367 &target_stat.message_recent,&target_stat.message_unseen); 374 &target_stat.message_recent,&target_stat.message_unseen);
368 if (r != MAIL_NO_ERROR) { 375 if (r != MAIL_NO_ERROR) {
369 Global::statusMessage(i18n("Error retrieving status")); 376 Global::statusMessage(i18n("Error retrieving status"));
370 } 377 }
371} 378}
372 379
373MAILLIB::ATYPE MHwrapper::getType()const 380MAILLIB::ATYPE MHwrapper::getType()const
374{ 381{
375 return MAILLIB::A_MH; 382 return MAILLIB::A_MH;
376} 383}
377 384
378const QString&MHwrapper::getName()const 385const QString&MHwrapper::getName()const
379{ 386{
380 return MHName; 387 return MHName;
381} 388}
382void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) 389void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
383{ 390{
384 init_storage(); 391 init_storage();
385 if (!m_storage) { 392 if (!m_storage) {
386 return; 393 return;
387 } 394 }
388 if (targetWrapper != this) { 395 if (targetWrapper != this) {
389 qDebug("Using generic "); 396 qDebug("Using generic ");
390 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit); 397 Genericwrapper::mvcpMail(mail,targetFolder,targetWrapper,moveit);
391 return; 398 return;
392 } 399 }
393 qDebug("Using internal routines for move/copy "); 400 qDebug("Using internal routines for move/copy ");
394 QString tf = buildPath(targetFolder); 401 QString tf = buildPath(targetFolder);
395 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1()); 402 int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
396 if (r != MAIL_NO_ERROR) { 403 if (r != MAIL_NO_ERROR) {
397 qDebug("Error selecting source mailbox "); 404 qDebug("Error selecting source mailbox ");
398 return; 405 return;
399 } 406 }
400 if (moveit) { 407 if (moveit) {
401 r = mailsession_move_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1()); 408 r = mailsession_move_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
402 } else { 409 } else {
403 r = mailsession_copy_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1()); 410 r = mailsession_copy_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
404 } 411 }
405 if (r != MAIL_NO_ERROR) { 412 if (r != MAIL_NO_ERROR) {
406 qDebug("Error copy/moving mail internal "); 413 qDebug("Error copy/moving mail internal ");
407 } 414 }