author | groucho <groucho> | 2003-04-24 11:19:11 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-04-24 11:19:11 (UTC) |
commit | 9671975e21266e3bfa6f3c793a3278b67cea34b7 (patch) (side-by-side diff) | |
tree | 876c77939cfd0e00fc844b1b5af09b2978564a6d /noncore/net/mailit/emailhandler.cpp | |
parent | 51e782b9658de61dc02579e115a9c62f396609a3 (diff) | |
download | opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.zip opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.tar.gz opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.tar.bz2 |
- reworked size filtering
- started reworking offline download
- better tab focus switching
- Hello "Whats this" capability
- Fixed parsing of To: header files (no more Delivered-To: and Reply-To: matches)
- Good bye Settings.txt, hello Config Objects and encrypted passwords
- Translation improvements (added trs)
- Parser optimizations
Diffstat (limited to 'noncore/net/mailit/emailhandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mailit/emailhandler.cpp | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp index f6c6d60..b180051 100644 --- a/noncore/net/mailit/emailhandler.cpp +++ b/noncore/net/mailit/emailhandler.cpp @@ -105,5 +105,5 @@ void EmailHandler::getMail() headers = FALSE; - popClient->headersOnly(headers, 0); + //popClient->headersOnly(headers, 0); popClient->newConnection(mailAccount.popServer, 110); } @@ -112,9 +112,5 @@ void EmailHandler::getMailHeaders() { popClient->setAccount(mailAccount.popUserName, mailAccount.popPasswd); - if (mailAccount.synchronize) { - popClient->setSynchronize(mailAccount.lastServerMailCount); - } else { - popClient->removeSynchronize(); - } + mailAccount.synchronize ? popClient->setSynchronize(mailAccount.lastServerMailCount): popClient->removeSynchronize(); headers = TRUE; @@ -136,5 +132,5 @@ void EmailHandler::getMailByList(MailList *mailList) } -void EmailHandler::messageArrived(const QString &message, int id, uint size, bool complete) +void EmailHandler::messageArrived(const QString &message, int id, uint size, bool incomplete) { Email mail; @@ -143,5 +139,5 @@ void EmailHandler::messageArrived(const QString &message, int id, uint size, boo mail.serverId = id; mail.size = size; - mail.downloaded = complete; + mail.downloaded = incomplete; emit mailArrived(mail, FALSE); @@ -186,5 +182,6 @@ bool EmailHandler::parse(QString in, QString lineShift, Email *mail) mail->from = mail->from.right(mail->from.length() - 1); } - pos++; + pos++; + mail->fromMail = p.getString(&pos, '>', false); } else { @@ -200,12 +197,31 @@ bool EmailHandler::parse(QString in, QString lineShift, Email *mail) } - //@@@ToDo: Rewrite the parser as To: stops at the first occurence- which is Delivered-To: - if ((pos = p.find("TO",':', 0, TRUE)) != -1) + pos=0; + + //Search for To: after the FROM: attribute to prevent hitting the Delivered-To: + while((pos = p.find("TO",':', pos+1, TRUE))!=-1) { - pos++; - mail->recipients.append (p.getString(&pos, 'z', TRUE) ); + QString rec; + + if (p.separatorAt(pos-1)!='-') + { + pos++; + mail->recipients.append(p.getString(&pos, '\r', TRUE)); + } + /*else { + if ((p.separatorAt(pos) == '<')|| (p.separatorAt(pos) == ' ')) //No name.. nasty + pos++; + pos++; + mail->fromMail = p.getString(&pos, 'z', TRUE); + if (mail->fromMail.at(mail->fromMail.length()-1) == '>') + mail->fromMail.truncate(mail->fromMail.length() - 1); + mail->from=mail->fromMail; + } + mail->recipients.append (p.getString(&pos, 'z', TRUE) ); + }*/ } - - //@@@ToDo: Rewrite the parser as To: stops at the first occurence- which is Delivered-To: + // + //if (pos==-1) mail->recipients.append (tr("undisclosed recipients") ); + if ((pos = p.find("CC",':', 0, TRUE)) != -1) { @@ -214,12 +230,12 @@ bool EmailHandler::parse(QString in, QString lineShift, Email *mail) } - if ((pos = p.find("SUBJECT",':', 0, TRUE)) != -1) { pos++; mail->subject = p.getString(&pos, 'z', TRUE); } + if ((pos = p.find("DATE",':', 0, TRUE)) != -1) { pos++; - mail->date = p.getString(&pos, 'z', true); + mail->date = p.getString(&pos, 'z', TRUE); } |