summaryrefslogtreecommitdiffabout
path: root/kmicromail
authorzautrix <zautrix>2004-09-11 15:41:30 (UTC)
committer zautrix <zautrix>2004-09-11 15:41:30 (UTC)
commit32f9963a39236d08718a36d5adad2a0c5c4e2602 (patch) (side-by-side diff)
tree8856a90d505df8dc3afa0d72541f27cb68913a0d /kmicromail
parentd7a273f40838f56205c1377ed0bcc5457bd46ea3 (diff)
downloadkdepimpi-32f9963a39236d08718a36d5adad2a0c5c4e2602.zip
kdepimpi-32f9963a39236d08718a36d5adad2a0c5c4e2602.tar.gz
kdepimpi-32f9963a39236d08718a36d5adad2a0c5c4e2602.tar.bz2
Mail enhancements
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/accountitem.cpp22
-rw-r--r--kmicromail/accountview.cpp5
-rw-r--r--kmicromail/libmailwrapper/abstractmail.cpp67
-rw-r--r--kmicromail/libmailwrapper/abstractmail.h7
-rw-r--r--kmicromail/libmailwrapper/genericwrapper.cpp64
-rw-r--r--kmicromail/libmailwrapper/genericwrapper.h2
-rw-r--r--kmicromail/libmailwrapper/imapwrapper.cpp18
-rw-r--r--kmicromail/libmailwrapper/imapwrapper.h1
-rw-r--r--kmicromail/libmailwrapper/mailtypes.cpp23
-rw-r--r--kmicromail/libmailwrapper/mailtypes.h5
-rw-r--r--kmicromail/libmailwrapper/mboxwrapper.h1
-rw-r--r--kmicromail/libmailwrapper/mhwrapper.cpp1
-rw-r--r--kmicromail/libmailwrapper/mhwrapper.h1
-rw-r--r--kmicromail/libmailwrapper/nntpwrapper.h1
-rw-r--r--kmicromail/libmailwrapper/pop3wrapper.h2
-rw-r--r--kmicromail/libmailwrapper/smtpwrapper.h1
-rw-r--r--kmicromail/mailistviewitem.cpp9
17 files changed, 208 insertions, 22 deletions
diff --git a/kmicromail/accountitem.cpp b/kmicromail/accountitem.cpp
index 1698b40..7b9b881 100644
--- a/kmicromail/accountitem.cpp
+++ b/kmicromail/accountitem.cpp
@@ -91,13 +91,14 @@ QPopupMenu * POP3viewItem::getContextMenu()
if (!account->getOffline())
{
m->insertItem(QObject::tr("Disconnect",contextName),0);
m->insertItem(QObject::tr("Set offline",contextName),1);
- m->insertItem(QObject::tr("Download messages",contextName),2);
+ m->insertItem(QObject::tr("Download new INBOX messages",contextName),2);
}
else
{
m->insertItem(QObject::tr("Set online",contextName),1);
+ m->insertItem(QObject::tr("Download new INBOX messages",contextName),2);
}
}
return m;
}
@@ -136,8 +137,10 @@ void POP3viewItem::contextMenuSelected(int which)
case 1:
setOnOffline();
break;
case 2: // daunlood
+ if (account->getOffline())
+ setOnOffline();
AccountView*bl = accountView();
if (!bl) return;
AccountViewItem* in = findSubItem( "inbox" , 0);
if ( ! in )
@@ -512,12 +515,16 @@ QPopupMenu * IMAPviewItem::getContextMenu()
m->insertItem(QObject::tr("Create new folder",contextName),1);
m->insertSeparator();
m->insertItem(QObject::tr("Disconnect",contextName),2);
m->insertItem(QObject::tr("Set offline",contextName),3);
+ m->insertSeparator();
+ m->insertItem(QObject::tr("Download new INBOX messages",contextName),4);
}
else
{
m->insertItem(QObject::tr("Set online",contextName),3);
+ m->insertSeparator();
+ m->insertItem(QObject::tr("Download new INBOX messages",contextName),4);
}
}
return m;
}
@@ -569,8 +576,21 @@ void IMAPviewItem::contextMenuSelected(int id)
account->save();
SETPIX(PIXMAP_IMAPFOLDER);
refreshFolders(false);
break;
+ case 4: // daunlood
+ {
+ if (account->getOffline()) {
+ contextMenuSelected( 3 );
+ }
+ AccountView*bl = accountView();
+ if (!bl) return;
+ AccountViewItem* in = findSubItem( "inbox" , 0);
+ if ( ! in )
+ return;
+ bl->downloadMailsInbox(in->getFolder(),getWrapper());
+ }
+ break;
default:
break;
}
}
diff --git a/kmicromail/accountview.cpp b/kmicromail/accountview.cpp
index 85523b1..de8c5bb 100644
--- a/kmicromail/accountview.cpp
+++ b/kmicromail/accountview.cpp
@@ -140,8 +140,9 @@ void AccountView::setupFolderselect(Selectstore*sels)
}
}
void AccountView::downloadMailsInbox(const FolderP&fromFolder,AbstractMail*fromWrapper)
{
+#if 0
AbstractMail*targetMail = 0;
QString targetFolder = "";
Selectstore sels;
setupFolderselect(&sels);
@@ -161,11 +162,13 @@ void AccountView::downloadMailsInbox(const FolderP&fromFolder,AbstractMail*fromW
}
int maxsize = 0;
if ( sels.useSize->isChecked())
maxsize = sels.sizeSpinBox->value();
-
fromWrapper->mvcpAllMails(fromFolder,targetFolder,targetMail,sels.moveMails(), maxsize);
+#endif
+ fromWrapper->downloadNewMails( fromFolder, mhAccounts[0]->getWrapper());
refreshCurrent();
+
}
void AccountView::downloadMails(const FolderP&fromFolder,AbstractMail*fromWrapper)
{
diff --git a/kmicromail/libmailwrapper/abstractmail.cpp b/kmicromail/libmailwrapper/abstractmail.cpp
index f876235..374d606 100644
--- a/kmicromail/libmailwrapper/abstractmail.cpp
+++ b/kmicromail/libmailwrapper/abstractmail.cpp
@@ -9,8 +9,9 @@
#include <qprogressbar.h>
#include <qapplication.h>
+#include <qmessagebox.h>
#include <kdecore/kstandarddirs.h>
#include <qfile.h>
#include <qtextstream.h>
@@ -157,8 +158,74 @@ void AbstractMail::deleteMailList(const QValueList<RecMailP>&target)
deleteMail(mail);
++iii;
}
}
+
+void AbstractMail::downloadNewMails(const FolderP&fromFolder, AbstractMail*targetMail )
+{
+ qDebug("AbstractMail::downloadNewMails %s ", fromFolder->getName().latin1());
+ // get local folder
+ Account * acc = getAccount();
+ if ( !acc ) return;
+ QString lfName = acc->getLocalFolder();
+ if ( lfName.isEmpty() )
+ lfName = acc->getAccountName();
+ // create local folder
+ if ( !targetMail->createMbox(lfName))
+ {
+ QMessageBox::critical(0,tr("Error creating new Folder"),
+ tr("Error while creating new folder\n%1\n\nCancelling action.").arg(lfName));
+ return;
+ }
+ QValueList<RecMailP> t;
+ listMessages(fromFolder->getName(),t,acc->getMaxMailSize() );
+ if ( t.count() == 0 ) {
+ Global::statusMessage(tr("There are no new messages"));
+ return;
+ }
+ QValueList<RecMailP> e;
+ targetMail->listMessages(lfName,e,acc->getMaxMailSize() );
+ qDebug("target has mails %d ", e.count());
+ QValueList<RecMailP> n;
+ int iii = 0;
+ int count = t.count();
+ while (iii < count ) {
+ RecMailP r = (*t.at( iii ));
+ bool found = false;
+ int jjj = 0;
+ int countE = e.count();
+ while (jjj < countE ) {
+ RecMailP re = (*e.at( jjj ));
+ if ( re->isEqual(r) ) {
+ found = true;
+ break;
+ }
+ ++jjj;
+ }
+ if ( found )
+ qDebug("found ");
+ else
+ qDebug("NOT found ");
+
+ if ( !found ) {
+ n.append( r );
+ }
+ ++iii;
+ }
+ if ( n.count() == 0 ) {
+ Global::statusMessage(tr("There are no new messages"));
+ return;
+ }
+ mvcpMailList( n,lfName,targetMail,!acc->getLeaveOnServer());
+
+
+#if 0
+ QValueList<RecMailP> t;
+ listMessages(fromFolder->getName(),t, maxSizeInKb);
+ mvcpMailList( t,targetFolder,targetWrapper,moveit);
+#endif
+
+}
void AbstractMail::mvcpAllMails(const FolderP&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb)
{
QValueList<RecMailP> t;
diff --git a/kmicromail/libmailwrapper/abstractmail.h b/kmicromail/libmailwrapper/abstractmail.h
index cae83f4..2069ca1 100644
--- a/kmicromail/libmailwrapper/abstractmail.h
+++ b/kmicromail/libmailwrapper/abstractmail.h
@@ -9,8 +9,11 @@
#include <qobject.h>
#include <opie2/osmartpointer.h>
#include "mailtypes.h"
+
+#include "mailwrapper.h"
+
class IMAPwrapper;
class POP3wrapper;
class Folder;
class encodedString;
@@ -37,9 +40,9 @@ public:
virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&)=0;
virtual void deleteMails(const QString & FolderName,const QValueList<Opie::Core::OSmartPointer<RecMail> >&target);
virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&)=0;
virtual void storeMessage(const char*msg,size_t length, const QString&folder)=0;
-
+ void downloadNewMails(const FolderP&fromFolder,AbstractMail*targetWrapper );
virtual void mvcpAllMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int sizeInKb = 0);
virtual void mvcpMailList(const QValueList<RecMailP>& t,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
@@ -54,8 +57,10 @@ public:
virtual int createMbox(const QString&,const Opie::Core::OSmartPointer<Folder>&parentfolder=0,
const QString& delemiter="/",bool getsubfolder=false);
virtual void logout()=0;
+ virtual Account* getAccount() = 0;
+
static AbstractMail* getWrapper(IMAPaccount *a);
static AbstractMail* getWrapper(POP3account *a);
static AbstractMail* getWrapper(NNTPaccount *a);
/* mbox only! */
diff --git a/kmicromail/libmailwrapper/genericwrapper.cpp b/kmicromail/libmailwrapper/genericwrapper.cpp
index 9614d53..2b04847 100644
--- a/kmicromail/libmailwrapper/genericwrapper.cpp
+++ b/kmicromail/libmailwrapper/genericwrapper.cpp
@@ -2,8 +2,11 @@
#include "genericwrapper.h"
#include <libetpan/libetpan.h>
#include "mailtypes.h"
+#include <kconfig.h>
+#include <kglobal.h>
+#include <kstandarddirs.h>
using namespace Opie::Core;
Genericwrapper::Genericwrapper()
@@ -23,8 +26,50 @@ Genericwrapper::~Genericwrapper()
mailstorage_free(m_storage);
}
cleanMimeCache();
}
+QString Genericwrapper::parseDateTime( mailimf_date_time *date )
+{
+ static bool init = false ;
+ if ( ! init ) {
+ KConfig kon ( locateLocal( "config", "korganizerrc" ) );
+ kon.setGroup("Locale");
+ KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)kon.readNumEntry( "PreferredDate",0) );
+ QString dummy = kon.readEntry( "UserDateFormatShort","%aK %d.%m.%y" );// kon.readEntry( "");
+ KGlobal::locale()->setHore24Format( !kon.readBoolEntry( "PreferredTime",0 ) );
+ KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") ));
+ kon.setGroup("Time & Date");
+ KGlobal::locale()->setDaylightSaving( kon.readBoolEntry( "UseDaylightsaving", true ),
+ kon.readNumEntry( "DaylightsavingStart", 90),
+ kon.readNumEntry( "DaylightsavingEnd",304) );
+ KGlobal::locale()->setTimezone( kon.readEntry( "TimeZoneName" ," 00:00 Europe/London(UTC)") );
+
+ init = true;
+
+ }
+ QDateTime dt (QDate(date->dt_year,date->dt_month, date->dt_day ),QTime(date->dt_hour, date->dt_min, date->dt_sec ) );
+ int off = KGlobal::locale()->localTimeOffset( dt );
+ dt = dt.addSecs( off*60 );
+ QString ret = KGlobal::locale()->formatDateTime( dt,true,true);
+ if ( off < 0 )
+ ret += " -";
+ else
+ ret += " +";
+ ret += QString::number( off / 60 );
+ ret += "h";
+#if 0
+ char tmp[23];
+
+ // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i",
+ // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
+ snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i",
+ date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
+
+
+ return QString( tmp );
+#endif
+ return ret;
+}
void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime)
{
if (!mime) {
@@ -241,19 +286,8 @@ RecBodyP Genericwrapper::parseMail( mailmessage * msg )
traverseBody(body,msg,mime,recList);
return body;
}
-QString Genericwrapper::parseDateTime( mailimf_date_time *date )
-{
- char tmp[23];
-
- // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i",
- // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
- snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i",
- date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
-
- return QString( tmp );
-}
QString Genericwrapper::parseAddressList( mailimf_address_list *list )
{
QString result( "" );
@@ -447,10 +481,16 @@ void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &
if (single_fields.fld_cc)
mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) );
if (single_fields.fld_bcc)
mail->setBcc( parseAddressList( single_fields.fld_bcc->bcc_addr_list ) );
- if (single_fields.fld_orig_date)
+ if (single_fields.fld_orig_date) {
mail->setDate( parseDateTime( single_fields.fld_orig_date->dt_date_time ) );
+ char tmp[23];
+ struct mailimf_date_time* date = single_fields.fld_orig_date->dt_date_time;
+ snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %05i",
+ date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
+ mail->setIsoDate( QString( tmp ) );
+ }
// crashes when accessing pop3 account?
if (single_fields.fld_message_id) {
mail->setMsgid(QString(single_fields.fld_message_id->mid_value));
; // odebug << "Msgid == " << mail->Msgid().latin1() << "" << oendl;
diff --git a/kmicromail/libmailwrapper/genericwrapper.h b/kmicromail/libmailwrapper/genericwrapper.h
index 235e116..244212f 100644
--- a/kmicromail/libmailwrapper/genericwrapper.h
+++ b/kmicromail/libmailwrapper/genericwrapper.h
@@ -41,16 +41,16 @@ public:
virtual void cleanMimeCache();
virtual int deleteMbox(const Opie::Core::OSmartPointer<Folder>&){return 1;}
virtual void logout(){};
virtual void storeMessage(const char*msg,size_t length, const QString&folder){};
+ static QString parseDateTime( mailimf_date_time *date );
protected:
RecBodyP parseMail( mailmessage * msg );
QString parseMailboxList( mailimf_mailbox_list *list );
QString parseMailbox( mailimf_mailbox *box );
QString parseGroup( mailimf_group *group );
QString parseAddressList( mailimf_address_list *list );
- QString parseDateTime( mailimf_date_time *date );
void traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime);
static void fillParameters(RecPartP&target,clist*parameters);
diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp
index 6faa524..5441a9b 100644
--- a/kmicromail/libmailwrapper/imapwrapper.cpp
+++ b/kmicromail/libmailwrapper/imapwrapper.cpp
@@ -6,8 +6,9 @@
#include "imapwrapper.h"
#include "mailtypes.h"
#include "logindialog.h"
#include <qprogressbar.h>
+#include "genericwrapper.h"
using namespace Opie::Core;
int IMAPwrapper::mMax = 0;
int IMAPwrapper::mCurrent = 0;
@@ -455,10 +456,25 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
if (item->att_data.att_static->att_type==MAILIMAP_MSG_ATT_ENVELOPE) {
mailimap_envelope * head = item->att_data.att_static->att_data.att_env;
if ( head == NULL )
continue;
- if ( head->env_date != NULL )
+ if ( head->env_date != NULL ) {
m->setDate(head->env_date);
+ struct mailimf_date_time result;
+ struct mailimf_date_time* date = &result;
+ struct mailimf_date_time **re = &date;
+ size_t length = m->getDate().length();
+ size_t index = 0;
+ if ( mailimf_date_time_parse(head->env_date, length,&index, re ) == MAILIMF_NO_ERROR ) {
+ m->setDate( Genericwrapper::parseDateTime( date ) );
+ char tmp[23];
+ snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %05i",
+ date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone );
+ m->setIsoDate( QString( tmp ) );
+ } else {
+ m->setIsoDate(head->env_date);
+ }
+ }
if ( head->env_subject != NULL )
m->setSubject(convert_String((const char*)head->env_subject));
//m->setSubject(head->env_subject);
if (head->env_from!=NULL) {
diff --git a/kmicromail/libmailwrapper/imapwrapper.h b/kmicromail/libmailwrapper/imapwrapper.h
index db8ab5b..5535d8d 100644
--- a/kmicromail/libmailwrapper/imapwrapper.h
+++ b/kmicromail/libmailwrapper/imapwrapper.h
@@ -51,8 +51,9 @@ public:
virtual void logout();
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
+ virtual Account* getAccount() { return account; };
protected:
RecMail*parse_list_result(mailimap_msg_att*);
void login();
diff --git a/kmicromail/libmailwrapper/mailtypes.cpp b/kmicromail/libmailwrapper/mailtypes.cpp
index d43bdc6..1a4ffd1 100644
--- a/kmicromail/libmailwrapper/mailtypes.cpp
+++ b/kmicromail/libmailwrapper/mailtypes.cpp
@@ -22,9 +22,32 @@ RecMail::RecMail(const RecMail&old)
RecMail::~RecMail()
{
wrapper = 0;
}
+static bool stringCompareRec( const QString& s1, const QString& s2 )
+{
+ if ( s1.isEmpty() && s2.isEmpty() )
+ return true;
+ return s1 == s2;
+}
+bool RecMail::isEqual( RecMail* r1 )
+{
+ if ( !stringCompareRec( isodate, r1->isodate ) ) {
+ // qDebug("date *%s* *%s* ", isodate.latin1(), r1->isodate.latin1());
+ return false;
+ }
+ if ( !stringCompareRec( from, r1->from ) ) {
+ //qDebug("from *%s* *%s* ", from.latin1(), r1->from.latin1());
+ return false;
+ }
+ if ( !stringCompareRec( subject, r1->subject ) ) {
+ //qDebug("sub ");
+ return false;
+ }
+
+ return true;
+}
void RecMail::copy_old(const RecMail&old)
{
subject = old.subject;
date = old.date;
diff --git a/kmicromail/libmailwrapper/mailtypes.h b/kmicromail/libmailwrapper/mailtypes.h
index c317880..020278d 100644
--- a/kmicromail/libmailwrapper/mailtypes.h
+++ b/kmicromail/libmailwrapper/mailtypes.h
@@ -34,13 +34,16 @@ class RecMail:public Opie::Core::ORefCount
public:
RecMail();
RecMail(const RecMail&old);
virtual ~RecMail();
+ bool isEqual( RecMail* r1 );
const unsigned int getNumber()const{return msg_number;}
void setNumber(unsigned int number){msg_number=number;}
const QString&getDate()const{ return date; }
void setDate( const QString&a ) { date = a; }
+ const QString&getIsoDate()const{ return isodate; }
+ void setIsoDate( const QString&a ) { isodate = a; }
const QString&getFrom()const{ return from; }
void setFrom( const QString&a ) { from = a; }
const QString&getSubject()const { return subject; }
void setSubject( const QString&s ) { subject = s; }
@@ -71,9 +74,9 @@ public:
void setWrapper(AbstractMail*wrapper);
AbstractMail* Wrapper();
protected:
- QString subject,date,from,mbox,msg_id,replyto;
+ QString subject,date,isodate,from,mbox,msg_id,replyto;
unsigned int msg_number,msg_size;
QBitArray msg_flags;
QStringList to,cc,bcc,in_reply_to,references;
AbstractMail*wrapper;
diff --git a/kmicromail/libmailwrapper/mboxwrapper.h b/kmicromail/libmailwrapper/mboxwrapper.h
index 9731b85..d03940f 100644
--- a/kmicromail/libmailwrapper/mboxwrapper.h
+++ b/kmicromail/libmailwrapper/mboxwrapper.h
@@ -35,8 +35,9 @@ public:
virtual void deleteMails(const QString & FolderName,const QValueList<RecMailP> &target);
virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&);
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
+ virtual Account* getAccount() { return 0; };
protected:
static void deleteMails(mailmbox_folder*f,const QValueList<RecMailP> &target);
QString MBOXPath;
diff --git a/kmicromail/libmailwrapper/mhwrapper.cpp b/kmicromail/libmailwrapper/mhwrapper.cpp
index cbc52d9..962dac0 100644
--- a/kmicromail/libmailwrapper/mhwrapper.cpp
+++ b/kmicromail/libmailwrapper/mhwrapper.cpp
@@ -64,8 +64,9 @@ MHwrapper::~MHwrapper()
}
void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb )
{
+ qDebug("MHwrapper::listMessages ");
init_storage();
if (!m_storage) {
return;
}
diff --git a/kmicromail/libmailwrapper/mhwrapper.h b/kmicromail/libmailwrapper/mhwrapper.h
index 550824d..d1b7d1f 100644
--- a/kmicromail/libmailwrapper/mhwrapper.h
+++ b/kmicromail/libmailwrapper/mhwrapper.h
@@ -41,8 +41,9 @@ public:
virtual void deleteMails(const QString & FolderName,const QValueList<Opie::Core::OSmartPointer<RecMail> > &target);
virtual int deleteAllMail(const Opie::Core::OSmartPointer<Folder>&);
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
+ virtual Account* getAccount() { return 0; };
public slots:
/* for deleting maildirs we are using a system call */
virtual void oprocessStderr(Opie::Core::OProcess*, char *buffer, int );
diff --git a/kmicromail/libmailwrapper/nntpwrapper.h b/kmicromail/libmailwrapper/nntpwrapper.h
index 5d4e5ce..8c54f12 100644
--- a/kmicromail/libmailwrapper/nntpwrapper.h
+++ b/kmicromail/libmailwrapper/nntpwrapper.h
@@ -36,8 +36,9 @@ public:
virtual void logout();
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
static void nntp_progress( size_t current, size_t maximum );
+ virtual Account* getAccount() { return account; };
protected:
void login();
NNTPaccount *account;
diff --git a/kmicromail/libmailwrapper/pop3wrapper.h b/kmicromail/libmailwrapper/pop3wrapper.h
index 7c70942..ebc2fc7 100644
--- a/kmicromail/libmailwrapper/pop3wrapper.h
+++ b/kmicromail/libmailwrapper/pop3wrapper.h
@@ -33,9 +33,9 @@ public:
virtual void logout();
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
static void pop3_progress( size_t current, size_t maximum );
-
+ virtual Account* getAccount() { return account; };
protected:
void login();
POP3account *account;
mailstorage*m_pop3;
diff --git a/kmicromail/libmailwrapper/smtpwrapper.h b/kmicromail/libmailwrapper/smtpwrapper.h
index 105cbf5..ec42b56 100644
--- a/kmicromail/libmailwrapper/smtpwrapper.h
+++ b/kmicromail/libmailwrapper/smtpwrapper.h
@@ -26,8 +26,9 @@ public:
bool sendMail(const Opie::Core::OSmartPointer<Mail>& mail,bool later=false );
bool flushOutbox();
static progressMailSend*sendProgress;
+ virtual Account* getAccount() { return m_SmtpAccount; };
signals:
void queuedMails( int );
diff --git a/kmicromail/mailistviewitem.cpp b/kmicromail/mailistviewitem.cpp
index b92b0cf..484a635 100644
--- a/kmicromail/mailistviewitem.cpp
+++ b/kmicromail/mailistviewitem.cpp
@@ -52,13 +52,13 @@ void MailListViewItem::showEntry()
mKeyMap.insert(3, "k" + fsort);
//setText(3, "kB" + fsort ); // test only
} else {
//setText(3, fsize + "MB");
- mKeyMap.insert(4, "M" +fsort );
+ mKeyMap.insert(3, "M" +fsort );
}
setText(1,mail_data->getSubject());
setText(2,mail_data->getFrom());
-
+#if 0
QString date = mail_data->getDate();
int kom = date.find( ",")+2;
if ( kom == 1 )
@@ -97,11 +97,14 @@ void MailListViewItem::showEntry()
else if ( mon == "Dec" )
so = "12";
date = date.mid(7,4)+so+date.left(2)+date.mid(12,14);
}
+ //qDebug("insert Date %s ", date.latin1());
// if ( date.left(1) != "1" || date.left(1) != "2" )
// date = date.mid(5);
mKeyMap.insert(4,date);
+#endif
+ mKeyMap.insert(4,mail_data->getIsoDate());
setText(4,mail_data->getDate());
}
void MailListViewItem::storeData(const RecMailP&data)
@@ -114,9 +117,9 @@ void MailListViewItem::setSortKey(int column,const QString &key)
}
QString MailListViewItem::key(int column, bool) const
{
// to make is fast, we use here special cases
- if ( column == 3 || column == 4 ) {
+ if ( column == 3 || column == 4 ) {
return *mKeyMap.find(column);
}
if ( column == 1 ) {
if ( text(1).left(4).lower() == "re: " )