From e2046f5a4df211eccd7ab86fc8cf470d2da0cda0 Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Wed, 25 Nov 2009 18:33:01 +0000 Subject: [PATCH] SVN_MERGE Merged revisions 1044814 via svnmerge from svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise4/kdepim ................ r1044814 | winterz | 2009-11-04 18:53:21 +0100 (Wed, 04 Nov 2009) | 9 lines Merged revisions 1044228 via svnmerge from https://svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim ........ r1044228 | tmcguire | 2009-11-03 04:58:32 -0500 (Tue, 03 Nov 2009) | 2 lines Display a nice dialog upon completion. ........ ................ svn path=/trunk/KDE/kdepim/; revision=1054202 --- backupjob.cpp | 21 +++++++++++++++++---- backupjob.h | 2 ++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/backupjob.cpp b/backupjob.cpp index 507395485..d01df0b25 100644 --- a/backupjob.cpp +++ b/backupjob.cpp @@ -28,6 +28,7 @@ #include "kmessagebox.h" #include "qfile.h" +#include "qfileinfo.h" #include "qstringlist.h" using namespace KMail; @@ -39,6 +40,8 @@ BackupJob::BackupJob( QWidget *parent ) mArchive( 0 ), mParentWidget( parent ), mCurrentFolderOpen( false ), + mArchivedMessages( 0 ), + mArchivedSize( 0 ), mCurrentFolder( 0 ), mCurrentMessage( 0 ), mCurrentJob( 0 ) @@ -124,8 +127,8 @@ void BackupJob::abort( const QString &errorMessage ) mCurrentJob = 0; } - QString text = i18n( "Failed to archive the folder '%1'." ).arg( mRootFolder->name() ); - text += "\n" + errorMessage; + QString text = i18n( "Failed to archive the folder '%1'.", mRootFolder->name() ); + text += '\n' + errorMessage; KMessageBox::sorry( mParentWidget, text, i18n( "Archiving failed." ) ); deleteLater(); // Clean up archive file here? @@ -140,9 +143,16 @@ void BackupJob::finish() } } + QFileInfo archiveFileInfo( mMailArchivePath.path() ); + QString text = i18n( "Archiving folder '%1' successfully completed. " + "The archive was written to the file '%2'.", + mRootFolder->name(), mMailArchivePath.path() ); + text += '\n' + i18n( "%1 messages with the total size of %2 were archived.", + mArchivedMessages, KIO::convertSize( mArchivedSize ) ); + text += '\n' + i18n( "The archive file has a size of %1.", + KIO::convertSize( archiveFileInfo.size() ) ); + KMessageBox::information( mParentWidget, text, i18n( "Archiving finished." ) ); deleteLater(); - kDebug(5006) << "Finished backup job."; - // TODO: nice success dialog } void BackupJob::archiveNextMessage() @@ -220,6 +230,9 @@ void BackupJob::processCurrentMessage() abort( i18n( "Failed to write a message into the archive folder '%1'.", mCurrentFolder->name() ) ); return; } + + mArchivedMessages++; + mArchivedSize += messageSize; } else { // No message? According to ImapJob::slotGetMessageResult(), that means the message is no diff --git a/backupjob.h b/backupjob.h index f12158375..5872e8146 100644 --- a/backupjob.h +++ b/backupjob.h @@ -71,6 +71,8 @@ class BackupJob : public QObject KArchive *mArchive; QWidget *mParentWidget; bool mCurrentFolderOpen; + int mArchivedMessages; + uint mArchivedSize; QList mPendingFolders; KMFolder *mCurrentFolder;