libkdepim Library API Documentation

broadcaststatus.cpp

00001 /* 00002 broadcaststatus.cpp 00003 00004 This file is part of KDEPIM. 00005 00006 Author: Don Sanders <sanders@kde.org> 00007 00008 Copyright (C) 2000 Don Sanders <sanders@kde.org> 00009 00010 License GPL 00011 */ 00012 00013 #ifdef HAVE_CONFIG_H 00014 #include <config.h> 00015 #endif 00016 00017 #include <qdatetime.h> 00018 00019 #include <klocale.h> 00020 #include <kglobal.h> 00021 #include <kstaticdeleter.h> 00022 00023 #include "broadcaststatus.h" 00024 #include "progressmanager.h" 00025 00026 KPIM::BroadcastStatus* KPIM::BroadcastStatus::instance_ = 0; 00027 static KStaticDeleter<KPIM::BroadcastStatus> broadcastStatusDeleter; 00028 00029 namespace KPIM { 00030 00031 BroadcastStatus* BroadcastStatus::instance() 00032 { 00033 if (!instance_) 00034 broadcastStatusDeleter.setObject( instance_, new BroadcastStatus() ); 00035 00036 return instance_; 00037 } 00038 00039 BroadcastStatus::BroadcastStatus() 00040 :mTransientActive( false ) 00041 { 00042 } 00043 00044 BroadcastStatus::~BroadcastStatus() 00045 { 00046 instance_ = 0; 00047 } 00048 00049 void BroadcastStatus::setStatusMsg( const QString& message ) 00050 { 00051 mStatusMsg = message; 00052 if( !mTransientActive ) 00053 emit statusMsg( message ); 00054 } 00055 00056 void BroadcastStatus::setStatusMsgWithTimestamp( const QString& message ) 00057 { 00058 KLocale* locale = KGlobal::locale(); 00059 setStatusMsg( i18n( "%1 is a time, %2 is a status message", "[%1] %2" ) 00060 .arg( locale->formatTime( QTime::currentTime(), 00061 true /* with seconds */ ) ) 00062 .arg( message ) ); 00063 } 00064 00065 void BroadcastStatus::setStatusMsgTransmissionCompleted( int numMessages, 00066 int numBytes, 00067 int numBytesRead, 00068 int numBytesToRead, 00069 bool mLeaveOnServer, 00070 KPIM::ProgressItem* item ) 00071 { 00072 QString statusMsg; 00073 if( numMessages > 0 ) { 00074 if( numBytes != -1 ) { 00075 if( ( numBytesToRead != numBytes ) && mLeaveOnServer ) 00076 statusMsg = i18n( "Transmission complete. %n new message in %1 KB " 00077 "(%2 KB remaining on the server).", 00078 "Transmission complete. %n new messages in %1 KB " 00079 "(%2 KB remaining on the server).", 00080 numMessages ) 00081 .arg( numBytesRead / 1024 ) 00082 .arg( numBytes / 1024 ); 00083 else 00084 statusMsg = i18n( "Transmission complete. %n message in %1 KB.", 00085 "Transmission complete. %n messages in %1 KB.", 00086 numMessages ) 00087 .arg( numBytesRead / 1024 ); 00088 } 00089 else 00090 statusMsg = i18n( "Transmission complete. %n new message.", 00091 "Transmission complete. %n new messages.", 00092 numMessages ); 00093 } 00094 else 00095 statusMsg = i18n( "Transmission complete. No new messages." ); 00096 00097 setStatusMsgWithTimestamp( statusMsg ); 00098 if ( item ) 00099 item->setStatus( statusMsg ); 00100 } 00101 00102 void BroadcastStatus::setStatusMsgTransmissionCompleted( const QString& account, 00103 int numMessages, 00104 int numBytes, 00105 int numBytesRead, 00106 int numBytesToRead, 00107 bool mLeaveOnServer, 00108 KPIM::ProgressItem* item ) 00109 { 00110 QString statusMsg; 00111 if( numMessages > 0 ) { 00112 if( numBytes != -1 ) { 00113 if( ( numBytesToRead != numBytes ) && mLeaveOnServer ) 00114 statusMsg = i18n( "Transmission for account %3 complete. " 00115 "%n new message in %1 KB " 00116 "(%2 KB remaining on the server).", 00117 "Transmission for account %3 complete. " 00118 "%n new messages in %1 KB " 00119 "(%2 KB remaining on the server).", 00120 numMessages ) 00121 .arg( numBytesRead / 1024 ) 00122 .arg( numBytes / 1024 ) 00123 .arg( account ); 00124 else 00125 statusMsg = i18n( "Transmission for account %2 complete. " 00126 "%n message in %1 KB.", 00127 "Transmission for account %2 complete. " 00128 "%n messages in %1 KB.", 00129 numMessages ) 00130 .arg( numBytesRead / 1024 ) 00131 .arg( account ); 00132 } 00133 else 00134 statusMsg = i18n( "Transmission for account %1 complete. " 00135 "%n new message.", 00136 "Transmission for account %1 complete. " 00137 "%n new messages.", 00138 numMessages ) 00139 .arg( account ); 00140 } 00141 else 00142 statusMsg = i18n( "Transmission for account %1 complete. No new messages.") 00143 .arg( account ); 00144 00145 setStatusMsgWithTimestamp( statusMsg ); 00146 if ( item ) 00147 item->setStatus( statusMsg ); 00148 } 00149 00150 void BroadcastStatus::setTransientStatusMsg( const QString& msg ) 00151 { 00152 mTransientActive = true; 00153 emit statusMsg( msg ); 00154 } 00155 00156 void BroadcastStatus::reset() 00157 { 00158 mTransientActive = false; 00159 // restore 00160 emit statusMsg( mStatusMsg ); 00161 } 00162 00163 } 00164 00165 #include "broadcaststatus.moc"
KDE Logo
This file is part of the documentation for libkdepim Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 27 12:50:23 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003