Diffstat (limited to 'noncore/net/mail/accountitem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountitem.cpp | 240 |
1 files changed, 126 insertions, 114 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp index 10db2c6..f7fdccd 100644 --- a/noncore/net/mail/accountitem.cpp +++ b/noncore/net/mail/accountitem.cpp | |||
@@ -74,40 +74,34 @@ void POP3viewItem::refresh() | |||
74 | item = new POP3folderItem( (*it), this , item ); | 74 | item = new POP3folderItem( (*it), this , item ); |
75 | item->setSelectable( (*it)->may_select()); | 75 | item->setSelectable( (*it)->may_select()); |
76 | } | 76 | } |
77 | delete folders; | 77 | delete folders; |
78 | } | 78 | } |
79 | 79 | ||
80 | RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) | 80 | RECBODYP POP3viewItem::fetchBody( const RecMailP &mail ) |
81 | { | 81 | { |
82 | odebug << "POP3 fetchBody" << oendl; | 82 | odebug << "POP3 fetchBody" << oendl; |
83 | return wrapper->fetchBody( mail ); | 83 | return wrapper->fetchBody( mail ); |
84 | } | 84 | } |
85 | 85 | ||
86 | QPopupMenu * POP3viewItem::getContextMenu() | 86 | QMap<int,QString> POP3viewItem::serverMenu() |
87 | { | 87 | { |
88 | QPopupMenu *m = new QPopupMenu(0); | 88 | QMap<int,QString> _entries; |
89 | if (m) | 89 | if (!account->getOffline()) { |
90 | { | 90 | _entries[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
91 | if (!account->getOffline()) | 91 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
92 | { | 92 | } else { |
93 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 93 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
94 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
99 | } | ||
100 | } | 94 | } |
101 | return m; | 95 | return _entries; |
102 | } | 96 | } |
103 | 97 | ||
104 | void POP3viewItem::disconnect() | 98 | void POP3viewItem::disconnect() |
105 | { | 99 | { |
106 | QListViewItem *child = firstChild(); | 100 | QListViewItem *child = firstChild(); |
107 | while ( child ) | 101 | while ( child ) |
108 | { | 102 | { |
109 | QListViewItem *tmp = child; | 103 | QListViewItem *tmp = child; |
110 | child = child->nextSibling(); | 104 | child = child->nextSibling(); |
111 | delete tmp; | 105 | delete tmp; |
112 | } | 106 | } |
113 | wrapper->logout(); | 107 | wrapper->logout(); |
@@ -116,35 +110,36 @@ void POP3viewItem::disconnect() | |||
116 | void POP3viewItem::setOnOffline() | 110 | void POP3viewItem::setOnOffline() |
117 | { | 111 | { |
118 | if (!account->getOffline()) | 112 | if (!account->getOffline()) |
119 | { | 113 | { |
120 | disconnect(); | 114 | disconnect(); |
121 | } | 115 | } |
122 | account->setOffline(!account->getOffline()); | 116 | account->setOffline(!account->getOffline()); |
123 | account->save(); | 117 | account->save(); |
124 | SETPIX(PIXMAP_POP3FOLDER); | 118 | SETPIX(PIXMAP_POP3FOLDER); |
125 | refresh(); | 119 | refresh(); |
126 | } | 120 | } |
127 | 121 | ||
128 | void POP3viewItem::contextMenuSelected(int which) | 122 | bool POP3viewItem::contextMenuSelected(int which) |
129 | { | 123 | { |
130 | switch (which) | 124 | switch (which) |
131 | { | 125 | { |
132 | case SERVER_MENU_DISCONNECT: | 126 | case SERVER_MENU_DISCONNECT: |
133 | disconnect(); | 127 | disconnect(); |
134 | break; | 128 | break; |
135 | case SERVER_MENU_OFFLINE: | 129 | case SERVER_MENU_OFFLINE: |
136 | setOnOffline(); | 130 | setOnOffline(); |
137 | break; | 131 | break; |
138 | } | 132 | } |
133 | return false; | ||
139 | } | 134 | } |
140 | 135 | ||
141 | POP3folderItem::~POP3folderItem() | 136 | POP3folderItem::~POP3folderItem() |
142 | {} | 137 | {} |
143 | 138 | ||
144 | POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent , QListViewItem*after ) | 139 | POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent , QListViewItem*after ) |
145 | : AccountViewItem(folderInit,parent,after ) | 140 | : AccountViewItem(folderInit,parent,after ) |
146 | { | 141 | { |
147 | pop3 = parent; | 142 | pop3 = parent; |
148 | if (folder->getDisplayName().lower()!="inbox") | 143 | if (folder->getDisplayName().lower()!="inbox") |
149 | { | 144 | { |
150 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 145 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
@@ -158,62 +153,60 @@ POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent , | |||
158 | 153 | ||
159 | void POP3folderItem::refresh(QValueList<RecMailP>&target) | 154 | void POP3folderItem::refresh(QValueList<RecMailP>&target) |
160 | { | 155 | { |
161 | if (folder->may_select()) | 156 | if (folder->may_select()) |
162 | pop3->getWrapper()->listMessages( folder->getName(),target ); | 157 | pop3->getWrapper()->listMessages( folder->getName(),target ); |
163 | } | 158 | } |
164 | 159 | ||
165 | RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) | 160 | RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail) |
166 | { | 161 | { |
167 | return pop3->getWrapper()->fetchBody(aMail); | 162 | return pop3->getWrapper()->fetchBody(aMail); |
168 | } | 163 | } |
169 | 164 | ||
170 | QPopupMenu * POP3folderItem::getContextMenu() | 165 | QMap<int,QString> POP3folderItem::folderMenu() |
171 | { | 166 | { |
172 | QPopupMenu *m = new QPopupMenu(0); | 167 | QMap<int,QString> _entries; |
173 | if (m) | 168 | _entries[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
174 | { | 169 | _entries[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
175 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 170 | _entries[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); |
176 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 171 | return _entries; |
177 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | ||
178 | } | ||
179 | return m; | ||
180 | } | 172 | } |
181 | 173 | ||
182 | void POP3folderItem::downloadMails() | 174 | void POP3folderItem::downloadMails() |
183 | { | 175 | { |
184 | AccountView*bl = pop3->accountView(); | 176 | AccountView*bl = pop3->accountView(); |
185 | if (!bl) return; | 177 | if (!bl) return; |
186 | bl->downloadMails(folder,pop3->getWrapper()); | 178 | bl->downloadMails(folder,pop3->getWrapper()); |
187 | } | 179 | } |
188 | 180 | ||
189 | void POP3folderItem::contextMenuSelected(int which) | 181 | bool POP3folderItem::contextMenuSelected(int which) |
190 | { | 182 | { |
191 | AccountView * view = (AccountView*)listView(); | 183 | AccountView * view = (AccountView*)listView(); |
192 | switch (which) | 184 | switch (which) |
193 | { | 185 | { |
194 | case FOLDER_MENU_REFRESH_HEADER: | 186 | case FOLDER_MENU_REFRESH_HEADER: |
195 | /* must be 'cause pop3 lists are cached */ | 187 | /* must be 'cause pop3 lists are cached */ |
196 | pop3->getWrapper()->logout(); | 188 | pop3->getWrapper()->logout(); |
197 | view->refreshCurrent(); | 189 | view->refreshCurrent(); |
198 | break; | 190 | break; |
199 | case FOLDER_MENU_DELETE_ALL_MAILS: | 191 | case FOLDER_MENU_DELETE_ALL_MAILS: |
200 | deleteAllMail(pop3->getWrapper(),folder); | 192 | deleteAllMail(pop3->getWrapper(),folder); |
201 | break; | 193 | break; |
202 | case FOLDER_MENU_MOVE_MAILS: | 194 | case FOLDER_MENU_MOVE_MAILS: |
203 | downloadMails(); | 195 | downloadMails(); |
204 | break; | 196 | break; |
205 | default: | 197 | default: |
206 | break; | 198 | break; |
207 | } | 199 | } |
200 | return false; | ||
208 | } | 201 | } |
209 | 202 | ||
210 | /** | 203 | /** |
211 | * NNTP Account stuff | 204 | * NNTP Account stuff |
212 | */ | 205 | */ |
213 | NNTPviewItem::NNTPviewItem( NNTPaccount *a, AccountView *parent ) | 206 | NNTPviewItem::NNTPviewItem( NNTPaccount *a, AccountView *parent ) |
214 | : AccountViewItem( parent ) | 207 | : AccountViewItem( parent ) |
215 | { | 208 | { |
216 | account = a; | 209 | account = a; |
217 | wrapper = AbstractMail::getWrapper( account ); | 210 | wrapper = AbstractMail::getWrapper( account ); |
218 | //FIXME | 211 | //FIXME |
219 | SETPIX(PIXMAP_POP3FOLDER); | 212 | SETPIX(PIXMAP_POP3FOLDER); |
@@ -265,41 +258,36 @@ void NNTPviewItem::refresh() | |||
265 | item = new NNTPfolderItem( (*it), this , item ); | 258 | item = new NNTPfolderItem( (*it), this , item ); |
266 | item->setSelectable( (*it)->may_select()); | 259 | item->setSelectable( (*it)->may_select()); |
267 | } | 260 | } |
268 | delete folders; | 261 | delete folders; |
269 | } | 262 | } |
270 | 263 | ||
271 | RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) | 264 | RECBODYP NNTPviewItem::fetchBody( const RecMailP &mail ) |
272 | { | 265 | { |
273 | odebug << "NNTP fetchBody" << oendl; | 266 | odebug << "NNTP fetchBody" << oendl; |
274 | return wrapper->fetchBody( mail ); | 267 | return wrapper->fetchBody( mail ); |
275 | } | 268 | } |
276 | 269 | ||
277 | QPopupMenu * NNTPviewItem::getContextMenu() | 270 | QMap<int,QString> NNTPviewItem::serverMenu() |
278 | { | 271 | { |
279 | QPopupMenu *m = new QPopupMenu(0); | 272 | QMap<int,QString> _entries; |
280 | if (m) | 273 | if (!account->getOffline()) |
281 | { | 274 | { |
282 | if (!account->getOffline()) | 275 | _entries[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
283 | { | 276 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
284 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 277 | _entries[SERVER_MENU_SUBSCRIBE]=QObject::tr("(Un-)Subscribe groups",contextName); |
285 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | 278 | } else { |
286 | m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),SERVER_MENU_SUBSCRIBE); | 279 | _entries[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
287 | } | ||
288 | else | ||
289 | { | ||
290 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
291 | } | ||
292 | } | 280 | } |
293 | return m; | 281 | return _entries; |
294 | } | 282 | } |
295 | 283 | ||
296 | void NNTPviewItem::subscribeGroups() | 284 | void NNTPviewItem::subscribeGroups() |
297 | { | 285 | { |
298 | NNTPGroupsDlg dlg(account); | 286 | NNTPGroupsDlg dlg(account); |
299 | if (QPEApplication::execDialog(&dlg)== QDialog::Accepted ){ | 287 | if (QPEApplication::execDialog(&dlg)== QDialog::Accepted ){ |
300 | refresh(); | 288 | refresh(); |
301 | } | 289 | } |
302 | } | 290 | } |
303 | 291 | ||
304 | void NNTPviewItem::disconnect() | 292 | void NNTPviewItem::disconnect() |
305 | { | 293 | { |
@@ -317,38 +305,39 @@ void NNTPviewItem::setOnOffline() | |||
317 | { | 305 | { |
318 | if (!account->getOffline()) | 306 | if (!account->getOffline()) |
319 | { | 307 | { |
320 | disconnect(); | 308 | disconnect(); |
321 | } | 309 | } |
322 | account->setOffline(!account->getOffline()); | 310 | account->setOffline(!account->getOffline()); |
323 | account->save(); | 311 | account->save(); |
324 | //FIXME | 312 | //FIXME |
325 | SETPIX(PIXMAP_POP3FOLDER); | 313 | SETPIX(PIXMAP_POP3FOLDER); |
326 | refresh(); | 314 | refresh(); |
327 | } | 315 | } |
328 | 316 | ||
329 | void NNTPviewItem::contextMenuSelected(int which) | 317 | bool NNTPviewItem::contextMenuSelected(int which) |
330 | { | 318 | { |
331 | switch (which) | 319 | switch (which) |
332 | { | 320 | { |
333 | case SERVER_MENU_DISCONNECT: | 321 | case SERVER_MENU_DISCONNECT: |
334 | disconnect(); | 322 | disconnect(); |
335 | break; | 323 | break; |
336 | case SERVER_MENU_OFFLINE: | 324 | case SERVER_MENU_OFFLINE: |
337 | setOnOffline(); | 325 | setOnOffline(); |
338 | break; | 326 | break; |
339 | case SERVER_MENU_SUBSCRIBE: | 327 | case SERVER_MENU_SUBSCRIBE: |
340 | subscribeGroups(); | 328 | subscribeGroups(); |
341 | break; | 329 | break; |
342 | } | 330 | } |
331 | return false; | ||
343 | } | 332 | } |
344 | 333 | ||
345 | NNTPfolderItem::~NNTPfolderItem() | 334 | NNTPfolderItem::~NNTPfolderItem() |
346 | {} | 335 | {} |
347 | 336 | ||
348 | NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) | 337 | NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent , QListViewItem*after ) |
349 | : AccountViewItem( folderInit, parent,after ) | 338 | : AccountViewItem( folderInit, parent,after ) |
350 | { | 339 | { |
351 | nntp = parent; | 340 | nntp = parent; |
352 | if (folder->getDisplayName().lower()!="inbox") | 341 | if (folder->getDisplayName().lower()!="inbox") |
353 | { | 342 | { |
354 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 343 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
@@ -362,58 +351,56 @@ NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent | |||
362 | 351 | ||
363 | void NNTPfolderItem::refresh(QValueList<RecMailP>&target) | 352 | void NNTPfolderItem::refresh(QValueList<RecMailP>&target) |
364 | { | 353 | { |
365 | if (folder->may_select()) | 354 | if (folder->may_select()) |
366 | nntp->getWrapper()->listMessages( folder->getName(),target ); | 355 | nntp->getWrapper()->listMessages( folder->getName(),target ); |
367 | } | 356 | } |
368 | 357 | ||
369 | RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) | 358 | RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail) |
370 | { | 359 | { |
371 | return nntp->getWrapper()->fetchBody(aMail); | 360 | return nntp->getWrapper()->fetchBody(aMail); |
372 | } | 361 | } |
373 | 362 | ||
374 | QPopupMenu * NNTPfolderItem::getContextMenu() | 363 | QMap<int,QString> NNTPfolderItem::folderMenu() |
375 | { | 364 | { |
376 | QPopupMenu *m = new QPopupMenu(0); | 365 | QMap<int,QString> _entries; |
377 | if (m) | 366 | _entries[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
378 | { | 367 | _entries[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Copy all postings",contextName); |
379 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 368 | return _entries; |
380 | m->insertItem(QObject::tr("Copy all postings",contextName),FOLDER_MENU_MOVE_MAILS); | ||
381 | } | ||
382 | return m; | ||
383 | } | 369 | } |
384 | 370 | ||
385 | void NNTPfolderItem::downloadMails() | 371 | void NNTPfolderItem::downloadMails() |
386 | { | 372 | { |
387 | AccountView*bl = nntp->accountView(); | 373 | AccountView*bl = nntp->accountView(); |
388 | if (!bl) return; | 374 | if (!bl) return; |
389 | bl->downloadMails(folder,nntp->getWrapper()); | 375 | bl->downloadMails(folder,nntp->getWrapper()); |
390 | } | 376 | } |
391 | 377 | ||
392 | void NNTPfolderItem::contextMenuSelected(int which) | 378 | bool NNTPfolderItem::contextMenuSelected(int which) |
393 | { | 379 | { |
394 | AccountView * view = (AccountView*)listView(); | 380 | AccountView * view = (AccountView*)listView(); |
395 | switch (which) | 381 | switch (which) |
396 | { | 382 | { |
397 | case FOLDER_MENU_REFRESH_HEADER: | 383 | case FOLDER_MENU_REFRESH_HEADER: |
398 | /* must be 'cause nntp lists are cached */ | 384 | /* must be 'cause nntp lists are cached */ |
399 | nntp->getWrapper()->logout(); | 385 | nntp->getWrapper()->logout(); |
400 | view->refreshCurrent(); | 386 | view->refreshCurrent(); |
401 | break; | 387 | break; |
402 | case FOLDER_MENU_MOVE_MAILS: | 388 | case FOLDER_MENU_MOVE_MAILS: |
403 | downloadMails(); | 389 | downloadMails(); |
404 | break; | 390 | break; |
405 | default: | 391 | default: |
406 | break; | 392 | break; |
407 | } | 393 | } |
394 | return false; | ||
408 | } | 395 | } |
409 | 396 | ||
410 | /** | 397 | /** |
411 | * IMAP Account stuff | 398 | * IMAP Account stuff |
412 | */ | 399 | */ |
413 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, AccountView *parent ) | 400 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, AccountView *parent ) |
414 | : AccountViewItem( parent ) | 401 | : AccountViewItem( parent ) |
415 | { | 402 | { |
416 | account = a; | 403 | account = a; |
417 | wrapper = AbstractMail::getWrapper( account ); | 404 | wrapper = AbstractMail::getWrapper( account ); |
418 | SETPIX(PIXMAP_IMAPFOLDER); | 405 | SETPIX(PIXMAP_IMAPFOLDER); |
419 | setText( 0, account->getAccountName() ); | 406 | setText( 0, account->getAccountName() ); |
@@ -482,66 +469,59 @@ void IMAPviewItem::refreshFolders(bool force) | |||
482 | /* setup the short name */ | 469 | /* setup the short name */ |
483 | item->setText(0,(*it)->getDisplayName().right((*it)->getDisplayName().length()-pos-1)); | 470 | item->setText(0,(*it)->getDisplayName().right((*it)->getDisplayName().length()-pos-1)); |
484 | item = titem; | 471 | item = titem; |
485 | } | 472 | } |
486 | else | 473 | else |
487 | { | 474 | { |
488 | item = new IMAPfolderItem( (*it), this , item ); | 475 | item = new IMAPfolderItem( (*it), this , item ); |
489 | } | 476 | } |
490 | } | 477 | } |
491 | delete folders; | 478 | delete folders; |
492 | } | 479 | } |
493 | 480 | ||
494 | QPopupMenu * IMAPviewItem::getContextMenu() | 481 | QMap<int,QString> IMAPviewItem::serverMenu() |
495 | { | 482 | { |
496 | QPopupMenu *m = new QPopupMenu(0); | 483 | QMap<int,QString> e; |
497 | if (m) | 484 | if (!account->getOffline()) { |
498 | { | 485 | e[SERVER_MENU_DISCONNECT]=QObject::tr("Disconnect",contextName); |
499 | if (!account->getOffline()) | 486 | e[SERVER_MENU_OFFLINE]=QObject::tr("Set offline",contextName); |
500 | { | 487 | e[SERVER_MENU_REFRESH_FOLDER]=QObject::tr("Refresh folder list",contextName); |
501 | m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT); | 488 | e[SERVER_MENU_CREATE_FOLDER]=QObject::tr("Create new folder",contextName); |
502 | m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE); | 489 | } else { |
503 | m->insertSeparator(); | 490 | e[SERVER_MENU_OFFLINE]=QObject::tr("Set online",contextName); |
504 | m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER); | ||
505 | m->insertItem(QObject::tr("Create new folder",contextName),SERVER_MENU_CREATE_FOLDER); | ||
506 | } | ||
507 | else | ||
508 | { | ||
509 | m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE); | ||
510 | } | ||
511 | } | 491 | } |
512 | return m; | 492 | return e; |
513 | } | 493 | } |
514 | 494 | ||
515 | void IMAPviewItem::createNewFolder() | 495 | void IMAPviewItem::createNewFolder() |
516 | { | 496 | { |
517 | Newmdirdlg ndirdlg; | 497 | Newmdirdlg ndirdlg; |
518 | if ( QPEApplication::execDialog( &ndirdlg )) | 498 | if ( QPEApplication::execDialog( &ndirdlg )) |
519 | { | 499 | { |
520 | QString ndir = ndirdlg.Newdir(); | 500 | QString ndir = ndirdlg.Newdir(); |
521 | bool makesubs = ndirdlg.subpossible(); | 501 | bool makesubs = ndirdlg.subpossible(); |
522 | QString delemiter = "/"; | 502 | QString delemiter = "/"; |
523 | IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); | 503 | IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); |
524 | if (item) | 504 | if (item) |
525 | { | 505 | { |
526 | delemiter = item->Delemiter(); | 506 | delemiter = item->Delemiter(); |
527 | } | 507 | } |
528 | if (wrapper->createMbox(ndir,0,delemiter,makesubs)) | 508 | if (wrapper->createMbox(ndir,0,delemiter,makesubs)) |
529 | { | 509 | { |
530 | refreshFolders(true); | 510 | refreshFolders(true); |
531 | } | 511 | } |
532 | } | 512 | } |
533 | } | 513 | } |
534 | 514 | ||
535 | void IMAPviewItem::contextMenuSelected(int id) | 515 | bool IMAPviewItem::contextMenuSelected(int id) |
536 | { | 516 | { |
537 | odebug << "Id selected: " << id << "" << oendl; | 517 | odebug << "Id selected: " << id << "" << oendl; |
538 | switch (id) | 518 | switch (id) |
539 | { | 519 | { |
540 | case SERVER_MENU_REFRESH_FOLDER: | 520 | case SERVER_MENU_REFRESH_FOLDER: |
541 | refreshFolders(true); | 521 | refreshFolders(true); |
542 | break; | 522 | break; |
543 | case SERVER_MENU_CREATE_FOLDER: | 523 | case SERVER_MENU_CREATE_FOLDER: |
544 | createNewFolder(); | 524 | createNewFolder(); |
545 | break; | 525 | break; |
546 | case SERVER_MENU_DISCONNECT: | 526 | case SERVER_MENU_DISCONNECT: |
547 | removeChilds(); | 527 | removeChilds(); |
@@ -552,24 +532,25 @@ void IMAPviewItem::contextMenuSelected(int id) | |||
552 | { | 532 | { |
553 | removeChilds(); | 533 | removeChilds(); |
554 | wrapper->logout(); | 534 | wrapper->logout(); |
555 | } | 535 | } |
556 | account->setOffline(!account->getOffline()); | 536 | account->setOffline(!account->getOffline()); |
557 | account->save(); | 537 | account->save(); |
558 | SETPIX(PIXMAP_IMAPFOLDER); | 538 | SETPIX(PIXMAP_IMAPFOLDER); |
559 | refreshFolders(false); | 539 | refreshFolders(false); |
560 | break; | 540 | break; |
561 | default: | 541 | default: |
562 | break; | 542 | break; |
563 | } | 543 | } |
544 | return false; | ||
564 | } | 545 | } |
565 | 546 | ||
566 | RECBODYP IMAPviewItem::fetchBody(const RecMailP&) | 547 | RECBODYP IMAPviewItem::fetchBody(const RecMailP&) |
567 | { | 548 | { |
568 | return new RecBody(); | 549 | return new RecBody(); |
569 | } | 550 | } |
570 | 551 | ||
571 | bool IMAPviewItem::offline() | 552 | bool IMAPviewItem::offline() |
572 | { | 553 | { |
573 | return account->getOffline(); | 554 | return account->getOffline(); |
574 | } | 555 | } |
575 | 556 | ||
@@ -619,121 +600,118 @@ void IMAPfolderItem::refresh(QValueList<RecMailP>&target) | |||
619 | } | 600 | } |
620 | else | 601 | else |
621 | { | 602 | { |
622 | target.clear(); | 603 | target.clear(); |
623 | } | 604 | } |
624 | } | 605 | } |
625 | 606 | ||
626 | RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) | 607 | RECBODYP IMAPfolderItem::fetchBody(const RecMailP&aMail) |
627 | { | 608 | { |
628 | return imap->getWrapper()->fetchBody(aMail); | 609 | return imap->getWrapper()->fetchBody(aMail); |
629 | } | 610 | } |
630 | 611 | ||
631 | QPopupMenu * IMAPfolderItem::getContextMenu() | 612 | QMap<int,QString> IMAPfolderItem::folderMenu() |
632 | { | 613 | { |
633 | QPopupMenu *m = new QPopupMenu(0); | 614 | QMap<int,QString> e; |
634 | if (m) | 615 | if (folder->may_select()) { |
635 | { | 616 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
636 | if (folder->may_select()) | 617 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copy all mails",contextName); |
637 | { | 618 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
638 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | ||
639 | m->insertItem(QObject::tr("Move/Copy all mails",contextName),FOLDER_MENU_MOVE_MAILS); | ||
640 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | ||
641 | } | ||
642 | if (folder->no_inferior()==false) | ||
643 | { | ||
644 | m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | ||
645 | } | ||
646 | if (folder->getDisplayName().lower()!="inbox") | ||
647 | { | ||
648 | m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER); | ||
649 | } | ||
650 | } | 619 | } |
651 | return m; | 620 | if (folder->no_inferior()==false) { |
621 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new subfolder",contextName); | ||
622 | } | ||
623 | if (folder->getDisplayName().lower()!="inbox") { | ||
624 | e[FOLDER_MENU_DELETE_FOLDER]=QObject::tr("Delete folder",contextName); | ||
625 | } | ||
626 | return e; | ||
652 | } | 627 | } |
653 | 628 | ||
654 | void IMAPfolderItem::createNewFolder() | 629 | void IMAPfolderItem::createNewFolder() |
655 | { | 630 | { |
656 | Newmdirdlg ndirdlg; | 631 | Newmdirdlg ndirdlg; |
657 | if ( QPEApplication::execDialog( &ndirdlg ) ) | 632 | if ( QPEApplication::execDialog( &ndirdlg ) ) |
658 | { | 633 | { |
659 | QString ndir = ndirdlg.Newdir(); | 634 | QString ndir = ndirdlg.Newdir(); |
660 | bool makesubs = ndirdlg.subpossible(); | 635 | bool makesubs = ndirdlg.subpossible(); |
661 | QString delemiter = Delemiter(); | 636 | QString delemiter = Delemiter(); |
662 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) | 637 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) |
663 | { | 638 | { |
664 | imap->refreshFolders(true); | 639 | imap->refreshFolders(true); |
665 | } | 640 | } |
666 | } | 641 | } |
667 | } | 642 | } |
668 | 643 | ||
669 | void IMAPfolderItem::deleteFolder() | 644 | bool IMAPfolderItem::deleteFolder() |
670 | { | 645 | { |
671 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), | 646 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), |
672 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), | 647 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), |
673 | QObject::tr("Yes",contextName), | 648 | QObject::tr("Yes",contextName), |
674 | QObject::tr("No",contextName),QString::null,1,1); | 649 | QObject::tr("No",contextName),QString::null,1,1); |
675 | odebug << "Auswahl: " << yesno << "" << oendl; | 650 | odebug << "Auswahl: " << yesno << "" << oendl; |
676 | if (yesno == 0) | 651 | if (yesno == 0) |
677 | { | 652 | { |
678 | if (imap->getWrapper()->deleteMbox(folder)) | 653 | if (imap->getWrapper()->deleteMbox(folder)) |
679 | { | 654 | { |
680 | QListView*v=listView(); | 655 | QListView*v=listView(); |
681 | IMAPviewItem * box = imap; | 656 | IMAPviewItem * box = imap; |
682 | /* be carefull - after that this object is destroyd so don't use | 657 | /* be carefull - after that this object is destroyd so don't use |
683 | * any member of it after that call!!*/ | 658 | * any member of it after that call!!*/ |
684 | imap->refreshFolders(true); | 659 | imap->refreshFolders(true); |
685 | if (v) | 660 | if (v) |
686 | { | 661 | { |
687 | v->setSelected(box,true); | 662 | v->setSelected(box,true); |
688 | } | 663 | } |
664 | return true; | ||
689 | } | 665 | } |
690 | } | 666 | } |
667 | return false; | ||
691 | } | 668 | } |
692 | 669 | ||
693 | void IMAPfolderItem::downloadMails() | 670 | void IMAPfolderItem::downloadMails() |
694 | { | 671 | { |
695 | AccountView*bl = imap->accountView(); | 672 | AccountView*bl = imap->accountView(); |
696 | if (!bl) return; | 673 | if (!bl) return; |
697 | bl->downloadMails(folder,imap->getWrapper()); | 674 | bl->downloadMails(folder,imap->getWrapper()); |
698 | } | 675 | } |
699 | 676 | ||
700 | void IMAPfolderItem::contextMenuSelected(int id) | 677 | bool IMAPfolderItem::contextMenuSelected(int id) |
701 | { | 678 | { |
702 | odebug << "Selected id: " << id << "" << oendl; | 679 | odebug << "Selected id: " << id << "" << oendl; |
703 | AccountView * view = (AccountView*)listView(); | 680 | AccountView * view = (AccountView*)listView(); |
704 | switch(id) | 681 | switch(id) |
705 | { | 682 | { |
706 | case FOLDER_MENU_REFRESH_HEADER: | 683 | case FOLDER_MENU_REFRESH_HEADER: |
707 | view->refreshCurrent(); | 684 | view->refreshCurrent(); |
708 | break; | 685 | break; |
709 | case FOLDER_MENU_DELETE_ALL_MAILS: | 686 | case FOLDER_MENU_DELETE_ALL_MAILS: |
710 | deleteAllMail(imap->getWrapper(),folder); | 687 | deleteAllMail(imap->getWrapper(),folder); |
711 | break; | 688 | break; |
712 | case FOLDER_MENU_NEW_SUBFOLDER: | 689 | case FOLDER_MENU_NEW_SUBFOLDER: |
713 | if (folder->no_inferior()==false) { | 690 | if (folder->no_inferior()==false) { |
714 | createNewFolder(); | 691 | createNewFolder(); |
715 | } | 692 | } |
716 | break; | 693 | break; |
717 | case FOLDER_MENU_DELETE_FOLDER: | 694 | case FOLDER_MENU_DELETE_FOLDER: |
718 | if (folder->getDisplayName().lower()!="inbox") { | 695 | if (folder->getDisplayName().lower()!="inbox") { |
719 | deleteFolder(); | 696 | return deleteFolder(); |
720 | } | 697 | } |
721 | break; | 698 | break; |
722 | case FOLDER_MENU_MOVE_MAILS: | 699 | case FOLDER_MENU_MOVE_MAILS: |
723 | downloadMails(); | 700 | downloadMails(); |
724 | break; | 701 | break; |
725 | default: | 702 | default: |
726 | break; | 703 | break; |
727 | } | 704 | } |
705 | return false; | ||
728 | } | 706 | } |
729 | 707 | ||
730 | /** | 708 | /** |
731 | * MH Account stuff | 709 | * MH Account stuff |
732 | */ | 710 | */ |
733 | /* MH is a little bit different - the top folder can contains messages other than in IMAP and | 711 | /* MH is a little bit different - the top folder can contains messages other than in IMAP and |
734 | POP3 and MBOX */ | 712 | POP3 and MBOX */ |
735 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) | 713 | MHviewItem::MHviewItem( const QString&aPath, AccountView *parent ) |
736 | : AccountViewItem( parent ) | 714 | : AccountViewItem( parent ) |
737 | { | 715 | { |
738 | m_Path = aPath; | 716 | m_Path = aPath; |
739 | /* be carefull - the space within settext is wanted - thats why the string twice */ | 717 | /* be carefull - the space within settext is wanted - thats why the string twice */ |
@@ -803,35 +781,39 @@ void MHviewItem::refresh(bool force) | |||
803 | } | 781 | } |
804 | item->setSelectable((*it)->may_select()); | 782 | item->setSelectable((*it)->may_select()); |
805 | } | 783 | } |
806 | delete folders; | 784 | delete folders; |
807 | } | 785 | } |
808 | 786 | ||
809 | RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) | 787 | RECBODYP MHviewItem::fetchBody( const RecMailP &mail ) |
810 | { | 788 | { |
811 | odebug << "MH fetchBody" << oendl; | 789 | odebug << "MH fetchBody" << oendl; |
812 | return wrapper->fetchBody( mail ); | 790 | return wrapper->fetchBody( mail ); |
813 | } | 791 | } |
814 | 792 | ||
815 | QPopupMenu * MHviewItem::getContextMenu() | 793 | QMap<int,QString> MHviewItem::serverMenu() |
816 | { | 794 | { |
817 | QPopupMenu *m = new QPopupMenu(0); | 795 | QMap<int,QString> e; |
818 | if (m) | 796 | e[SERVER_MENU_REFRESH_FOLDER]=QObject::tr("Refresh folder list",contextName); |
819 | { | 797 | return e; |
820 | m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER); | 798 | } |
821 | m->insertItem(QObject::tr("Create new folder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | 799 | |
822 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 800 | QMap<int,QString> MHviewItem::folderMenu() |
823 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | 801 | { |
824 | } | 802 | QMap<int,QString> e; |
825 | return m; | 803 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
804 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new folder",contextName); | ||
805 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); | ||
806 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); | ||
807 | return e; | ||
826 | } | 808 | } |
827 | 809 | ||
828 | void MHviewItem::createFolder() | 810 | void MHviewItem::createFolder() |
829 | { | 811 | { |
830 | Newmdirdlg ndirdlg(0,0,true); | 812 | Newmdirdlg ndirdlg(0,0,true); |
831 | if ( QPEApplication::execDialog( &ndirdlg ) ) | 813 | if ( QPEApplication::execDialog( &ndirdlg ) ) |
832 | { | 814 | { |
833 | QString ndir = ndirdlg.Newdir(); | 815 | QString ndir = ndirdlg.Newdir(); |
834 | if (wrapper->createMbox(ndir)) | 816 | if (wrapper->createMbox(ndir)) |
835 | { | 817 | { |
836 | refresh(true); | 818 | refresh(true); |
837 | } | 819 | } |
@@ -841,49 +823,50 @@ void MHviewItem::createFolder() | |||
841 | void MHviewItem::downloadMails() | 823 | void MHviewItem::downloadMails() |
842 | { | 824 | { |
843 | AccountView*bl = accountView(); | 825 | AccountView*bl = accountView(); |
844 | if (!bl) return; | 826 | if (!bl) return; |
845 | bl->downloadMails(folder,getWrapper()); | 827 | bl->downloadMails(folder,getWrapper()); |
846 | } | 828 | } |
847 | 829 | ||
848 | QStringList MHviewItem::subFolders() | 830 | QStringList MHviewItem::subFolders() |
849 | { | 831 | { |
850 | return currentFolders; | 832 | return currentFolders; |
851 | } | 833 | } |
852 | 834 | ||
853 | void MHviewItem::contextMenuSelected(int which) | 835 | bool MHviewItem::contextMenuSelected(int which) |
854 | { | 836 | { |
855 | AccountView*view = 0; | 837 | AccountView*view = 0; |
856 | 838 | ||
857 | switch (which) | 839 | switch (which) |
858 | { | 840 | { |
859 | case SERVER_MENU_REFRESH_FOLDER: | 841 | case SERVER_MENU_REFRESH_FOLDER: |
860 | refresh(true); | 842 | refresh(true); |
861 | break; | 843 | break; |
862 | case FOLDER_MENU_NEW_SUBFOLDER: | 844 | case FOLDER_MENU_NEW_SUBFOLDER: |
863 | createFolder(); | 845 | createFolder(); |
864 | break; | 846 | break; |
865 | case FOLDER_MENU_DELETE_ALL_MAILS: | 847 | case FOLDER_MENU_DELETE_ALL_MAILS: |
866 | deleteAllMail(getWrapper(),folder); | 848 | deleteAllMail(getWrapper(),folder); |
867 | break; | 849 | break; |
868 | case FOLDER_MENU_MOVE_MAILS: | 850 | case FOLDER_MENU_MOVE_MAILS: |
869 | downloadMails(); | 851 | downloadMails(); |
870 | break; | 852 | break; |
871 | case FOLDER_MENU_REFRESH_HEADER: | 853 | case FOLDER_MENU_REFRESH_HEADER: |
872 | view = (AccountView*)listView(); | 854 | view = (AccountView*)listView(); |
873 | if (view) view->refreshCurrent(); | 855 | if (view) view->refreshCurrent(); |
874 | break; | 856 | break; |
875 | default: | 857 | default: |
876 | break; | 858 | break; |
877 | } | 859 | } |
860 | return false; | ||
878 | } | 861 | } |
879 | 862 | ||
880 | MHfolderItem::~MHfolderItem() | 863 | MHfolderItem::~MHfolderItem() |
881 | {} | 864 | {} |
882 | 865 | ||
883 | MHfolderItem::MHfolderItem( const FolderP &folderInit, MHviewItem *parent , QListViewItem*after ) | 866 | MHfolderItem::MHfolderItem( const FolderP &folderInit, MHviewItem *parent , QListViewItem*after ) |
884 | : AccountViewItem(folderInit, parent,after ) | 867 | : AccountViewItem(folderInit, parent,after ) |
885 | { | 868 | { |
886 | mbox = parent; | 869 | mbox = parent; |
887 | initName(); | 870 | initName(); |
888 | } | 871 | } |
889 | 872 | ||
@@ -929,60 +912,59 @@ const FolderP&MHfolderItem::getFolder()const | |||
929 | 912 | ||
930 | void MHfolderItem::refresh(QValueList<RecMailP>&target) | 913 | void MHfolderItem::refresh(QValueList<RecMailP>&target) |
931 | { | 914 | { |
932 | if (folder->may_select()) | 915 | if (folder->may_select()) |
933 | mbox->getWrapper()->listMessages( folder->getName(),target ); | 916 | mbox->getWrapper()->listMessages( folder->getName(),target ); |
934 | } | 917 | } |
935 | 918 | ||
936 | RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) | 919 | RECBODYP MHfolderItem::fetchBody(const RecMailP&aMail) |
937 | { | 920 | { |
938 | return mbox->getWrapper()->fetchBody(aMail); | 921 | return mbox->getWrapper()->fetchBody(aMail); |
939 | } | 922 | } |
940 | 923 | ||
941 | void MHfolderItem::deleteFolder() | 924 | bool MHfolderItem::deleteFolder() |
942 | { | 925 | { |
943 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), | 926 | int yesno = QMessageBox::warning(0,QObject::tr("Delete folder",contextName), |
944 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), | 927 | QObject::tr("<center>Realy delete folder <br><b>%1</b><br>and all if it content?</center>",contextName).arg(folder->getDisplayName()), |
945 | QObject::tr("Yes",contextName), | 928 | QObject::tr("Yes",contextName), |
946 | QObject::tr("No",contextName),QString::null,1,1); | 929 | QObject::tr("No",contextName),QString::null,1,1); |
947 | odebug << "Auswahl: " << yesno << "" << oendl; | 930 | odebug << "Auswahl: " << yesno << "" << oendl; |
948 | if (yesno == 0) | 931 | if (yesno == 0) |
949 | { | 932 | { |
950 | if (mbox->getWrapper()->deleteMbox(folder)) | 933 | if (mbox->getWrapper()->deleteMbox(folder)) |
951 | { | 934 | { |
952 | QListView*v=listView(); | 935 | QListView*v=listView(); |
953 | MHviewItem * box = mbox; | 936 | MHviewItem * box = mbox; |
954 | /* be carefull - after that this object is destroyd so don't use | 937 | /* be carefull - after that this object is destroyd so don't use |
955 | * any member of it after that call!!*/ | 938 | * any member of it after that call!!*/ |
956 | mbox->refresh(true); | 939 | mbox->refresh(true); |
957 | if (v) | 940 | if (v) |
958 | { | 941 | { |
959 | v->setSelected(box,true); | 942 | v->setSelected(box,true); |
960 | } | 943 | } |
944 | return true; | ||
961 | } | 945 | } |
962 | } | 946 | } |
947 | return false; | ||
963 | } | 948 | } |
964 | 949 | ||
965 | QPopupMenu * MHfolderItem::getContextMenu() | 950 | QMap<int,QString> MHfolderItem::folderMenu() |
966 | { | 951 | { |
967 | QPopupMenu *m = new QPopupMenu(0); | 952 | QMap<int,QString> e; |
968 | if (m) | 953 | e[FOLDER_MENU_NEW_SUBFOLDER]=QObject::tr("Create new subfolder",contextName); |
969 | { | 954 | e[FOLDER_MENU_REFRESH_HEADER]=QObject::tr("Refresh header list",contextName); |
970 | m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER); | 955 | e[FOLDER_MENU_MOVE_MAILS]=QObject::tr("Move/Copie all mails",contextName); |
971 | m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER); | 956 | e[FOLDER_MENU_DELETE_ALL_MAILS]=QObject::tr("Delete all mails",contextName); |
972 | m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS); | 957 | e[FOLDER_MENU_DELETE_FOLDER]=QObject::tr("Delete folder",contextName); |
973 | m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS); | 958 | return e; |
974 | m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER); | ||
975 | } | ||
976 | return m; | ||
977 | } | 959 | } |
978 | 960 | ||
979 | void MHfolderItem::downloadMails() | 961 | void MHfolderItem::downloadMails() |
980 | { | 962 | { |
981 | AccountView*bl = mbox->accountView(); | 963 | AccountView*bl = mbox->accountView(); |
982 | if (!bl) return; | 964 | if (!bl) return; |
983 | bl->downloadMails(folder,mbox->getWrapper()); | 965 | bl->downloadMails(folder,mbox->getWrapper()); |
984 | } | 966 | } |
985 | 967 | ||
986 | void MHfolderItem::createFolder() | 968 | void MHfolderItem::createFolder() |
987 | { | 969 | { |
988 | Newmdirdlg ndirdlg(0,0,true); | 970 | Newmdirdlg ndirdlg(0,0,true); |
@@ -995,48 +977,49 @@ void MHfolderItem::createFolder() | |||
995 | MHviewItem * box = mbox; | 977 | MHviewItem * box = mbox; |
996 | /* be carefull - after that this object is destroyd so don't use | 978 | /* be carefull - after that this object is destroyd so don't use |
997 | * any member of it after that call!!*/ | 979 | * any member of it after that call!!*/ |
998 | mbox->refresh(true); | 980 | mbox->refresh(true); |
999 | if (v) | 981 | if (v) |
1000 | { | 982 | { |
1001 | v->setSelected(box,true); | 983 | v->setSelected(box,true); |
1002 | } | 984 | } |
1003 | } | 985 | } |
1004 | } | 986 | } |
1005 | } | 987 | } |
1006 | 988 | ||
1007 | void MHfolderItem::contextMenuSelected(int which) | 989 | bool MHfolderItem::contextMenuSelected(int which) |
1008 | { | 990 | { |
1009 | AccountView*view = 0; | 991 | AccountView*view = 0; |
1010 | switch(which) | 992 | switch(which) |
1011 | { | 993 | { |
1012 | case FOLDER_MENU_DELETE_ALL_MAILS: | 994 | case FOLDER_MENU_DELETE_ALL_MAILS: |
1013 | deleteAllMail(mbox->getWrapper(),folder); | 995 | deleteAllMail(mbox->getWrapper(),folder); |
1014 | break; | 996 | break; |
1015 | case FOLDER_MENU_DELETE_FOLDER: | 997 | case FOLDER_MENU_DELETE_FOLDER: |
1016 | deleteFolder(); | 998 | return deleteFolder(); |
1017 | break; | 999 | break; |
1018 | case FOLDER_MENU_MOVE_MAILS: | 1000 | case FOLDER_MENU_MOVE_MAILS: |
1019 | downloadMails(); | 1001 | downloadMails(); |
1020 | break; | 1002 | break; |
1021 | case FOLDER_MENU_NEW_SUBFOLDER: | 1003 | case FOLDER_MENU_NEW_SUBFOLDER: |
1022 | createFolder(); | 1004 | createFolder(); |
1023 | break; | 1005 | break; |
1024 | case FOLDER_MENU_REFRESH_HEADER: | 1006 | case FOLDER_MENU_REFRESH_HEADER: |
1025 | view = (AccountView*)listView(); | 1007 | view = (AccountView*)listView(); |
1026 | if (view) view->refreshCurrent(); | 1008 | if (view) view->refreshCurrent(); |
1027 | break; | 1009 | break; |
1028 | default: | 1010 | default: |
1029 | break; | 1011 | break; |
1030 | } | 1012 | } |
1013 | return false; | ||
1031 | } | 1014 | } |
1032 | 1015 | ||
1033 | bool MHfolderItem::isDraftfolder() | 1016 | bool MHfolderItem::isDraftfolder() |
1034 | { | 1017 | { |
1035 | if (folder && folder->getName()==AbstractMail::defaultLocalfolder()+"/"+AbstractMail::draftFolder()) return true; | 1018 | if (folder && folder->getName()==AbstractMail::defaultLocalfolder()+"/"+AbstractMail::draftFolder()) return true; |
1036 | return false; | 1019 | return false; |
1037 | } | 1020 | } |
1038 | 1021 | ||
1039 | /** | 1022 | /** |
1040 | * Generic stuff | 1023 | * Generic stuff |
1041 | */ | 1024 | */ |
1042 | 1025 | ||
@@ -1141,12 +1124,41 @@ AccountViewItem*AccountViewItem::findSubItem(const QString&path,AccountViewItem* | |||
1141 | break; | 1124 | break; |
1142 | } | 1125 | } |
1143 | } | 1126 | } |
1144 | pitem=(AccountViewItem*)pitem->nextSibling(); | 1127 | pitem=(AccountViewItem*)pitem->nextSibling(); |
1145 | } | 1128 | } |
1146 | return pitem; | 1129 | return pitem; |
1147 | } | 1130 | } |
1148 | 1131 | ||
1149 | bool AccountViewItem::isDraftfolder() | 1132 | bool AccountViewItem::isDraftfolder() |
1150 | { | 1133 | { |
1151 | return false; | 1134 | return false; |
1152 | } | 1135 | } |
1136 | |||
1137 | QMap<int,QString> AccountViewItem::serverMenu() | ||
1138 | { | ||
1139 | return QMap<int,QString>(); | ||
1140 | } | ||
1141 | |||
1142 | QMap<int,QString> AccountViewItem::folderMenu() | ||
1143 | { | ||
1144 | return QMap<int,QString>(); | ||
1145 | } | ||
1146 | |||
1147 | QPopupMenu * AccountViewItem::getContextMenu() | ||
1148 | { | ||
1149 | QPopupMenu *m = new QPopupMenu(0); | ||
1150 | if (m) | ||
1151 | { | ||
1152 | QMap<int,QString> entries; | ||
1153 | entries = folderMenu(); | ||
1154 | QMap<int,QString>::Iterator it; | ||
1155 | for (it=entries.begin();it!=entries.end();++it) { | ||
1156 | m->insertItem(it.data(),it.key()); | ||
1157 | } | ||
1158 | entries = serverMenu(); | ||
1159 | for (it=entries.begin();it!=entries.end();++it) { | ||
1160 | m->insertItem(it.data(),it.key()); | ||
1161 | } | ||
1162 | } | ||
1163 | return m; | ||
1164 | } | ||