-rw-r--r-- | kmicromail/opiemail.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp index c20c7ce..ec192ea 100644 --- a/kmicromail/opiemail.cpp +++ b/kmicromail/opiemail.cpp | |||
@@ -238,142 +238,158 @@ void OpieMail::slotEditSettings() | |||
238 | #endif | 238 | #endif |
239 | settingsDialog.exec(); | 239 | settingsDialog.exec(); |
240 | 240 | ||
241 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 241 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
242 | // KApplication::execDialog(settingsDialog); | 242 | // KApplication::execDialog(settingsDialog); |
243 | } | 243 | } |
244 | 244 | ||
245 | void OpieMail::slotEditAccounts() | 245 | void OpieMail::slotEditAccounts() |
246 | { | 246 | { |
247 | EditAccounts eaDialog( settings, this, 0, true ); | 247 | EditAccounts eaDialog( settings, this, 0, true ); |
248 | eaDialog.slotAdjustColumns(); | 248 | eaDialog.slotAdjustColumns(); |
249 | #ifndef DESKTOP_VERSION | 249 | #ifndef DESKTOP_VERSION |
250 | eaDialog.showMaximized(); | 250 | eaDialog.showMaximized(); |
251 | #endif | 251 | #endif |
252 | eaDialog.exec(); | 252 | eaDialog.exec(); |
253 | if ( settings ) delete settings; | 253 | if ( settings ) delete settings; |
254 | settings = new Settings(); | 254 | settings = new Settings(); |
255 | 255 | ||
256 | folderView->populate( settings->getAccounts() ); | 256 | folderView->populate( settings->getAccounts() ); |
257 | } | 257 | } |
258 | void OpieMail::replyMail() | 258 | void OpieMail::replyMail() |
259 | { | 259 | { |
260 | 260 | ||
261 | QListViewItem*item = mailView->currentItem(); | 261 | QListViewItem*item = mailView->currentItem(); |
262 | if (!item) return; | 262 | if (!item) return; |
263 | RecMailP mail = ((MailListViewItem*)item)->data(); | 263 | RecMailP mail = ((MailListViewItem*)item)->data(); |
264 | RecBodyP body = folderView->fetchBody(mail); | 264 | RecBodyP body = folderView->fetchBody(mail); |
265 | 265 | ||
266 | QString rtext; | 266 | QString rtext; |
267 | rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose | 267 | rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose |
268 | .arg( mail->getFrom()) | 268 | .arg( mail->getFrom()) |
269 | .arg( mail->getDate()); | 269 | .arg( mail->getDate()); |
270 | 270 | ||
271 | QString text = body->Bodytext(); | 271 | QString text = body->Bodytext(); |
272 | QStringList lines = QStringList::split(QRegExp("\\n"), text); | 272 | QStringList lines = QStringList::split(QRegExp("\\n"), text); |
273 | QStringList::Iterator it; | 273 | QStringList::Iterator it; |
274 | for (it = lines.begin(); it != lines.end(); it++) | 274 | for (it = lines.begin(); it != lines.end(); it++) |
275 | { | 275 | { |
276 | rtext += "> " + *it + "\n"; | 276 | rtext += "> " + *it + "\n"; |
277 | } | 277 | } |
278 | rtext += "\n"; | 278 | rtext += "\n"; |
279 | 279 | ||
280 | QString prefix; | 280 | QString prefix; |
281 | if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = ""; | 281 | if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = ""; |
282 | else prefix = "Re: "; // no i18n on purpose | 282 | else prefix = "Re: "; // no i18n on purpose |
283 | 283 | ||
284 | Settings *settings = new Settings(); | 284 | Settings *settings = new Settings(); |
285 | ComposeMail composer( settings ,this, 0, true); | 285 | ComposeMail composer( settings ,this, 0, true); |
286 | if (mail->Replyto().isEmpty()) { | 286 | if (mail->Replyto().isEmpty()) { |
287 | composer.setTo( mail->getFrom()); | 287 | composer.setTo( mail->getFrom()); |
288 | } else { | 288 | } else { |
289 | composer.setTo( mail->Replyto()); | 289 | composer.setTo( mail->Replyto()); |
290 | } | 290 | } |
291 | composer.setSubject( prefix + mail->getSubject()); | 291 | composer.setSubject( prefix + mail->getSubject()); |
292 | composer.setMessage( rtext ); | 292 | composer.setMessage( rtext ); |
293 | composer.setInReplyTo( mail->Msgid()); | 293 | composer.setInReplyTo( mail->Msgid()); |
294 | composer.setCharset( body->getCharset() ); | 294 | composer.setCharset( body->getCharset() ); |
295 | if ( QDialog::Accepted == KApplication::execDialog( &composer ) ) | 295 | if ( QDialog::Accepted == KApplication::execDialog( &composer ) ) |
296 | { | 296 | { |
297 | mail->Wrapper()->answeredMail(mail); | 297 | mail->Wrapper()->answeredMail(mail); |
298 | } | 298 | } |
299 | delete settings; | 299 | delete settings; |
300 | 300 | ||
301 | } | 301 | } |
302 | void OpieMail::displayNextMail(ViewMail * vm) | ||
303 | { | ||
304 | QListViewItem*item = mailView->currentItem(); | ||
305 | if (!item) return; | ||
306 | item = item->itemBelow(); | ||
307 | if (!item) { | ||
308 | vm->setCaption(i18n("End of List" )); | ||
309 | return; | ||
310 | } | ||
311 | mailView->setCurrentItem(item); | ||
312 | RecMailP mail = ((MailListViewItem*)item)->data(); | ||
313 | RecBodyP body = folderView->fetchBody(mail); | ||
314 | vm->setBody( body ); | ||
315 | vm->setMail( mail ); | ||
316 | } | ||
302 | void OpieMail::displayMail() | 317 | void OpieMail::displayMail() |
303 | { | 318 | { |
304 | QListViewItem*item = mailView->currentItem(); | 319 | QListViewItem*item = mailView->currentItem(); |
305 | if (!item) return; | 320 | if (!item) return; |
306 | RecMailP mail = ((MailListViewItem*)item)->data(); | 321 | RecMailP mail = ((MailListViewItem*)item)->data(); |
307 | RecBodyP body = folderView->fetchBody(mail); | 322 | RecBodyP body = folderView->fetchBody(mail); |
308 | ViewMail readMail( this,"", Qt::WType_Modal ); | 323 | ViewMail readMail( this,"", Qt::WType_Modal ); |
309 | readMail.setBody( body ); | 324 | readMail.setBody( body ); |
310 | readMail.setMail( mail ); | 325 | readMail.setMail( mail ); |
311 | #ifndef DESKTOP_VERSION | 326 | #ifndef DESKTOP_VERSION |
312 | readMail.showMaximized(); | 327 | readMail.showMaximized(); |
313 | #else | 328 | #else |
314 | readMail.resize( 640, 480); | 329 | readMail.resize( 640, 480); |
315 | #endif | 330 | #endif |
331 | connect( &readMail,SIGNAL( showNextMail(ViewMail *) ), this, SLOT( displayNextMail(ViewMail *) ) ); | ||
316 | readMail.exec(); | 332 | readMail.exec(); |
317 | 333 | ||
318 | if ( readMail.deleted ) | 334 | if ( readMail.deleted ) |
319 | { | 335 | { |
320 | folderView->refreshCurrent(); | 336 | folderView->refreshCurrent(); |
321 | } | 337 | } |
322 | else | 338 | else |
323 | { | 339 | { |
324 | ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); | 340 | ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); |
325 | } | 341 | } |
326 | } | 342 | } |
327 | void OpieMail::slotGetAllMail() | 343 | void OpieMail::slotGetAllMail() |
328 | { | 344 | { |
329 | QListViewItem * item = folderView->firstChild(); | 345 | QListViewItem * item = folderView->firstChild(); |
330 | while ( item ){ | 346 | while ( item ){ |
331 | ((AccountViewItem *)item)->contextMenuSelected( 101 ); | 347 | ((AccountViewItem *)item)->contextMenuSelected( 101 ); |
332 | item = item->nextSibling (); | 348 | item = item->nextSibling (); |
333 | } | 349 | } |
334 | } | 350 | } |
335 | void OpieMail::slotGetMail() | 351 | void OpieMail::slotGetMail() |
336 | { | 352 | { |
337 | QListViewItem * item = folderView->currentItem(); | 353 | QListViewItem * item = folderView->currentItem(); |
338 | if ( ! item ) return; | 354 | if ( ! item ) return; |
339 | ((AccountViewItem *)item)->contextMenuSelected( 101 ); | 355 | ((AccountViewItem *)item)->contextMenuSelected( 101 ); |
340 | } | 356 | } |
341 | void OpieMail::slotDeleteMail() | 357 | void OpieMail::slotDeleteMail() |
342 | { | 358 | { |
343 | if (!mailView->currentItem()) return; | 359 | if (!mailView->currentItem()) return; |
344 | RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); | 360 | RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); |
345 | if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) | 361 | if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) |
346 | { | 362 | { |
347 | mail->Wrapper()->deleteMail( mail ); | 363 | mail->Wrapper()->deleteMail( mail ); |
348 | folderView->refreshCurrent(); | 364 | folderView->refreshCurrent(); |
349 | } | 365 | } |
350 | } | 366 | } |
351 | void OpieMail::slotDeleteAllMail() | 367 | void OpieMail::slotDeleteAllMail() |
352 | { | 368 | { |
353 | 369 | ||
354 | QValueList<RecMailP> t; | 370 | QValueList<RecMailP> t; |
355 | if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) | 371 | if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) |
356 | { | 372 | { |
357 | MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); | 373 | MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); |
358 | while ( item ) { | 374 | while ( item ) { |
359 | if ( item->isSelected() ) { | 375 | if ( item->isSelected() ) { |
360 | t.append( item->data() ); | 376 | t.append( item->data() ); |
361 | } | 377 | } |
362 | item = (MailListViewItem*)item->nextSibling(); | 378 | item = (MailListViewItem*)item->nextSibling(); |
363 | } | 379 | } |
364 | } | 380 | } |
365 | else | 381 | else |
366 | return; | 382 | return; |
367 | if ( t.count() == 0 ) | 383 | if ( t.count() == 0 ) |
368 | return; | 384 | return; |
369 | RecMailP mail = t.first(); | 385 | RecMailP mail = t.first(); |
370 | mail->Wrapper()->deleteMailList(t); | 386 | mail->Wrapper()->deleteMailList(t); |
371 | folderView->refreshCurrent(); | 387 | folderView->refreshCurrent(); |
372 | 388 | ||
373 | 389 | ||
374 | } | 390 | } |
375 | void OpieMail::clearSelection() | 391 | void OpieMail::clearSelection() |
376 | { | 392 | { |
377 | mailView->clearSelection(); | 393 | mailView->clearSelection(); |
378 | 394 | ||
379 | } | 395 | } |