-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 1 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 1 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailtypes.cpp | 17 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailtypes.h | 7 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 1 | ||||
-rw-r--r-- | noncore/net/mail/mailtypes.cpp | 17 | ||||
-rw-r--r-- | noncore/net/mail/mailtypes.h | 7 | ||||
-rw-r--r-- | noncore/net/mail/pop3wrapper.cpp | 1 |
8 files changed, 50 insertions, 2 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index e5eb335..3222c7e 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp @@ -130,8 +130,9 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) RecMail*m = parse_list_result(msg_att); if (m) { m->setNumber(i); m->setMbox(mailbox); + m->setWrapper(this); target.append(m); } } } else { diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index e5eb335..3222c7e 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -130,8 +130,9 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target ) RecMail*m = parse_list_result(msg_att); if (m) { m->setNumber(i); m->setMbox(mailbox); + m->setWrapper(this); target.append(m); } } } else { diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp index 5cd45ed..94f5d6f 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.cpp +++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp @@ -14,8 +14,13 @@ RecMail::RecMail(const RecMail&old) copy_old(old); qDebug("Copy constructor RecMail"); } +RecMail::~RecMail() +{ + wrapper = 0; +} + void RecMail::copy_old(const RecMail&old) { subject = old.subject; date = old.date; @@ -27,15 +32,27 @@ void RecMail::copy_old(const RecMail&old) msg_flags = old.msg_flags; to = old.to; cc = old.cc; bcc = old.bcc; + wrapper = old.wrapper; } void RecMail::init() { to.clear(); cc.clear(); bcc.clear(); + wrapper = 0; +} + +void RecMail::setWrapper(AbstractMail*awrapper) +{ + wrapper = awrapper; +} + +AbstractMail* RecMail::Wrapper() +{ + return wrapper; } void RecMail::setTo(const QStringList&list) { diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h index 24518cf..9ef762d 100644 --- a/noncore/net/mail/libmailwrapper/mailtypes.h +++ b/noncore/net/mail/libmailwrapper/mailtypes.h @@ -14,8 +14,9 @@ #include <qstringlist.h> #include <qmap.h> #include <qvaluelist.h> +class AbstractMail; /* a class to describe mails in a mailbox */ /* Attention! From programmers point of view it would make sense to store the mail body into this class, too. @@ -31,9 +32,9 @@ class RecMail { public: RecMail(); RecMail(const RecMail&old); - virtual ~RecMail(){} + virtual ~RecMail(); const int getNumber()const{return msg_number;} void setNumber(int number){msg_number=number;} const QString&getDate()const{ return date; } @@ -59,14 +60,18 @@ public: void setBcc(const QStringList&list); const QStringList&Bcc()const; const QBitArray&getFlags()const{return msg_flags;} void setFlags(const QBitArray&flags){msg_flags = flags;} + + void setWrapper(AbstractMail*wrapper); + AbstractMail* Wrapper(); protected: QString subject,date,from,mbox,msg_id,replyto; int msg_number,msg_size; QBitArray msg_flags; QStringList to,cc,bcc; + AbstractMail*wrapper; void init(); void copy_old(const RecMail&old); }; diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 49c3b7a..903ef4d 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -80,8 +80,9 @@ void POP3wrapper::listMessages(const QString &, QList<RecMail> &target ) return; } RecMail *mail = parseHeader( header ); mail->setNumber( info->msg_index ); + mail->setWrapper(this); target.append( mail ); } logout(); diff --git a/noncore/net/mail/mailtypes.cpp b/noncore/net/mail/mailtypes.cpp index 5cd45ed..94f5d6f 100644 --- a/noncore/net/mail/mailtypes.cpp +++ b/noncore/net/mail/mailtypes.cpp @@ -14,8 +14,13 @@ RecMail::RecMail(const RecMail&old) copy_old(old); qDebug("Copy constructor RecMail"); } +RecMail::~RecMail() +{ + wrapper = 0; +} + void RecMail::copy_old(const RecMail&old) { subject = old.subject; date = old.date; @@ -27,15 +32,27 @@ void RecMail::copy_old(const RecMail&old) msg_flags = old.msg_flags; to = old.to; cc = old.cc; bcc = old.bcc; + wrapper = old.wrapper; } void RecMail::init() { to.clear(); cc.clear(); bcc.clear(); + wrapper = 0; +} + +void RecMail::setWrapper(AbstractMail*awrapper) +{ + wrapper = awrapper; +} + +AbstractMail* RecMail::Wrapper() +{ + return wrapper; } void RecMail::setTo(const QStringList&list) { diff --git a/noncore/net/mail/mailtypes.h b/noncore/net/mail/mailtypes.h index 24518cf..9ef762d 100644 --- a/noncore/net/mail/mailtypes.h +++ b/noncore/net/mail/mailtypes.h @@ -14,8 +14,9 @@ #include <qstringlist.h> #include <qmap.h> #include <qvaluelist.h> +class AbstractMail; /* a class to describe mails in a mailbox */ /* Attention! From programmers point of view it would make sense to store the mail body into this class, too. @@ -31,9 +32,9 @@ class RecMail { public: RecMail(); RecMail(const RecMail&old); - virtual ~RecMail(){} + virtual ~RecMail(); const int getNumber()const{return msg_number;} void setNumber(int number){msg_number=number;} const QString&getDate()const{ return date; } @@ -59,14 +60,18 @@ public: void setBcc(const QStringList&list); const QStringList&Bcc()const; const QBitArray&getFlags()const{return msg_flags;} void setFlags(const QBitArray&flags){msg_flags = flags;} + + void setWrapper(AbstractMail*wrapper); + AbstractMail* Wrapper(); protected: QString subject,date,from,mbox,msg_id,replyto; int msg_number,msg_size; QBitArray msg_flags; QStringList to,cc,bcc; + AbstractMail*wrapper; void init(); void copy_old(const RecMail&old); }; diff --git a/noncore/net/mail/pop3wrapper.cpp b/noncore/net/mail/pop3wrapper.cpp index 49c3b7a..903ef4d 100644 --- a/noncore/net/mail/pop3wrapper.cpp +++ b/noncore/net/mail/pop3wrapper.cpp @@ -80,8 +80,9 @@ void POP3wrapper::listMessages(const QString &, QList<RecMail> &target ) return; } RecMail *mail = parseHeader( header ); mail->setNumber( info->msg_index ); + mail->setWrapper(this); target.append( mail ); } logout(); |