kmail Library API Documentation

kmbroadcaststatus.cpp

00001 /* Authors: Don Sanders <sanders@kde.org>
00002 
00003    Copyright (C) 2000 Don Sanders <sanders@kde.org>
00004 
00005 
00006    License GPL
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 /* with seconds */ ) )
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"
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu May 3 20:22:56 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003