-rw-r--r-- | noncore/net/mailit/emailclient.cpp | 8 | ||||
-rw-r--r-- | noncore/net/mailit/emailhandler.cpp | 8 | ||||
-rw-r--r-- | noncore/net/mailit/mailitwindow.cpp | 22 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailclient.cpp | 8 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.cpp | 8 | ||||
-rw-r--r-- | noncore/unsupported/mailit/mailitwindow.cpp | 22 |
6 files changed, 42 insertions, 34 deletions
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp index 2102ba7..da1226c 100644 --- a/noncore/net/mailit/emailclient.cpp +++ b/noncore/net/mailit/emailclient.cpp @@ -456,36 +456,36 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk) Email *mailPtr; item = (EmailListItem *) inboxView->firstChild(); while ((item != NULL)&&(!found)) { mailPtr = item->getMail(); if (mailPtr->id == newMail.id) { item->setMail(newMail); emit mailUpdated(item->getMail()); found = true; } item = (EmailListItem *) item->nextSibling(); } } if ((!found)||(fromDisk)) { item = new EmailListItem(inboxView, newMail, TRUE); } - if (item->getMail()->files.count()>0) - { - item->setPixmap(0, Resource::loadPixmap("mailit/attach")); - } +// if (item->getMail()->files.count()>0) +// { +// item->setPixmap(0, Resource::loadPixmap("mailit/attach")); +// } /*if (!newMail.downloaded) mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/ mailboxView->setCurrentTab(0); } void EmailClient::allMailArrived(int count) { // not previewing means all mailtransfer has been done /*if (!previewingMail) {*/ if ( (allAccounts) && ( (currentAccount = accountList.next()) !=0 ) ) { emit newCaption("Mailit - " + currentAccount->accountName); getNewMail(); return; } else { diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp index 59ccd90..39f693d 100644 --- a/noncore/net/mailit/emailhandler.cpp +++ b/noncore/net/mailit/emailhandler.cpp @@ -162,34 +162,36 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai mail->files.setAutoDelete(TRUE); temp = lineShift + "." + lineShift; if (in.right(temp.length()) != temp) { mail->rawMail += temp; } delimiter = lineShift + lineShift; // "\n\n" or "\r\n\r\n" pos = in.find(delimiter, 0, FALSE); header = in.left(pos); body = in.right(in.length() - pos - delimiter.length()); if ((body.at(body.length()-2) == '.') && (body.at(body.length()-3) == '\n')) body.truncate(body.length()-2); - TextParser p(header, lineShift); - + // TextParser p(header, lineShift); + TextParser * lp = new TextParser(header, lineShift); +#define p (*lp) + if ((pos = p.find("FROM",':', 0, TRUE)) != -1) { pos++; if (p.separatorAt(pos) == ' ') { mail->from = p.getString(&pos, '<', false); mail->from = mail->from.stripWhiteSpace(); if ( (mail->from.length() > 2) && (mail->from[0] == '"') ) { mail->from = mail->from.left(mail->from.length() - 1); mail->from = mail->from.right(mail->from.length() - 1); } pos++; mail->fromMail = p.getString(&pos, '>', false); } else { if (p.separatorAt(pos) == '<') //No name.. nasty pos++; //pos++; mail->fromMail = p.getString(&pos, 'z', TRUE); @@ -257,32 +259,33 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai if (mail->mimeType == 1) { boundary = ""; if ((pos = p.find("BOUNDARY", '=', 0, TRUE)) != -1) { pos++; boundary = p.getString(&pos, 'z', true); if (boundary[0] == '"') { boundary = boundary.left(boundary.length() - 1); //strip " boundary = boundary.right(boundary.length() - 1); //strip " } boundary = "--" + boundary; //create boundary field } if (boundary == "") { //fooled by Mime-Version mail->body = body; mail->bodyPlain = body; + delete lp; return mail; } while (body.length() > 0) { pos = body.find(boundary, 0, FALSE); pos = body.find(delimiter, pos, FALSE); mimeHeader = body.left(pos); mimeBody = body.right(body.length() - pos - delimiter.length()); TextParser bp(mimeHeader, lineShift); contentType = ""; contentAttribute = ""; fileName = ""; if ((pos = bp.find("CONTENT",'-', 0, TRUE)) != -1) { pos++; if ( (bp.wordAt(pos).upper() == "TYPE") && @@ -325,32 +328,33 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai enclosureId++; } else if (contentType == "TEXT") { if (contentAttribute == "PLAIN") { mail->body = mimeBody; mail->bodyPlain = mimeBody; } if (contentAttribute == "HTML") { mail->body = mimeBody; } } } } else { mail->bodyPlain = body; mail->body = body; } + delete lp; return TRUE; } bool EmailHandler::getEnclosure(Enclosure *ePtr) { QFile f(ePtr->path + ePtr->name); char src[4]; char *destPtr; QByteArray buffer; uint bufCount, pos, decodedCount, size, x; if (! f.open(IO_WriteOnly) ) { qWarning("could not save: " + ePtr->path + ePtr->name); return FALSE; } diff --git a/noncore/net/mailit/mailitwindow.cpp b/noncore/net/mailit/mailitwindow.cpp index a111241..f945a0f 100644 --- a/noncore/net/mailit/mailitwindow.cpp +++ b/noncore/net/mailit/mailitwindow.cpp @@ -109,51 +109,51 @@ void MailItWindow::showEmailClient() viewingMail = FALSE; writeMail->hide(); readMail->hide(); views->raiseWidget(emailClient); setCaption( tr(currentCaption) ); } void MailItWindow::viewMail(QListView *view, Email *mail) { viewingMail = TRUE; emailClient->hide(); int result=0; if ((mail->received)&&(!mail->downloaded)) { - QMessageBox mb( tr("Mail not downloaded"), + QMessageBox mb( tr("Mail not downloaded"), tr("The mail you have clicked \n" - "has not been downloaded yet.\n " - "Would you like to do it now ?"), + "has not been downloaded yet.\n " + "Would you like to do it now ?"), QMessageBox::Information, QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape,0 ); - - result=mb.exec(); - - if (result==QMessageBox::Yes) - { - emailClient->download(mail); - } + + result=mb.exec(); + + if (result==QMessageBox::Yes) + { + emailClient->download(mail); + } } readMail->update(view, mail); views->raiseWidget(readMail); - setCaption( tr( "Examine mail" ) ); + setCaption( tr( "Read Mail" ) ); } void MailItWindow::updateMailView(Email *mail) { if (viewingMail) { readMail->mailUpdated(mail); } } void MailItWindow::updateCaption(const QString &newCaption) { currentCaption = newCaption; setCaption(tr(currentCaption)); } void MailItWindow::setDocument(const QString &_address) diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp index 2102ba7..da1226c 100644 --- a/noncore/unsupported/mailit/emailclient.cpp +++ b/noncore/unsupported/mailit/emailclient.cpp @@ -456,36 +456,36 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk) Email *mailPtr; item = (EmailListItem *) inboxView->firstChild(); while ((item != NULL)&&(!found)) { mailPtr = item->getMail(); if (mailPtr->id == newMail.id) { item->setMail(newMail); emit mailUpdated(item->getMail()); found = true; } item = (EmailListItem *) item->nextSibling(); } } if ((!found)||(fromDisk)) { item = new EmailListItem(inboxView, newMail, TRUE); } - if (item->getMail()->files.count()>0) - { - item->setPixmap(0, Resource::loadPixmap("mailit/attach")); - } +// if (item->getMail()->files.count()>0) +// { +// item->setPixmap(0, Resource::loadPixmap("mailit/attach")); +// } /*if (!newMail.downloaded) mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/ mailboxView->setCurrentTab(0); } void EmailClient::allMailArrived(int count) { // not previewing means all mailtransfer has been done /*if (!previewingMail) {*/ if ( (allAccounts) && ( (currentAccount = accountList.next()) !=0 ) ) { emit newCaption("Mailit - " + currentAccount->accountName); getNewMail(); return; } else { diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp index 59ccd90..39f693d 100644 --- a/noncore/unsupported/mailit/emailhandler.cpp +++ b/noncore/unsupported/mailit/emailhandler.cpp @@ -162,34 +162,36 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai mail->files.setAutoDelete(TRUE); temp = lineShift + "." + lineShift; if (in.right(temp.length()) != temp) { mail->rawMail += temp; } delimiter = lineShift + lineShift; // "\n\n" or "\r\n\r\n" pos = in.find(delimiter, 0, FALSE); header = in.left(pos); body = in.right(in.length() - pos - delimiter.length()); if ((body.at(body.length()-2) == '.') && (body.at(body.length()-3) == '\n')) body.truncate(body.length()-2); - TextParser p(header, lineShift); - + // TextParser p(header, lineShift); + TextParser * lp = new TextParser(header, lineShift); +#define p (*lp) + if ((pos = p.find("FROM",':', 0, TRUE)) != -1) { pos++; if (p.separatorAt(pos) == ' ') { mail->from = p.getString(&pos, '<', false); mail->from = mail->from.stripWhiteSpace(); if ( (mail->from.length() > 2) && (mail->from[0] == '"') ) { mail->from = mail->from.left(mail->from.length() - 1); mail->from = mail->from.right(mail->from.length() - 1); } pos++; mail->fromMail = p.getString(&pos, '>', false); } else { if (p.separatorAt(pos) == '<') //No name.. nasty pos++; //pos++; mail->fromMail = p.getString(&pos, 'z', TRUE); @@ -257,32 +259,33 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai if (mail->mimeType == 1) { boundary = ""; if ((pos = p.find("BOUNDARY", '=', 0, TRUE)) != -1) { pos++; boundary = p.getString(&pos, 'z', true); if (boundary[0] == '"') { boundary = boundary.left(boundary.length() - 1); //strip " boundary = boundary.right(boundary.length() - 1); //strip " } boundary = "--" + boundary; //create boundary field } if (boundary == "") { //fooled by Mime-Version mail->body = body; mail->bodyPlain = body; + delete lp; return mail; } while (body.length() > 0) { pos = body.find(boundary, 0, FALSE); pos = body.find(delimiter, pos, FALSE); mimeHeader = body.left(pos); mimeBody = body.right(body.length() - pos - delimiter.length()); TextParser bp(mimeHeader, lineShift); contentType = ""; contentAttribute = ""; fileName = ""; if ((pos = bp.find("CONTENT",'-', 0, TRUE)) != -1) { pos++; if ( (bp.wordAt(pos).upper() == "TYPE") && @@ -325,32 +328,33 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai enclosureId++; } else if (contentType == "TEXT") { if (contentAttribute == "PLAIN") { mail->body = mimeBody; mail->bodyPlain = mimeBody; } if (contentAttribute == "HTML") { mail->body = mimeBody; } } } } else { mail->bodyPlain = body; mail->body = body; } + delete lp; return TRUE; } bool EmailHandler::getEnclosure(Enclosure *ePtr) { QFile f(ePtr->path + ePtr->name); char src[4]; char *destPtr; QByteArray buffer; uint bufCount, pos, decodedCount, size, x; if (! f.open(IO_WriteOnly) ) { qWarning("could not save: " + ePtr->path + ePtr->name); return FALSE; } diff --git a/noncore/unsupported/mailit/mailitwindow.cpp b/noncore/unsupported/mailit/mailitwindow.cpp index a111241..f945a0f 100644 --- a/noncore/unsupported/mailit/mailitwindow.cpp +++ b/noncore/unsupported/mailit/mailitwindow.cpp @@ -109,51 +109,51 @@ void MailItWindow::showEmailClient() viewingMail = FALSE; writeMail->hide(); readMail->hide(); views->raiseWidget(emailClient); setCaption( tr(currentCaption) ); } void MailItWindow::viewMail(QListView *view, Email *mail) { viewingMail = TRUE; emailClient->hide(); int result=0; if ((mail->received)&&(!mail->downloaded)) { - QMessageBox mb( tr("Mail not downloaded"), + QMessageBox mb( tr("Mail not downloaded"), tr("The mail you have clicked \n" - "has not been downloaded yet.\n " - "Would you like to do it now ?"), + "has not been downloaded yet.\n " + "Would you like to do it now ?"), QMessageBox::Information, QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape,0 ); - - result=mb.exec(); - - if (result==QMessageBox::Yes) - { - emailClient->download(mail); - } + + result=mb.exec(); + + if (result==QMessageBox::Yes) + { + emailClient->download(mail); + } } readMail->update(view, mail); views->raiseWidget(readMail); - setCaption( tr( "Examine mail" ) ); + setCaption( tr( "Read Mail" ) ); } void MailItWindow::updateMailView(Email *mail) { if (viewingMail) { readMail->mailUpdated(mail); } } void MailItWindow::updateCaption(const QString &newCaption) { currentCaption = newCaption; setCaption(tr(currentCaption)); } void MailItWindow::setDocument(const QString &_address) |