-rw-r--r-- | kmicromail/accountitem.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kmicromail/accountitem.cpp b/kmicromail/accountitem.cpp index 7795055..49d86fc 100644 --- a/kmicromail/accountitem.cpp +++ b/kmicromail/accountitem.cpp | |||
@@ -177,257 +177,257 @@ void POP3folderItem::refresh(QValueList<RecMailP>&target) | |||
177 | pop3->getWrapper()->listMessages( folder->getName(),target ); | 177 | pop3->getWrapper()->listMessages( folder->getName(),target ); |
178 | } | 178 | } |
179 | 179 | ||
180 | RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) | 180 | RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) |
181 | { | 181 | { |
182 | return pop3->getWrapper()->fetchBody(aMail); | 182 | return pop3->getWrapper()->fetchBody(aMail); |
183 | } | 183 | } |
184 | 184 | ||
185 | QPopupMenu * POP3folderItem::getContextMenu() | 185 | QPopupMenu * POP3folderItem::getContextMenu() |
186 | { | 186 | { |
187 | QPopupMenu *m = new QPopupMenu(0); | 187 | QPopupMenu *m = new QPopupMenu(0); |
188 | if (m) | 188 | if (m) |
189 | { | 189 | { |
190 | m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); | 190 | m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); |
191 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 191 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
192 | m->insertItem(QObject::tr("Delete all mails",contextName),1); | 192 | m->insertItem(QObject::tr("Delete all mails",contextName),1); |
193 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); | 193 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),2); |
194 | } | 194 | } |
195 | return m; | 195 | return m; |
196 | } | 196 | } |
197 | 197 | ||
198 | void POP3folderItem::downloadMails() | 198 | void POP3folderItem::downloadMails() |
199 | { | 199 | { |
200 | AccountView*bl = pop3->accountView(); | 200 | AccountView*bl = pop3->accountView(); |
201 | if (!bl) return; | 201 | if (!bl) return; |
202 | bl->downloadMails(folder,pop3->getWrapper()); | 202 | bl->downloadMails(folder,pop3->getWrapper()); |
203 | } | 203 | } |
204 | 204 | ||
205 | void POP3folderItem::contextMenuSelected(int which) | 205 | void POP3folderItem::contextMenuSelected(int which) |
206 | { | 206 | { |
207 | AccountView * view = (AccountView*)listView(); | 207 | AccountView * view = (AccountView*)listView(); |
208 | switch (which) | 208 | switch (which) |
209 | { | 209 | { |
210 | case 0: | 210 | case 0: |
211 | /* must be 'cause pop3 lists are cached */ | 211 | /* must be 'cause pop3 lists are cached */ |
212 | pop3->getWrapper()->logout(); | 212 | pop3->getWrapper()->logout(); |
213 | view->refreshCurrent(); | 213 | view->refreshCurrent(); |
214 | break; | 214 | break; |
215 | case 1: | 215 | case 1: |
216 | deleteAllMail(pop3->getWrapper(),folder); | 216 | deleteAllMail(pop3->getWrapper(),folder); |
217 | break; | 217 | break; |
218 | case 2: | 218 | case 2: |
219 | downloadMails(); | 219 | downloadMails(); |
220 | break; | 220 | break; |
221 | case GET_NEW_MAILS: // daunlood | 221 | case GET_NEW_MAILS: // daunlood |
222 | view->downloadMailsInbox(getFolder() ,pop3->getWrapper()); | 222 | view->downloadMailsInbox(getFolder() ,pop3->getWrapper()); |
223 | break; | 223 | break; |
224 | default: | 224 | default: |
225 | break; | 225 | break; |
226 | } | 226 | } |
227 | } | 227 | } |
228 | 228 | ||
229 | /** | 229 | /** |
230 | * NNTP Account stuff | 230 | * NNTP Account stuff |
231 | */ | 231 | */ |
232 | NNTPviewItem::NNTPviewItem( NNTPaccount *a, AccountView *parent ) | 232 | NNTPviewItem::NNTPviewItem( NNTPaccount *a, AccountView *parent ) |
233 | : AccountViewItem( parent ) | 233 | : AccountViewItem( parent ) |
234 | { | 234 | { |
235 | account = a; | 235 | account = a; |
236 | wrapper = AbstractMail::getWrapper( account ); | 236 | wrapper = AbstractMail::getWrapper( account ); |
237 | //FIXME | 237 | //FIXME |
238 | SETPIX(PIXMAP_POP3FOLDER); | 238 | SETPIX(PIXMAP_POP3FOLDER); |
239 | #if 0 | 239 | #if 0 |
240 | if (!account->getOffline()) | 240 | if (!account->getOffline()) |
241 | { | 241 | { |
242 | setPixmap( 0, ); | 242 | setPixmap( 0, ); |
243 | } | 243 | } |
244 | else | 244 | else |
245 | { | 245 | { |
246 | setPixmap( 0, PIXMAP_OFFLINE ); | 246 | setPixmap( 0, PIXMAP_OFFLINE ); |
247 | } | 247 | } |
248 | #endif | 248 | #endif |
249 | setText( 0, account->getAccountName() ); | 249 | setText( 0, account->getAccountName() ); |
250 | setOpen( true ); | 250 | setOpen( true ); |
251 | } | 251 | } |
252 | 252 | ||
253 | NNTPviewItem::~NNTPviewItem() | 253 | NNTPviewItem::~NNTPviewItem() |
254 | { | 254 | { |
255 | delete wrapper; | 255 | delete wrapper; |
256 | } | 256 | } |
257 | 257 | ||
258 | AbstractMail *NNTPviewItem::getWrapper() | 258 | AbstractMail *NNTPviewItem::getWrapper() |
259 | { | 259 | { |
260 | return wrapper; | 260 | return wrapper; |
261 | } | 261 | } |
262 | 262 | ||
263 | void NNTPviewItem::refresh( QValueList<RecMailP> & ) | 263 | void NNTPviewItem::refresh( QValueList<RecMailP> & ) |
264 | { | 264 | { |
265 | refresh(); | 265 | refresh(); |
266 | } | 266 | } |
267 | 267 | ||
268 | void NNTPviewItem::refresh() | 268 | void NNTPviewItem::refresh() |
269 | { | 269 | { |
270 | if (account->getOffline()) return; | 270 | if (account->getOffline()) return; |
271 | QValueList<FolderP> *folders = wrapper->listFolders(); | 271 | QValueList<FolderP> *folders = wrapper->listFolders(); |
272 | 272 | ||
273 | QListViewItem *child = firstChild(); | 273 | QListViewItem *child = firstChild(); |
274 | while ( child ) | 274 | while ( child ) |
275 | { | 275 | { |
276 | QListViewItem *tmp = child; | 276 | QListViewItem *tmp = child; |
277 | child = child->nextSibling(); | 277 | child = child->nextSibling(); |
278 | delete tmp; | 278 | delete tmp; |
279 | } | 279 | } |
280 | QValueList<FolderP>::ConstIterator it; | 280 | QValueList<FolderP>::ConstIterator it; |
281 | QListViewItem*item = 0; | 281 | QListViewItem*item = 0; |
282 | for ( it = folders->begin(); it!=folders->end(); ++it) | 282 | for ( it = folders->begin(); it!=folders->end(); ++it) |
283 | { | 283 | { |
284 | item = new NNTPfolderItem( (*it), this , item ); | 284 | item = new NNTPfolderItem( (*it), this , item ); |
285 | item->setSelectable( (*it)->may_select()); | 285 | item->setSelectable( (*it)->may_select()); |
286 | } | 286 | } |
287 | delete folders; | 287 | delete folders; |
288 | } | 288 | } |
289 | 289 | ||
290 | RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) | 290 | RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) |
291 | { | 291 | { |
292 | 292 | ||
293 | return wrapper->fetchBody( mail ); | 293 | return wrapper->fetchBody( mail ); |
294 | } | 294 | } |
295 | 295 | ||
296 | QPopupMenu * NNTPviewItem::getContextMenu() | 296 | QPopupMenu * NNTPviewItem::getContextMenu() |
297 | { | 297 | { |
298 | QPopupMenu *m = new QPopupMenu(0); | 298 | QPopupMenu *m = new QPopupMenu(0); |
299 | if (m) | 299 | if (m) |
300 | { | 300 | { |
301 | if (!account->getOffline()) | 301 | if (!account->getOffline()) |
302 | { | 302 | { |
303 | m->insertItem(QObject::tr("Disconnect",contextName),0); | 303 | m->insertItem(QObject::tr("Disconnect",contextName),0); |
304 | m->insertItem(QObject::tr("Set offline",contextName),1); | 304 | m->insertItem(QObject::tr("Set offline",contextName),1); |
305 | m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2); | 305 | //m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2); |
306 | } | 306 | } |
307 | else | 307 | else |
308 | { | 308 | { |
309 | m->insertItem(QObject::tr("Set online",contextName),1); | 309 | m->insertItem(QObject::tr("Set online",contextName),1); |
310 | } | 310 | } |
311 | } | 311 | } |
312 | return m; | 312 | return m; |
313 | } | 313 | } |
314 | 314 | ||
315 | void NNTPviewItem::subscribeGroups() | 315 | void NNTPviewItem::subscribeGroups() |
316 | { | 316 | { |
317 | NNTPGroupsDlg dlg(account); | 317 | NNTPGroupsDlg dlg(account); |
318 | dlg.showMaximized(); | 318 | dlg.showMaximized(); |
319 | if ( dlg.exec()== QDialog::Accepted ){ | 319 | if ( dlg.exec()== QDialog::Accepted ){ |
320 | refresh(); | 320 | refresh(); |
321 | } | 321 | } |
322 | } | 322 | } |
323 | 323 | ||
324 | void NNTPviewItem::disconnect() | 324 | void NNTPviewItem::disconnect() |
325 | { | 325 | { |
326 | QListViewItem *child = firstChild(); | 326 | QListViewItem *child = firstChild(); |
327 | while ( child ) | 327 | while ( child ) |
328 | { | 328 | { |
329 | QListViewItem *tmp = child; | 329 | QListViewItem *tmp = child; |
330 | child = child->nextSibling(); | 330 | child = child->nextSibling(); |
331 | delete tmp; | 331 | delete tmp; |
332 | } | 332 | } |
333 | wrapper->logout(); | 333 | wrapper->logout(); |
334 | } | 334 | } |
335 | 335 | ||
336 | void NNTPviewItem::setOnOffline() | 336 | void NNTPviewItem::setOnOffline() |
337 | { | 337 | { |
338 | if (!account->getOffline()) | 338 | if (!account->getOffline()) |
339 | { | 339 | { |
340 | disconnect(); | 340 | disconnect(); |
341 | } | 341 | } |
342 | account->setOffline(!account->getOffline()); | 342 | account->setOffline(!account->getOffline()); |
343 | account->save(); | 343 | account->save(); |
344 | //FIXME | 344 | //FIXME |
345 | SETPIX(PIXMAP_POP3FOLDER); | 345 | SETPIX(PIXMAP_POP3FOLDER); |
346 | refresh(); | 346 | refresh(); |
347 | } | 347 | } |
348 | 348 | ||
349 | void NNTPviewItem::contextMenuSelected(int which) | 349 | void NNTPviewItem::contextMenuSelected(int which) |
350 | { | 350 | { |
351 | switch (which) | 351 | switch (which) |
352 | { | 352 | { |
353 | case 0: | 353 | case 0: |
354 | disconnect(); | 354 | disconnect(); |
355 | break; | 355 | break; |
356 | case 1: | 356 | case 1: |
357 | setOnOffline(); | 357 | setOnOffline(); |
358 | break; | 358 | break; |
359 | case 2: | 359 | case 2: |
360 | subscribeGroups(); | 360 | subscribeGroups(); |
361 | break; | 361 | break; |
362 | } | 362 | } |
363 | } | 363 | } |
364 | 364 | ||
365 | NNTPfolderItem::~NNTPfolderItem() | 365 | NNTPfolderItem::~NNTPfolderItem() |
366 | {} | 366 | {} |
367 | 367 | ||
368 | NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) | 368 | NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) |
369 | : AccountViewItem( folderInit, parent,after ) | 369 | : AccountViewItem( folderInit, parent,after ) |
370 | { | 370 | { |
371 | nntp = parent; | 371 | nntp = parent; |
372 | if (folder->getDisplayName().lower()!="inbox") | 372 | if (folder->getDisplayName().lower()!="inbox") |
373 | { | 373 | { |
374 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 374 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
375 | } | 375 | } |
376 | else | 376 | else |
377 | { | 377 | { |
378 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 378 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
379 | } | 379 | } |
380 | setText( 0, folder->getDisplayName() ); | 380 | setText( 0, folder->getDisplayName() ); |
381 | } | 381 | } |
382 | 382 | ||
383 | void NNTPfolderItem::refresh(QValueList<RecMailP>&target) | 383 | void NNTPfolderItem::refresh(QValueList<RecMailP>&target) |
384 | { | 384 | { |
385 | if (folder->may_select()) | 385 | if (folder->may_select()) |
386 | nntp->getWrapper()->listMessages( folder->getName(),target ); | 386 | nntp->getWrapper()->listMessages( folder->getName(),target ); |
387 | } | 387 | } |
388 | 388 | ||
389 | RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) | 389 | RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) |
390 | { | 390 | { |
391 | return nntp->getWrapper()->fetchBody(aMail); | 391 | return nntp->getWrapper()->fetchBody(aMail); |
392 | } | 392 | } |
393 | 393 | ||
394 | QPopupMenu * NNTPfolderItem::getContextMenu() | 394 | QPopupMenu * NNTPfolderItem::getContextMenu() |
395 | { | 395 | { |
396 | QPopupMenu *m = new QPopupMenu(0); | 396 | QPopupMenu *m = new QPopupMenu(0); |
397 | if (m) | 397 | if (m) |
398 | { | 398 | { |
399 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 399 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
400 | m->insertItem(QObject::tr("Copy all postings",contextName),1); | 400 | m->insertItem(QObject::tr("Copy all postings",contextName),1); |
401 | } | 401 | } |
402 | return m; | 402 | return m; |
403 | } | 403 | } |
404 | 404 | ||
405 | void NNTPfolderItem::downloadMails() | 405 | void NNTPfolderItem::downloadMails() |
406 | { | 406 | { |
407 | AccountView*bl = nntp->accountView(); | 407 | AccountView*bl = nntp->accountView(); |
408 | if (!bl) return; | 408 | if (!bl) return; |
409 | bl->downloadMails(folder,nntp->getWrapper()); | 409 | bl->downloadMails(folder,nntp->getWrapper()); |
410 | } | 410 | } |
411 | 411 | ||
412 | void NNTPfolderItem::contextMenuSelected(int which) | 412 | void NNTPfolderItem::contextMenuSelected(int which) |
413 | { | 413 | { |
414 | AccountView * view = (AccountView*)listView(); | 414 | AccountView * view = (AccountView*)listView(); |
415 | switch (which) | 415 | switch (which) |
416 | { | 416 | { |
417 | case 0: | 417 | case 0: |
418 | /* must be 'cause pop3 lists are cached */ | 418 | /* must be 'cause pop3 lists are cached */ |
419 | nntp->getWrapper()->logout(); | 419 | nntp->getWrapper()->logout(); |
420 | view->refreshCurrent(); | 420 | view->refreshCurrent(); |
421 | break; | 421 | break; |
422 | case 1: | 422 | case 1: |
423 | downloadMails(); | 423 | downloadMails(); |
424 | break; | 424 | break; |
425 | default: | 425 | default: |
426 | break; | 426 | break; |
427 | } | 427 | } |
428 | } | 428 | } |
429 | 429 | ||
430 | /** | 430 | /** |
431 | * IMAP Account stuff | 431 | * IMAP Account stuff |
432 | */ | 432 | */ |
433 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, AccountView *parent ) | 433 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, AccountView *parent ) |
@@ -634,259 +634,258 @@ IMAPfolderItem::IMAPfolderItem(const FolderP &folderInit, IMAPfolderItem *parent | |||
634 | setPixmap( 0, PIXMAP_IMAPFOLDER ); | 634 | setPixmap( 0, PIXMAP_IMAPFOLDER ); |
635 | } | 635 | } |
636 | else | 636 | else |
637 | { | 637 | { |
638 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 638 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
639 | } | 639 | } |
640 | setText( 0, folder->getDisplayName() ); | 640 | setText( 0, folder->getDisplayName() ); |
641 | } | 641 | } |
642 | 642 | ||
643 | IMAPfolderItem::~IMAPfolderItem() | 643 | IMAPfolderItem::~IMAPfolderItem() |
644 | {} | 644 | {} |
645 | 645 | ||
646 | const QString& IMAPfolderItem::Delemiter()const | 646 | const QString& IMAPfolderItem::Delemiter()const |
647 | { | 647 | { |
648 | return folder->Separator(); | 648 | return folder->Separator(); |
649 | } | 649 | } |
650 | 650 | ||
651 | void IMAPfolderItem::refresh(QValueList<RecMailP>&target) | 651 | void IMAPfolderItem::refresh(QValueList<RecMailP>&target) |
652 | { | 652 | { |
653 | if (folder->may_select()) | 653 | if (folder->may_select()) |
654 | { | 654 | { |
655 | imap->getWrapper()->listMessages( folder->getName(),target ); | 655 | imap->getWrapper()->listMessages( folder->getName(),target ); |
656 | } | 656 | } |
657 | else | 657 | else |
658 | { | 658 | { |
659 | target.clear(); | 659 | target.clear(); |
660 | } | 660 | } |
661 | } | 661 | } |
662 | 662 | ||
663 | RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) | 663 | RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) |
664 | { | 664 | { |
665 | return imap->getWrapper()->fetchBody(aMail); | 665 | return imap->getWrapper()->fetchBody(aMail); |
666 | } | 666 | } |
667 | 667 | ||
668 | QPopupMenu * IMAPfolderItem::getContextMenu() | 668 | QPopupMenu * IMAPfolderItem::getContextMenu() |
669 | { | 669 | { |
670 | QPopupMenu *m = new QPopupMenu(0); | 670 | QPopupMenu *m = new QPopupMenu(0); |
671 | if (m) | 671 | if (m) |
672 | { | 672 | { |
673 | if (folder->may_select()) | 673 | if (folder->may_select()) |
674 | { | 674 | { |
675 | m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); | 675 | m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS); |
676 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 676 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
677 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),4); | 677 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),4); |
678 | m->insertItem(QObject::tr("Delete all mails",contextName),1); | 678 | m->insertItem(QObject::tr("Delete all mails",contextName),1); |
679 | } | 679 | } |
680 | if (folder->no_inferior()==false) | 680 | if (folder->no_inferior()==false) |
681 | { | 681 | { |
682 | m->insertItem(QObject::tr("Create new subfolder",contextName),2); | 682 | m->insertItem(QObject::tr("Create new subfolder",contextName),2); |
683 | } | 683 | } |
684 | if (folder->getDisplayName().lower()!="inbox") | 684 | if (folder->getDisplayName().lower()!="inbox") |
685 | { | 685 | { |
686 | m->insertItem(QObject::tr("Delete folder",contextName),3); | 686 | m->insertItem(QObject::tr("Delete folder",contextName),3); |
687 | } | 687 | } |
688 | } | 688 | } |
689 | return m; | 689 | return m; |
690 | } | 690 | } |
691 | 691 | ||
692 | void IMAPfolderItem::createNewFolder() | 692 | void IMAPfolderItem::createNewFolder() |
693 | { | 693 | { |
694 | Newmdirdlg ndirdlg; | 694 | Newmdirdlg ndirdlg; |
695 | ndirdlg.showMaximized(); | 695 | ndirdlg.showMaximized(); |
696 | if ( ndirdlg.exec() ) | 696 | if ( ndirdlg.exec() ) |
697 | { | 697 | { |
698 | QString ndir = ndirdlg.Newdir(); | 698 | QString ndir = ndirdlg.Newdir(); |
699 | bool makesubs = ndirdlg.subpossible(); | 699 | bool makesubs = ndirdlg.subpossible(); |
700 | QString delemiter = Delemiter(); | 700 | QString delemiter = Delemiter(); |
701 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) | 701 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) |
702 | { | 702 | { |
703 | imap->refreshFolders(true); | 703 | imap->refreshFolders(true); |
704 | } | 704 | } |
705 | } | 705 | } |
706 | } | 706 | } |
707 | 707 | ||
708 | void IMAPfolderItem::deleteFolder() | 708 | void IMAPfolderItem::deleteFolder() |
709 | { | 709 | { |
710 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), | 710 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), |
711 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), | 711 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), |
712 | QObject::tr("Yes",contextName), | 712 | QObject::tr("Yes",contextName), |
713 | QObject::tr("No",contextName),QString::null,1,1); | 713 | QObject::tr("No",contextName),QString::null,1,1); |
714 | 714 | ||
715 | if (yesno == 0) | 715 | if (yesno == 0) |
716 | { | 716 | { |
717 | if (imap->getWrapper()->deleteMbox(folder)) | 717 | if (imap->getWrapper()->deleteMbox(folder)) |
718 | { | 718 | { |
719 | QListView*v=listView(); | 719 | QListView*v=listView(); |
720 | IMAPviewItem * box = imap; | 720 | IMAPviewItem * box = imap; |
721 | /* be carefull - after that this object is destroyd so don't use | 721 | /* be carefull - after that this object is destroyd so don't use |
722 | * any member of it after that call!!*/ | 722 | * any member of it after that call!!*/ |
723 | imap->refreshFolders(true); | 723 | imap->refreshFolders(true); |
724 | if (v) | 724 | if (v) |
725 | { | 725 | { |
726 | v->setSelected(box,true); | 726 | v->setSelected(box,true); |
727 | } | 727 | } |
728 | } | 728 | } |
729 | } | 729 | } |
730 | } | 730 | } |
731 | 731 | ||
732 | void IMAPfolderItem::downloadMails() | 732 | void IMAPfolderItem::downloadMails() |
733 | { | 733 | { |
734 | AccountView*bl = imap->accountView(); | 734 | AccountView*bl = imap->accountView(); |
735 | if (!bl) return; | 735 | if (!bl) return; |
736 | bl->downloadMails(folder,imap->getWrapper()); | 736 | bl->downloadMails(folder,imap->getWrapper()); |
737 | } | 737 | } |
738 | 738 | ||
739 | void IMAPfolderItem::contextMenuSelected(int id) | 739 | void IMAPfolderItem::contextMenuSelected(int id) |
740 | { | 740 | { |
741 | 741 | ||
742 | AccountView * view = (AccountView*)listView(); | 742 | AccountView * view = (AccountView*)listView(); |
743 | switch(id) | 743 | switch(id) |
744 | { | 744 | { |
745 | case 0: | 745 | case 0: |
746 | view->refreshCurrent(); | 746 | view->refreshCurrent(); |
747 | break; | 747 | break; |
748 | case 1: | 748 | case 1: |
749 | deleteAllMail(imap->getWrapper(),folder); | 749 | deleteAllMail(imap->getWrapper(),folder); |
750 | break; | 750 | break; |
751 | case 2: | 751 | case 2: |
752 | createNewFolder(); | 752 | createNewFolder(); |
753 | break; | 753 | break; |
754 | case 3: | 754 | case 3: |
755 | deleteFolder(); | 755 | deleteFolder(); |
756 | break; | 756 | break; |
757 | case 4: | 757 | case 4: |
758 | downloadMails(); | 758 | downloadMails(); |
759 | break; | 759 | break; |
760 | case GET_NEW_MAILS: // daunlood | 760 | case GET_NEW_MAILS: // daunlood |
761 | { | 761 | { |
762 | AccountView*bl = accountView(); | 762 | if (!view) return; |
763 | if (!bl) return; | 763 | view->downloadMailsInbox(getFolder(),imap->getWrapper()); |
764 | bl->downloadMailsInbox(getFolder(),imap->getWrapper()); | ||
765 | } | 764 | } |
766 | break; | 765 | break; |
767 | default: | 766 | default: |
768 | break; | 767 | break; |
769 | } | 768 | } |
770 | } | 769 | } |
771 | 770 | ||
772 | /** | 771 | /** |
773 | * MH Account stuff | 772 | * MH Account stuff |
774 | */ | 773 | */ |
775 | /* MH is a little bit different - the top folder can contains messages other than in IMAP and | 774 | /* MH is a little bit different - the top folder can contains messages other than in IMAP and |
776 | POP3 and MBOX */ | 775 | POP3 and MBOX */ |
777 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) | 776 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) |
778 | : AccountViewItem( parent ) | 777 | : AccountViewItem( parent ) |
779 | { | 778 | { |
780 | m_Path = aPath; | 779 | m_Path = aPath; |
781 | /* be carefull - the space within settext is wanted - thats why the string twice */ | 780 | /* be carefull - the space within settext is wanted - thats why the string twice */ |
782 | wrapper = AbstractMail::getWrapper( m_Path,"Local Folders"); | 781 | wrapper = AbstractMail::getWrapper( m_Path,"Local Folders"); |
783 | setPixmap( 0, PIXMAP_LOCALFOLDER ); | 782 | setPixmap( 0, PIXMAP_LOCALFOLDER ); |
784 | setText( 0, " Local Folders" ); | 783 | setText( 0, " Local Folders" ); |
785 | setOpen( true ); | 784 | setOpen( true ); |
786 | folder = 0; | 785 | folder = 0; |
787 | } | 786 | } |
788 | 787 | ||
789 | MHviewItem::~MHviewItem() | 788 | MHviewItem::~MHviewItem() |
790 | { | 789 | { |
791 | delete wrapper; | 790 | delete wrapper; |
792 | } | 791 | } |
793 | 792 | ||
794 | AbstractMail *MHviewItem::getWrapper() | 793 | AbstractMail *MHviewItem::getWrapper() |
795 | { | 794 | { |
796 | return wrapper; | 795 | return wrapper; |
797 | } | 796 | } |
798 | 797 | ||
799 | void MHviewItem::refresh( QValueList<RecMailP> & target) | 798 | void MHviewItem::refresh( QValueList<RecMailP> & target) |
800 | { | 799 | { |
801 | refresh(false); | 800 | refresh(false); |
802 | getWrapper()->listMessages( "",target ); | 801 | getWrapper()->listMessages( "",target ); |
803 | } | 802 | } |
804 | 803 | ||
805 | void MHviewItem::refresh(bool force) | 804 | void MHviewItem::refresh(bool force) |
806 | { | 805 | { |
807 | if (childCount()>0 && force==false) return; | 806 | if (childCount()>0 && force==false) return; |
808 | removeChilds(); | 807 | removeChilds(); |
809 | currentFolders.clear(); | 808 | currentFolders.clear(); |
810 | QValueList<FolderP> *folders = wrapper->listFolders(); | 809 | QValueList<FolderP> *folders = wrapper->listFolders(); |
811 | QValueList<FolderP>::ConstIterator it; | 810 | QValueList<FolderP>::ConstIterator it; |
812 | MHfolderItem*item = 0; | 811 | MHfolderItem*item = 0; |
813 | MHfolderItem*pmaster = 0; | 812 | MHfolderItem*pmaster = 0; |
814 | QString fname = ""; | 813 | QString fname = ""; |
815 | int pos; | 814 | int pos; |
816 | for ( it = folders->begin(); it!=folders->end(); ++it) | 815 | for ( it = folders->begin(); it!=folders->end(); ++it) |
817 | { | 816 | { |
818 | fname = (*it)->getDisplayName(); | 817 | fname = (*it)->getDisplayName(); |
819 | /* this folder itself */ | 818 | /* this folder itself */ |
820 | if (fname=="/") | 819 | if (fname=="/") |
821 | { | 820 | { |
822 | currentFolders.append(fname); | 821 | currentFolders.append(fname); |
823 | folder = (*it); | 822 | folder = (*it); |
824 | continue; | 823 | continue; |
825 | } | 824 | } |
826 | currentFolders.append(fname); | 825 | currentFolders.append(fname); |
827 | pos = fname.findRev("/"); | 826 | pos = fname.findRev("/"); |
828 | if (pos > 0) | 827 | if (pos > 0) |
829 | { | 828 | { |
830 | fname = fname.left(pos); | 829 | fname = fname.left(pos); |
831 | pmaster = (MHfolderItem*)findSubItem(fname); | 830 | pmaster = (MHfolderItem*)findSubItem(fname); |
832 | } | 831 | } |
833 | else | 832 | else |
834 | { | 833 | { |
835 | pmaster = 0; | 834 | pmaster = 0; |
836 | } | 835 | } |
837 | if (pmaster) | 836 | if (pmaster) |
838 | { | 837 | { |
839 | item = new MHfolderItem( (*it), pmaster, item, this ); | 838 | item = new MHfolderItem( (*it), pmaster, item, this ); |
840 | } | 839 | } |
841 | else | 840 | else |
842 | { | 841 | { |
843 | item = new MHfolderItem( (*it), this , item ); | 842 | item = new MHfolderItem( (*it), this , item ); |
844 | } | 843 | } |
845 | item->setSelectable((*it)->may_select()); | 844 | item->setSelectable((*it)->may_select()); |
846 | } | 845 | } |
847 | delete folders; | 846 | delete folders; |
848 | } | 847 | } |
849 | 848 | ||
850 | RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) | 849 | RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) |
851 | { | 850 | { |
852 | 851 | ||
853 | return wrapper->fetchBody( mail ); | 852 | return wrapper->fetchBody( mail ); |
854 | } | 853 | } |
855 | 854 | ||
856 | QPopupMenu * MHviewItem::getContextMenu() | 855 | QPopupMenu * MHviewItem::getContextMenu() |
857 | { | 856 | { |
858 | QPopupMenu *m = new QPopupMenu(0); | 857 | QPopupMenu *m = new QPopupMenu(0); |
859 | if (m) | 858 | if (m) |
860 | { | 859 | { |
861 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); | 860 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); |
862 | m->insertItem(QObject::tr("Create new folder",contextName),1); | 861 | m->insertItem(QObject::tr("Create new folder",contextName),1); |
863 | m->insertItem(QObject::tr("Delete all mails",contextName),2); | 862 | m->insertItem(QObject::tr("Delete all mails",contextName),2); |
864 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),3); | 863 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),3); |
865 | } | 864 | } |
866 | return m; | 865 | return m; |
867 | } | 866 | } |
868 | 867 | ||
869 | void MHviewItem::createFolder() | 868 | void MHviewItem::createFolder() |
870 | { | 869 | { |
871 | Newmdirdlg ndirdlg(0,0,true); | 870 | Newmdirdlg ndirdlg(0,0,true); |
872 | ndirdlg.showMaximized(); | 871 | ndirdlg.showMaximized(); |
873 | if ( ndirdlg.exec() ) | 872 | if ( ndirdlg.exec() ) |
874 | { | 873 | { |
875 | QString ndir = ndirdlg.Newdir(); | 874 | QString ndir = ndirdlg.Newdir(); |
876 | if (wrapper->createMbox(ndir)) | 875 | if (wrapper->createMbox(ndir)) |
877 | { | 876 | { |
878 | refresh(true); | 877 | refresh(true); |
879 | } | 878 | } |
880 | } | 879 | } |
881 | } | 880 | } |
882 | 881 | ||
883 | void MHviewItem::downloadMails() | 882 | void MHviewItem::downloadMails() |
884 | { | 883 | { |
885 | AccountView*bl = accountView(); | 884 | AccountView*bl = accountView(); |
886 | if (!bl) return; | 885 | if (!bl) return; |
887 | bl->downloadMails(folder,getWrapper()); | 886 | bl->downloadMails(folder,getWrapper()); |
888 | } | 887 | } |
889 | 888 | ||
890 | QStringList MHviewItem::subFolders() | 889 | QStringList MHviewItem::subFolders() |
891 | { | 890 | { |
892 | return currentFolders; | 891 | return currentFolders; |