From 2adc8c2f4cd77828de34a64d9c643168567950bb Mon Sep 17 00:00:00 2001 From: Carsten Pfeiffer Date: Thu, 14 Jun 2001 22:38:56 +0000 Subject: [PATCH] - speed up generate_key() a bit, by doing the date stuff only when needed - use QDropEvent as parameter in canDecode(), instead of QDragMoveEvent (doesn't make a difference, but necessary for the folder dnd stuff, and I dislike reverting that patchlet to commit the other one now) svn path=/trunk/kdenetwork/kmail/; revision=102207 --- kmheaders.cpp | 28 ++++++++++++++-------------- kmheaders.h | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/kmheaders.cpp b/kmheaders.cpp index c1e611da7..c33a49d65 100644 --- a/kmheaders.cpp +++ b/kmheaders.cpp @@ -85,7 +85,7 @@ KMHeaderToFolderDrag::KMHeaderToFolderDrag( QWidget * parent, { } -bool KMHeaderToFolderDrag::canDecode( QDragMoveEvent* e ) +bool KMHeaderToFolderDrag::canDecode( QDropEvent* e ) { return e->provides( "KMHeaderToFolderDrag/magic" ); } @@ -316,34 +316,34 @@ public: { QString ret = QString("%1") .arg( (char)column ); QString sortArrival = QString( "%1" ).arg( id, 8, 36 ); - time_t mDate = msg->date(); - const int dateLength = 30; - char cDate[dateLength + 1]; - strftime( cDate, dateLength, "%Y:%j:%H:%M:%S", gmtime( &mDate )); - QString sortDate = cDate + sortArrival; if (column == paintInfo->dateCol) { if (paintInfo->orderOfArrival) - return ret + sortArrival; - else - return ret + sortDate; + return ret + sortArrival; + else { + static const int dateLength = 30; + char cDate[dateLength + 1]; + const time_t date = msg->date(); + strftime( cDate, dateLength, "%Y:%j:%H:%M:%S", gmtime( &date )); + return ret + cDate + sortArrival; + } } else if (column == paintInfo->senderCol) { QString tmp; KMFolder *folder = msg->parent(); if (folder == kernel->outboxFolder() || folder == kernel->sentFolder() - || folder == kernel->draftsFolder()) - tmp = msg->toStrip(); + || folder == kernel->draftsFolder()) + tmp = msg->toStrip(); else - tmp = msg->fromStrip(); + tmp = msg->fromStrip(); return ret + tmp.lower() + " " + sortArrival; } else if (column == paintInfo->subCol) { if (paintInfo->status) - return ret + QString( QChar( (uint)msg->status() )); + return ret + QString( QChar( (uint)msg->status() )); return ret + KMMsgBase::skipKeyword( msg->subject().lower() ) + " " + sortArrival; } else if (column == paintInfo->sizeCol) { return ret + QString( "%1" ).arg( msg->msgSize(), 9 ); } - return ret + "missing key"; //you forgot something!! + return ret + "missing key"; //you forgot something!! } virtual QString key( int column, bool /*ascending*/ ) const diff --git a/kmheaders.h b/kmheaders.h index de3a18d85..9d7fdbf1c 100644 --- a/kmheaders.h +++ b/kmheaders.h @@ -30,7 +30,7 @@ public: KMHeaderToFolderDrag( QWidget * parent = 0, const char * name = 0 ); ~KMHeaderToFolderDrag() {}; - static bool canDecode( QDragMoveEvent* e ); + static bool canDecode( QDropEvent* e ); }; typedef enum { @@ -217,7 +217,7 @@ public slots: // timer function to set the current time regularly void resetCurrentTime(); - virtual void ensureCurrentItemVisible(); + virtual void ensureCurrentItemVisible(); protected: static QPixmap *pixNew, *pixUns, *pixDel, *pixOld, *pixRep, *pixSent,