00001
00002
00003
00004
00005
00006
00007
00008
00009
#ifdef HAVE_CONFIG_H
00010
#include <config.h>
00011
#endif
00012
00013
#include <qdatetime.h>
00014
00015
#include <klocale.h>
00016
#include <kglobal.h>
00017
00018
#include "kmbroadcaststatus.h"
00019
#include "progressmanager.h"
00020
00021
00022
00023
KMBroadcastStatus* KMBroadcastStatus::instance_ = 0;
00024
00025 KMBroadcastStatus*
KMBroadcastStatus::instance()
00026 {
00027
if (!instance_)
00028 instance_ =
new KMBroadcastStatus();
00029
return instance_;
00030 }
00031
00032 KMBroadcastStatus::KMBroadcastStatus()
00033 {
00034 }
00035
00036 void KMBroadcastStatus::setStatusMsg(
const QString& message )
00037 {
00038 mStatusMsg = message;
00039 emit
statusMsg( message );
00040 }
00041
00042 void KMBroadcastStatus::setStatusMsgWithTimestamp(
const QString& message )
00043 {
00044 KLocale* locale = KGlobal::locale();
00045
setStatusMsg( i18n(
"%1 is a time, %2 is a status message",
"[%1] %2" )
00046 .arg( locale->formatTime( QTime::currentTime(),
00047
true ) )
00048 .arg( message ) );
00049 }
00050
00051 void KMBroadcastStatus::setStatusMsgTransmissionCompleted(
int numMessages,
00052
int numBytes,
00053
int numBytesRead,
00054
int numBytesToRead,
00055
bool mLeaveOnServer,
00056 KPIM::ProgressItem* item )
00057 {
00058
QString statusMsg;
00059
if( numMessages > 0 ) {
00060
if( numBytes != -1 ) {
00061
if( ( numBytesToRead != numBytes ) && mLeaveOnServer )
00062 statusMsg = i18n(
"Transmission complete. %n new message in %1 KB "
00063
"(%2 KB remaining on the server).",
00064
"Transmission complete. %n new messages in %1 KB "
00065
"(%2 KB remaining on the server).",
00066 numMessages )
00067 .arg( numBytesRead / 1024 )
00068 .arg( numBytes / 1024 );
00069
else
00070 statusMsg = i18n(
"Transmission complete. %n message in %1 KB.",
00071
"Transmission complete. %n messages in %1 KB.",
00072 numMessages )
00073 .arg( numBytesRead / 1024 );
00074 }
00075
else
00076 statusMsg = i18n(
"Transmission complete. %n new message.",
00077
"Transmission complete. %n new messages.",
00078 numMessages );
00079 }
00080
else
00081 statusMsg = i18n(
"Transmission complete. No new messages." );
00082
00083
setStatusMsgWithTimestamp( statusMsg );
00084
if ( item )
00085 item->setStatus( statusMsg );
00086 }
00087
00088
void KMBroadcastStatus::setStatusMsgTransmissionCompleted(
const QString& account,
00089
int numMessages,
00090
int numBytes,
00091
int numBytesRead,
00092
int numBytesToRead,
00093
bool mLeaveOnServer,
00094 KPIM::ProgressItem* item )
00095 {
00096
QString statusMsg;
00097
if( numMessages > 0 ) {
00098
if( numBytes != -1 ) {
00099
if( ( numBytesToRead != numBytes ) && mLeaveOnServer )
00100 statusMsg = i18n(
"Transmission for account %3 complete. "
00101
"%n new message in %1 KB "
00102
"(%2 KB remaining on the server).",
00103
"Transmission for account %3 complete. "
00104
"%n new messages in %1 KB "
00105
"(%2 KB remaining on the server).",
00106 numMessages )
00107 .arg( numBytesRead / 1024 )
00108 .arg( numBytes / 1024 )
00109 .arg( account );
00110
else
00111 statusMsg = i18n(
"Transmission for account %2 complete. "
00112
"%n message in %1 KB.",
00113
"Transmission for account %2 complete. "
00114
"%n messages in %1 KB.",
00115 numMessages )
00116 .arg( numBytesRead / 1024 )
00117 .arg( account );
00118 }
00119
else
00120 statusMsg = i18n(
"Transmission for account %1 complete. "
00121
"%n new message.",
00122
"Transmission for account %1 complete. "
00123
"%n new messages.",
00124 numMessages )
00125 .arg( account );
00126 }
00127
else
00128 statusMsg = i18n(
"Transmission for account %1 complete. No new messages.")
00129 .arg( account );
00130
00131
setStatusMsgWithTimestamp( statusMsg );
00132
if ( item )
00133 item->setStatus( statusMsg );
00134 }
00135
00136
#include "kmbroadcaststatus.moc"