author | alwin <alwin> | 2004-03-08 01:00:18 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-03-08 01:00:18 (UTC) |
commit | eddc5184f5be6a067b077d18e240a1fe982bbcf4 (patch) (side-by-side diff) | |
tree | 0d9458a10520ca23e1d5d041d9d2ca4150bd8f1c /noncore/net/mail | |
parent | eedafdf1a1d973c083cb108a913005d14a78a9ae (diff) | |
download | opie-eddc5184f5be6a067b077d18e240a1fe982bbcf4.zip opie-eddc5184f5be6a067b077d18e240a1fe982bbcf4.tar.gz opie-eddc5184f5be6a067b077d18e240a1fe982bbcf4.tar.bz2 |
type of mail account will be defined by a enum not with string - comparing
strings all the time makes no sense.
21 files changed, 93 insertions, 48 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 64557ee..4375044 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -62,20 +62,20 @@ void AccountView::populate( QList<Account> list ) Account *it; for ( it = list.first(); it; it = list.next() ) { - if ( it->getType().compare( "IMAP" ) == 0 ) + if ( it->getType() == MAILLIB::A_IMAP ) { IMAPaccount *imap = static_cast<IMAPaccount *>(it); qDebug( "added IMAP " + imap->getAccountName() ); imapAccounts.append(new IMAPviewItem( imap, this )); } - else if ( it->getType().compare( "POP3" ) == 0 ) + else if ( it->getType() == MAILLIB::A_POP3 ) { POP3account *pop3 = static_cast<POP3account *>(it); qDebug( "added POP3 " + pop3->getAccountName() ); /* must not be hold 'cause it isn't required */ (void) new POP3viewItem( pop3, this ); } - else if ( it->getType().compare( "NNTP" ) == 0 ) + else if ( it->getType() == MAILLIB::A_NNTP ) { NNTPaccount *nntp = static_cast<NNTPaccount *>(it); qDebug( "added NNTP " + nntp->getAccountName() ); diff --git a/noncore/net/mail/composemail.cpp b/noncore/net/mail/composemail.cpp index f51a8fe..f8ac76f 100644 --- a/noncore/net/mail/composemail.cpp +++ b/noncore/net/mail/composemail.cpp @@ -46,7 +46,7 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m Account *it; for ( it = accounts.first(); it; it = accounts.next() ) { - if ( it->getType().compare( "SMTP" ) == 0 ) { + if ( it->getType()==MAILLIB::A_SMTP ) { SMTPaccount *smtp = static_cast<SMTPaccount *>(it); smtpAccountBox->insertItem( smtp->getAccountName() ); smtpAccounts.append( smtp ); diff --git a/noncore/net/mail/editaccounts.cpp b/noncore/net/mail/editaccounts.cpp index 28d531b..5c4bdf7 100644 --- a/noncore/net/mail/editaccounts.cpp +++ b/noncore/net/mail/editaccounts.cpp @@ -16,7 +16,25 @@ AccountListItem::AccountListItem( QListView *parent, Account *a) { account = a; setText( 0, account->getAccountName() ); - setText( 1, account->getType() ); + QString ttext = ""; + switch (account->getType()) { + case MAILLIB::A_NNTP: + ttext="NNTP"; + break; + case MAILLIB::A_POP3: + ttext = "POP3"; + break; + case MAILLIB::A_IMAP: + ttext = "IMAP"; + break; + case MAILLIB::A_SMTP: + ttext = "SMTP"; + break; + default: + ttext = "UNKNOWN"; + break; + } + setText( 1, ttext); } EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) @@ -49,7 +67,7 @@ void EditAccounts::slotFillLists() Account *it; for ( it = accounts.first(); it; it = accounts.next() ) { - if ( it->getType().compare( "NNTP" ) == 0 ) + if ( it->getType()==MAILLIB::A_NNTP ) { (void) new AccountListItem( newsList, it ); } @@ -143,7 +161,7 @@ void EditAccounts::slotNewAccount( const QString &type ) void EditAccounts::slotEditAccount( Account *account ) { - if ( account->getType().compare( "IMAP" ) == 0 ) + if ( account->getType() == MAILLIB::A_IMAP ) { IMAPaccount *imapAcc = static_cast<IMAPaccount *>(account); IMAPconfig imap( imapAcc, this, 0, true, WStyle_ContextHelp ); @@ -152,7 +170,7 @@ void EditAccounts::slotEditAccount( Account *account ) slotFillLists(); } } - else if ( account->getType().compare( "POP3" ) == 0 ) + else if ( account->getType()==MAILLIB::A_POP3 ) { POP3account *pop3Acc = static_cast<POP3account *>(account); POP3config pop3( pop3Acc, this, 0, true, WStyle_ContextHelp ); @@ -161,7 +179,7 @@ void EditAccounts::slotEditAccount( Account *account ) slotFillLists(); } } - else if ( account->getType().compare( "SMTP" ) == 0 ) + else if ( account->getType()==MAILLIB::A_SMTP ) { SMTPaccount *smtpAcc = static_cast<SMTPaccount *>(account); SMTPconfig smtp( smtpAcc, this, 0, true, WStyle_ContextHelp ); @@ -170,7 +188,7 @@ void EditAccounts::slotEditAccount( Account *account ) slotFillLists(); } } - else if ( account->getType().compare( "NNTP" ) == 0 ) + else if ( account->getType()==MAILLIB::A_NNTP) { NNTPaccount *nntpAcc = static_cast<NNTPaccount *>(account); NNTPconfig nntp( nntpAcc, this, 0, true, WStyle_ContextHelp ); diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h index b6e1538..442ebfe 100644 --- a/noncore/net/mail/libmailwrapper/abstractmail.h +++ b/noncore/net/mail/libmailwrapper/abstractmail.h @@ -1,6 +1,8 @@ #ifndef __abstract_mail_ #define __abstract_mail_ +#include "maildefines.h" + #include <qobject.h> #include "settings.h" @@ -55,7 +57,7 @@ public: static QString defaultLocalfolder(); - virtual const QString&getType()const=0; + virtual MAILLIB::ATYPE getType()const=0; virtual const QString&getName()const=0; protected: diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp index 350808a..3fe319b 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp @@ -444,7 +444,7 @@ void Genericwrapper::cleanMimeCache() qDebug("Genericwrapper: cache cleaned"); } -void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox) +void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox,bool mbox_as_to) { int r; mailmessage_list * env_list = 0; @@ -488,8 +488,12 @@ void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); if (single_fields.fld_from) mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); - if (single_fields.fld_to) - mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) ); + if (!mbox_as_to) { + if (single_fields.fld_to) + mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) ); + } else { + mail->setTo(mailbox); + } if (single_fields.fld_cc) mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) ); if (single_fields.fld_bcc) diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.h b/noncore/net/mail/libmailwrapper/genericwrapper.h index e471dc8..b451416 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.h +++ b/noncore/net/mail/libmailwrapper/genericwrapper.h @@ -54,7 +54,7 @@ protected: static void fillSingleBody(RecPart&target,mailmessage*message,mailmime*mime); static void fillParameters(RecPart&target,clist*parameters); static QString getencoding(mailmime_mechanism*aEnc); - virtual void parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox); + virtual void parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false); QString msgTempName; unsigned int last_msg_id; diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 1dfcc4c..3375e69 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -1090,7 +1090,7 @@ void IMAPwrapper::storeMessage(const char*msg,size_t length, const QString&folde } } -const QString&IMAPwrapper::getType()const +MAILLIB::ATYPE IMAPwrapper::getType()const { return account->getType(); } diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h index 0a1fe2c..2623725 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.h +++ b/noncore/net/mail/libmailwrapper/imapwrapper.h @@ -46,7 +46,7 @@ public: static void imap_progress( size_t current, size_t maximum ); virtual void logout(); - virtual const QString&getType()const; + virtual MAILLIB::ATYPE getType()const; virtual const QString&getName()const; protected: diff --git a/noncore/net/mail/libmailwrapper/maildefines.h b/noncore/net/mail/libmailwrapper/maildefines.h new file mode 100644 index 0000000..431f9ea --- a/dev/null +++ b/noncore/net/mail/libmailwrapper/maildefines.h @@ -0,0 +1,16 @@ +#ifndef __MAILDEFINES_H +#define __MAILDEFINES_H + +namespace MAILLIB { + enum ATYPE { + A_UNDEFINED, + A_IMAP, + A_POP3, + A_SMTP, + A_MH, + A_MBOX, + A_NNTP, + }; +} + +#endif diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp index 97f301e..11ffd92 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp @@ -6,7 +6,7 @@ #include <stdlib.h> #include <qpe/global.h> -const QString MBOXwrapper::wrapperType="MBOX"; +const MAILLIB::ATYPE MBOXwrapper::wrapperType=MAILLIB::MBOX; MBOXwrapper::MBOXwrapper(const QString & mbox_dir,const QString&mbox_name) : Genericwrapper(),MBOXPath(mbox_dir),MBOXName(mbox_name) @@ -326,7 +326,7 @@ void MBOXwrapper::statusFolder(folderStat&target_stat,const QString & mailbox) if (storage) mailstorage_free(storage); } -const QString&MBOXwrapper::getType()const +MAILLIB::ATYPE MBOXwrapper::getType()const { return wrapperType; } diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h index a579a3d..a12a1dd 100644 --- a/noncore/net/mail/libmailwrapper/mboxwrapper.h +++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h @@ -35,14 +35,14 @@ public: virtual encodedString* fetchRawBody(const RecMail&mail); virtual void deleteMails(const QString & FolderName,QList<RecMail> &target); virtual int deleteAllMail(const Folder*); - virtual const QString&getType()const; + virtual MAILLIB::ATYPE getType()const; virtual const QString&getName()const; protected: static void deleteMails(mailmbox_folder*f,QList<RecMail> &target); QString MBOXPath; QString MBOXName; - static const QString wrapperType; + static const MAILLIB::ATYPE wrapperType; }; #endif diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp index df7f773..179bd34 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp @@ -8,7 +8,7 @@ #include <qpe/global.h> #include <opie2/oprocess.h> -const QString MHwrapper::wrapperType="MH"; +const MAILLIB::ATYPE MHwrapper::wrapperType=MAILLIB::A_MH; MHwrapper::MHwrapper(const QString & mbox_dir,const QString&mbox_name) : Genericwrapper(),MHPath(mbox_dir),MHName(mbox_name) @@ -366,7 +366,7 @@ void MHwrapper::statusFolder(folderStat&target_stat,const QString & mailbox) } } -const QString&MHwrapper::getType()const +MAILLIB::ATYPE MHwrapper::getType()const { return wrapperType; } diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.h b/noncore/net/mail/libmailwrapper/mhwrapper.h index b8e380c..c1ba78d 100644 --- a/noncore/net/mail/libmailwrapper/mhwrapper.h +++ b/noncore/net/mail/libmailwrapper/mhwrapper.h @@ -1,6 +1,8 @@ #ifndef __MH_WRAPPER_H #define __MH_WRAPPER_H +#include "maildefines.h" + #include "genericwrapper.h" #include <qstring.h> @@ -37,7 +39,7 @@ public: virtual encodedString* fetchRawBody(const RecMail&mail); virtual void deleteMails(const QString & FolderName,QList<RecMail> &target); virtual int deleteAllMail(const Folder*); - virtual const QString&getType()const; + virtual MAILLIB::ATYPE getType()const; virtual const QString&getName()const; public slots: @@ -48,7 +50,7 @@ protected: QString buildPath(const QString&p); QString MHPath; QString MHName; - static const QString wrapperType; + static const MAILLIB::ATYPE wrapperType; void init_storage(); void clean_storage(); diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp index 5a8c224..1956c61 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp @@ -103,7 +103,7 @@ void NNTPwrapper::listMessages(const QString & which, QList<RecMail> &target ) return; uint32_t res_messages,res_recent,res_unseen; mailsession_status_folder(m_nntp->sto_session,(char*)which.latin1(),&res_messages,&res_recent,&res_unseen); - parseList(target,m_nntp->sto_session,which); + parseList(target,m_nntp->sto_session,which,true); } void NNTPwrapper::login() @@ -269,7 +269,7 @@ encodedString* NNTPwrapper::fetchRawBody(const RecMail&mail) { return res; } -const QString&NNTPwrapper::getType()const { +MAILLIB::ATYPE NNTPwrapper::getType()const { return account->getType(); } @@ -277,7 +277,7 @@ const QString&NNTPwrapper::getName()const{ return account->getAccountName(); } -void NNTPwrapper::deleteMail(const RecMail&mail) { +void NNTPwrapper::deleteMail(const RecMail&) { } int NNTPwrapper::deleteAllMail(const Folder*) { diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.h b/noncore/net/mail/libmailwrapper/nntpwrapper.h index d51c955..955b9f1 100644 --- a/noncore/net/mail/libmailwrapper/nntpwrapper.h +++ b/noncore/net/mail/libmailwrapper/nntpwrapper.h @@ -33,7 +33,7 @@ public: virtual RecBody fetchBody( const RecMail &mail ); virtual encodedString* fetchRawBody(const RecMail&mail); virtual void logout(); - virtual const QString&getType()const; + virtual MAILLIB::ATYPE getType()const; virtual const QString&getName()const; static void nntp_progress( size_t current, size_t maximum ); diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 6fab401..0939b22 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -246,7 +246,7 @@ encodedString* POP3wrapper::fetchRawBody(const RecMail&mail) { return res; } -const QString&POP3wrapper::getType()const { +MAILLIB::ATYPE POP3wrapper::getType()const { return account->getType(); } diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h index a24b9cf..391c841 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.h +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h @@ -29,7 +29,7 @@ public: virtual RecBody fetchBody( const RecMail &mail ); virtual encodedString* fetchRawBody(const RecMail&mail); virtual void logout(); - virtual const QString&getType()const; + virtual MAILLIB::ATYPE getType()const; virtual const QString&getName()const; static void pop3_progress( size_t current, size_t maximum ); diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp index 0d34fd5..2c81963 100644 --- a/noncore/net/mail/libmailwrapper/settings.cpp +++ b/noncore/net/mail/libmailwrapper/settings.cpp @@ -106,7 +106,7 @@ void Settings::readAccounts() Account::Account() { accountName = "changeMe"; - type = "changeMe"; + type = MAILLIB::A_UNDEFINED; ssl = false; connectionType = 1; offline = false; @@ -125,7 +125,7 @@ IMAPaccount::IMAPaccount() accountName = "New IMAP Account"; ssl = false; connectionType = 1; - type = "IMAP"; + type = MAILLIB::A_IMAP; port = IMAP_PORT; } @@ -136,7 +136,7 @@ IMAPaccount::IMAPaccount( QString filename ) accountName = "New IMAP Account"; ssl = false; connectionType = 1; - type = "IMAP"; + type = MAILLIB::A_IMAP; port = IMAP_PORT; } @@ -210,7 +210,7 @@ POP3account::POP3account() accountName = "New POP3 Account"; ssl = false; connectionType = 1; - type = "POP3"; + type = MAILLIB::A_POP3; port = POP3_PORT; } @@ -221,7 +221,7 @@ POP3account::POP3account( QString filename ) accountName = "New POP3 Account"; ssl = false; connectionType = 1; - type = "POP3"; + type = MAILLIB::A_POP3; port = POP3_PORT; } @@ -291,7 +291,7 @@ SMTPaccount::SMTPaccount() useCC = false; useBCC = false; useReply = false; - type = "SMTP"; + type = MAILLIB::A_SMTP; port = SMTP_PORT; } @@ -303,7 +303,7 @@ SMTPaccount::SMTPaccount( QString filename ) ssl = false; connectionType = 1; login = false; - type = "SMTP"; + type = MAILLIB::A_SMTP; port = SMTP_PORT; } @@ -369,7 +369,7 @@ NNTPaccount::NNTPaccount() accountName = "New NNTP Account"; ssl = false; login = false; - type = "NNTP"; + type = MAILLIB::A_NNTP; port = NNTP_PORT; } @@ -380,7 +380,7 @@ NNTPaccount::NNTPaccount( QString filename ) accountName = "New NNTP Account"; ssl = false; login = false; - type = "NNTP"; + type = MAILLIB::A_NNTP; port = NNTP_PORT; } diff --git a/noncore/net/mail/libmailwrapper/settings.h b/noncore/net/mail/libmailwrapper/settings.h index 1feedbf..27e2823 100644 --- a/noncore/net/mail/libmailwrapper/settings.h +++ b/noncore/net/mail/libmailwrapper/settings.h @@ -1,6 +1,8 @@ #ifndef SETTINGS_H #define SETTINGS_H +#include "maildefines.h" + #include <qobject.h> #include <qlist.h> @@ -14,7 +16,7 @@ public: void remove(); void setAccountName( QString name ) { accountName = name; } const QString&getAccountName()const{ return accountName; } - const QString&getType()const{ return type; } + MAILLIB::ATYPE getType()const{ return type; } void setServer(const QString&str){ server = str; } const QString&getServer()const{ return server; } @@ -41,12 +43,13 @@ public: virtual QString getFileName() { return accountName; } virtual void read() { qDebug( "base reading..." ); } virtual void save() { qDebug( "base saving..." ); } - + protected: - QString accountName, type, server, port, user, password; + QString accountName, server, port, user, password; bool ssl; int connectionType; bool offline; + MAILLIB::ATYPE type; }; class IMAPaccount : public Account diff --git a/noncore/net/mail/libmailwrapper/statusmail.cpp b/noncore/net/mail/libmailwrapper/statusmail.cpp index 4134e79..b78244d 100644 --- a/noncore/net/mail/libmailwrapper/statusmail.cpp +++ b/noncore/net/mail/libmailwrapper/statusmail.cpp @@ -26,7 +26,7 @@ void StatusMail::initAccounts(QList<Account>&accounts) currentPop3Stat.message_recent=0; currentPop3Stat.message_unseen=0; for ( it = accounts.first(); it; it = accounts.next() ) { - if ( it->getType().compare( "IMAP" ) == 0 && !it->getOffline() ) { + if ( it->getType()==MAILLIB::A_IMAP && !it->getOffline() ) { IMAPaccount*ima = static_cast<IMAPaccount *>(it); current = AbstractMail::getWrapper(ima); connectionList.append(current); @@ -34,7 +34,7 @@ void StatusMail::initAccounts(QList<Account>&accounts) currentImapStat.message_count+=currentStat.message_unseen; currentImapStat.message_count+=currentStat.message_recent; currentImapStat.message_count+=currentStat.message_count; - } else if ( it->getType().compare( "POP3" ) == 0 && !it->getOffline() ) { + } else if ( it->getType() == MAILLIB::A_POP3 && !it->getOffline() ) { POP3account *pop3 = static_cast<POP3account *>(it); current = AbstractMail::getWrapper(pop3); connectionList.append(current); @@ -66,11 +66,11 @@ void StatusMail::check_current_stat(folderStat&targetStat) for ( it = connectionList.first(); it; it = connectionList.next() ) { it->statusFolder(currentStat); it->logout(); - if (it->getType().lower()=="imap") { + if (it->getType() == MAILLIB::A_IMAP) { currentImapStat.message_unseen+=currentStat.message_unseen; currentImapStat.message_recent+=currentStat.message_recent; currentImapStat.message_count+=currentStat.message_count; - } else if (it->getType().lower()=="pop3") { + } else if (it->getType() == MAILLIB::A_POP3) { currentPop3Stat.message_count+=currentStat.message_count; qDebug("Pop3 count: %i",currentPop3Stat.message_count); } diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp index 6bfc824..d8b58b6 100644 --- a/noncore/net/mail/opiemail.cpp +++ b/noncore/net/mail/opiemail.cpp @@ -82,7 +82,7 @@ void OpieMail::slotSendQueued() Account *it; for ( it = list.first(); it; it = list.next() ) { - if ( it->getType().compare( "SMTP" ) == 0 ) + if ( it->getType() == MAILLIB::A_SMTP ) { smtp = static_cast<SMTPaccount *>(it); smtpList.append(smtp); |