[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    adding timestamp to transmission completed statusbar message
From:       "Patrick S. Vogt" <patrick.vogt () unibas ! ch>
Date:       2003-02-22 18:05:00
[Download RAW message or body]

Hi,

first of all: thanks!
I use kmail for years now and I am happy with it!

Here is a small patch that adds a timestamp to the transmission completed 
message.  

This was a training for some new features I am intenting to implement:

- a offline mode, so it does not check for new mail

- network sensitive SMTP servers, so kmail uses a SMTP server that relays for 
the network it is plug in

I got a new laptop... ;-)

thanks,
Patrick


["kmail_transmissioncompleted.diff" (text/x-diff)]

Index: kmail/kmacctexppop.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmacctexppop.cpp,v
retrieving revision 1.127
diff -u -3 -p -r1.127 kmacctexppop.cpp
--- kmail/kmacctexppop.cpp	22 Feb 2003 04:53:58 -0000	1.127
+++ kmail/kmacctexppop.cpp	22 Feb 2003 18:01:47 -0000
@@ -610,23 +610,7 @@ void KMAcctExpPop::slotJobFinished() {
     KMBroadcastStatus::instance()->setStatusProgressPercent( "P" + mName, 100 );
     int numMessages = (KMBroadcastStatus::instance()->abortRequested()) ?
       indexOfCurrentMsg : idsOfMsgs.count();
-    QString statusMsg;
-    if (numMessages > 0)
-      if (numBytesToRead != numBytes && mLeaveOnServer)
-	statusMsg = i18n("Transmission complete. %n new message in %1 KB "
-			 "(%2 KB remaining on the server).",
-			 "Transmission complete. %n new messages in %1 KB "
-			 "(%2 KB remaining on the server).",
-			 numMessages)
-	  .arg(numBytesRead/1024).arg(numBytes/1024);
-      else
-	statusMsg = i18n("Transmission complete. %n message in %1 KB.",
-			 "Transmission complete. %n messages in %1 KB.",
-			 numMessages)
-	  .arg(numBytesRead/1024);
-    else
-      statusMsg = i18n("Transmission complete. No new messages." );
-    KMBroadcastStatus::instance()->setStatusMsg( statusMsg );
+    KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( numMessages, \
numBytes, numBytesRead, numBytesToRead, mLeaveOnServer );  \
KMBroadcastStatus::instance()->setStatusProgressEnable( "P" + mName,  false );
     KMBroadcastStatus::instance()->reset();
Index: kmail/kmacctlocal.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmacctlocal.cpp,v
retrieving revision 1.87
diff -u -3 -p -r1.87 kmacctlocal.cpp
--- kmail/kmacctlocal.cpp	4 Jan 2003 13:34:58 -0000	1.87
+++ kmail/kmacctlocal.cpp	22 Feb 2003 18:01:47 -0000
@@ -90,8 +90,7 @@ void KMAcctLocal::processNewMail(bool)
   if ( precommand().isEmpty() ) {
     QFileInfo fi( location() );
     if ( fi.size() == 0 ) {
-      QString statusMsg = i18n("Transmission complete. No new messages.");
-      KMBroadcastStatus::instance()->setStatusMsg( statusMsg );
+      KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( 0 );
       emit finishedCheck(hasNewMail);
       emit newMailsProcessed(0);
       return;
@@ -221,13 +220,7 @@ if( fileD0.open( IO_WriteOnly ) ) {
     rc = mailFolder.expunge();
     if (rc)
       KMessageBox::information( 0, i18n("Cannot remove mail from\nmailbox \
                `%1':\n%2").arg(mailFolder.location()).arg(strerror(rc)));
-    QString statusMsg;
-    if ( num )
-      statusMsg = i18n("Transmission complete. %n new message.",
-		       "Transmission complete. %n new messages.", num);
-    else
-      statusMsg = i18n("Transmission complete. No new messages.");
-    KMBroadcastStatus::instance()->setStatusMsg( statusMsg );
+    KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( num );
   }
   // else warning is written already
 
Index: kmail/kmacctmaildir.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmacctmaildir.cpp,v
retrieving revision 1.18
diff -u -3 -p -r1.18 kmacctmaildir.cpp
--- kmail/kmacctmaildir.cpp	4 Jan 2003 13:34:58 -0000	1.18
+++ kmail/kmacctmaildir.cpp	22 Feb 2003 18:01:48 -0000
@@ -82,8 +82,7 @@ void KMAcctMaildir::processNewMail(bool)
     if ( !fi.exists() ) {
       emit finishedCheck(hasNewMail);
       emit newMailsProcessed(0);
-      QString statusMsg = i18n("Transmission completed, no new messages");
-      KMBroadcastStatus::instance()->setStatusMsg( statusMsg );
+      KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( 0 );
       return;
     }
   }
@@ -193,13 +192,7 @@ void KMAcctMaildir::processNewMail(bool)
       KMessageBox::information( 0,
                               i18n("Cannot remove mail from mailbox '%1':\n%2")
                                 .arg(mailFolder.location()).arg(strerror(rc)));
-    QString statusMsg;
-    if ( num )
-      statusMsg = i18n("Transmission completed, %n new message.",
-		       "Transmission completed, %n new messages.", num);
-    else
-      statusMsg = i18n("Transmission completed, no new messages");
-    KMBroadcastStatus::instance()->setStatusMsg( statusMsg );
+    KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( num );
   }
   // else warning is written already
 
Index: kmail/kmacctmgr.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmacctmgr.cpp,v
retrieving revision 1.96
diff -u -3 -p -r1.96 kmacctmgr.cpp
--- kmail/kmacctmgr.cpp	10 Feb 2003 20:52:54 -0000	1.96
+++ kmail/kmacctmgr.cpp	22 Feb 2003 18:01:48 -0000
@@ -152,9 +152,7 @@ void KMAcctMgr::processNextCheck(bool _n
     kernel->serverReady (true);
     checking = false;
     if (mTotalNewMailsArrived > 0 && moreThanOneAccount)
-      KMBroadcastStatus::instance()->setStatusMsg(
-      i18n("Transmission completed, %n new message.",
-           "Transmission completed, %n new messages.", mTotalNewMailsArrived));
+      KMBroadcastStatus::instance()->setStatusMsgTransmissionCompleted( \
mTotalNewMailsArrived );  emit checkedMail(newMailArrived, interactive);
     moreThanOneAccount = false;
     mTotalNewMailsArrived = 0;
Index: kmail/kmbroadcaststatus.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/kmbroadcaststatus.cpp,v
retrieving revision 1.20
diff -u -3 -p -r1.20 kmbroadcaststatus.cpp
--- kmail/kmbroadcaststatus.cpp	5 Jun 2002 11:56:30 -0000	1.20
+++ kmail/kmbroadcaststatus.cpp	22 Feb 2003 18:01:48 -0000
@@ -18,6 +18,7 @@
 #include <klocale.h>
 #include <qlayout.h>
 #include <qwidgetstack.h>
+#include <qdatetime.h>
 
 //-----------------------------------------------------------------------------
 KMBroadcastStatus* KMBroadcastStatus::instance_ = 0;
@@ -37,6 +38,35 @@ KMBroadcastStatus::KMBroadcastStatus()
 void KMBroadcastStatus::setStatusMsg( const QString& message )
 {
   emit statusMsg( message );
+}
+
+void KMBroadcastStatus::setStatusMsgTransmissionCompleted( int numMessages, int \
numBytes, int numBytesRead, int numBytesToRead, bool mLeaveOnServer ) +{
+  QString statusMsg;
+  if ( numMessages > 0 ) {
+    if ( numBytes != -1 ) {
+      if (numBytesToRead != numBytes && mLeaveOnServer)
+	statusMsg = i18n("Transmission complete. %n new message in %1 KB "
+			 "(%2 KB remaining on the server).",
+			 "Transmission complete. %n new messages in %1 KB "
+			 "(%2 KB remaining on the server).",
+			 numMessages)
+	  .arg(numBytesRead/1024).arg(numBytes/1024);
+      else
+	statusMsg = i18n("Transmission complete. %n message in %1 KB.",
+			 "Transmission complete. %n messages in %1 KB.",
+			 numMessages)
+	  .arg(numBytesRead/1024);
+    } else
+      statusMsg = i18n("Transmission complete. %n new message.",
+		       "Transmission complete. %n new messages.", numMessages);
+  } else
+    statusMsg = i18n("Transmission complete. No new messages.");
+  
+  KLocale locale("kmail");
+  statusMsg.append( " (" + locale.formatDateTime( QDateTime::currentDateTime() ) + \
")" ); +  setStatusMsg( statusMsg );
+
 }
 
 void KMBroadcastStatus::setStatusProgressEnable( const QString &id,
Index: kmail/kmbroadcaststatus.h
===================================================================
RCS file: /home/kde/kdepim/kmail/kmbroadcaststatus.h,v
retrieving revision 1.6
diff -u -3 -p -r1.6 kmbroadcaststatus.h
--- kmail/kmbroadcaststatus.h	10 May 2002 16:47:54 -0000	1.6
+++ kmail/kmbroadcaststatus.h	22 Feb 2003 18:01:49 -0000
@@ -36,6 +36,8 @@ public:
   static KMBroadcastStatus *instance();
   /** Emit an update status bar signal */
   void setStatusMsg( const QString& );
+  /** Sets a transmission completed status bar message */
+  void setStatusMsgTransmissionCompleted( int, int numBytes = -1, int numBytesRead = \
-1, int numBytesToRead = -1, bool mLeaveOnServer = FALSE );  /** Emit an enable \
progress widget(s) in status bar(s) signal */  void setStatusProgressEnable( const \
QString&, bool );  /** Emit an update progress widget(s) percent completed signal */


_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic