diff --git a/imapjob.cpp b/imapjob.cpp index 7c8ddb966..f792dabe4 100644 --- a/imapjob.cpp +++ b/imapjob.cpp @@ -126,7 +126,8 @@ void ImapJob::init( JobType jt, QString sets, KMFolderImap* folder, url.setPath( folder->imapPath() + ";SECTION=" + flags ); ImapAccountBase::jobData jd; jd.parent = 0; jd.offset = 0; jd.done = 0; - jd.total = curMsg->msgSizeServer(); + jd.total = ( curMsg->msgSizeServer() > 0 ) ? + curMsg->msgSizeServer() : curMsg->msgSize(); jd.msgList.append( curMsg ); QCString cstr( curMsg->asString() ); int a = cstr.find("\nX-UID: "); @@ -150,7 +151,7 @@ void ImapJob::init( JobType jt, QString sets, KMFolderImap* folder, mParentProgressItem, "ImapJobUploading"+ProgressManager::getUniqueID(), i18n("Uploading message data"), - i18n("Destination folder: ") + mDestFolder->prettyURL(), + curMsg->subject(), true, account->useSSL() || account->useTLS() ); jd.progressItem->setTotalItems( jd.total ); diff --git a/kmfolderimap.cpp b/kmfolderimap.cpp index e70e561a9..f8b60c88d 100644 --- a/kmfolderimap.cpp +++ b/kmfolderimap.cpp @@ -437,10 +437,12 @@ int KMFolderImap::addMsg(QPtrList& msgList, QValueList& aIndex_r msg->setTransferInProgress( true ); } imapJob = new ImapJob( msgList, QString::null, ImapJob::tPutMessage, this ); - if ( !mAddMessageProgressItem ) + if ( !mAddMessageProgressItem && msgList.count() > 1 ) { + // use a parent progress if we have more than 1 message + // otherwise the normal progress is more accurate mAddMessageProgressItem = ProgressManager::createProgressItem( - "ImapJobUploading"+ProgressManager::getUniqueID(), + "Uploading"+ProgressManager::getUniqueID(), i18n("Uploading message data"), i18n("Destination folder: ") + folder()->prettyURL(), true,