author | groucho <groucho> | 2003-04-28 08:31:24 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-04-28 08:31:24 (UTC) |
commit | 63d3f7ca039d93612abaa4a65fc00b337c42ec9d (patch) (side-by-side diff) | |
tree | ea4a08e00d5a229f20c3e4150f707a2ac8f9e882 | |
parent | c3b703405fe77fbe16596ebd7d814a6e463f9243 (diff) | |
download | opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.zip opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.tar.gz opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.tar.bz2 |
- bug fixes in the parser (from header)
- bug fixes in address selector (uses cc: now)
- remove now selects next item afterwards (speeds up mass deletion)
- smaller fixes
-rw-r--r-- | noncore/net/mailit/emailclient.cpp | 75 | ||||
-rw-r--r-- | noncore/net/mailit/emailclient.h | 3 | ||||
-rw-r--r-- | noncore/net/mailit/emailhandler.cpp | 16 | ||||
-rw-r--r-- | noncore/net/mailit/emailhandler.h | 1 | ||||
-rw-r--r-- | noncore/net/mailit/mailitwindow.cpp | 26 | ||||
-rw-r--r-- | noncore/net/mailit/popclient.cpp | 80 | ||||
-rw-r--r-- | noncore/net/mailit/writemail.cpp | 28 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailclient.cpp | 75 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailclient.h | 3 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.cpp | 16 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.h | 1 | ||||
-rw-r--r-- | noncore/unsupported/mailit/mailitwindow.cpp | 26 | ||||
-rw-r--r-- | noncore/unsupported/mailit/popclient.cpp | 80 | ||||
-rw-r--r-- | noncore/unsupported/mailit/writemail.cpp | 28 |
14 files changed, 208 insertions, 250 deletions
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp index 23059cf..dff1888 100644 --- a/noncore/net/mailit/emailclient.cpp +++ b/noncore/net/mailit/emailclient.cpp @@ -363,5 +363,5 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk) newMail.downloaded = mail.downloaded; - newMail.fromAccountId = currentAccount->id; + newMail.fromAccountId = emailHandler->getAccount()->id; mailconf->writeEntry("fromaccountid", newMail.fromAccountId); } @@ -481,9 +481,9 @@ void EmailClient::allMailArrived(int count) progressBar->reset(); - //emailHandler->getMailByList(&mailDownloadList); - + mailboxView->setCurrentTab(0); } + void EmailClient::moveMailFront(Email *mailPtr) { @@ -665,5 +665,5 @@ QString EmailClient::getPath(bool enclosurePath) void EmailClient::readSettings() { - int y,acc_count, accountPos=0; + int y,acc_count; mailconf->setGroup("mailitglobal"); @@ -892,11 +892,19 @@ void EmailClient::deleteItem() { bool inbox=mailboxView->currentTab()==0; + QListView* box; EmailListItem* eli; + int pos; + + inbox ? box=inboxView : box=outboxView; - inbox ? eli=(EmailListItem*)inboxView->selectedItem():eli=(EmailListItem*)outboxView->selectedItem(); + eli=(EmailListItem*)box->selectedItem(); if (eli) - deleteMail(eli,(bool&)inbox); + { + box->setSelected(eli->itemBelow(),true); //select the previous item + + deleteMail(eli,(bool&)inbox); //remove mail entry + } } @@ -940,42 +948,21 @@ Email* EmailClient::getCurrentMail() } -/* -void EmailClient::reply() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit reply(*mail); - } -} - -void EmailClient::replyAll() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit replyAll(*mail); - } -} - -void EmailClient::forward() +void EmailClient::download(Email* mail) { - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit reply(*mail); - } + MailAccount* acc=0; + + tempMailDownloadList.clear(); + tempMailDownloadList.sizeInsert(mail->serverId, mail->size); + if (accountList.count()>0) + qDebug("Accounts present"); + + acc=accountList.at(mail->fromAccountId-1); + if (acc) + { + emailHandler->setAccount(*acc); + emailHandler->getMailByList(&tempMailDownloadList); + } + else + QMessageBox::warning(qApp->activeWindow(), + tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n"); } - -void EmailClient::remove() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit remove(*mail); - } -}*/ diff --git a/noncore/net/mailit/emailclient.h b/noncore/net/mailit/emailclient.h index 0890dcf..549683b 100644 --- a/noncore/net/mailit/emailclient.h +++ b/noncore/net/mailit/emailclient.h @@ -71,4 +71,5 @@ public: ~EmailClient(); AddressList* getAdrListRef(); + void download(Email*); protected: @@ -140,4 +141,6 @@ private: QList<Email> quedMessages; MailList mailDownloadList; + MailList tempMailDownloadList; + bool sending, receiving, previewingMail, allAccounts; QString lineShift; diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp index b180051..fbbada7 100644 --- a/noncore/net/mailit/emailhandler.cpp +++ b/noncore/net/mailit/emailhandler.cpp @@ -128,9 +128,11 @@ void EmailHandler::getMailByList(MailList *mailList) headers = FALSE; popClient->headersOnly(FALSE, 0); - popClient->newConnection(mailAccount.popServer, 110); + + popClient->setAccount(mailAccount.popUserName,mailAccount.popPasswd); popClient->setSelectedMails(mailList); -} + popClient->newConnection(mailAccount.popServer, 110); + } -void EmailHandler::messageArrived(const QString &message, int id, uint size, bool incomplete) +void EmailHandler::messageArrived(const QString &message, int id, uint size, bool complete) { Email mail; @@ -139,5 +141,5 @@ void EmailHandler::messageArrived(const QString &message, int id, uint size, boo mail.serverId = id; mail.size = size; - mail.downloaded = incomplete; + mail.downloaded = complete; emit mailArrived(mail, FALSE); @@ -183,11 +185,9 @@ bool EmailHandler::parse(QString in, QString lineShift, Email *mail) } pos++; - mail->fromMail = p.getString(&pos, '>', false); } else { - if ((p.separatorAt(pos) == '<') - || (p.separatorAt(pos) == ' ')) //No name.. nasty - pos++; + if (p.separatorAt(pos) == '<') //No name.. nasty pos++; + //pos++; mail->fromMail = p.getString(&pos, 'z', TRUE); if (mail->fromMail.at(mail->fromMail.length()-1) == '>') diff --git a/noncore/net/mailit/emailhandler.h b/noncore/net/mailit/emailhandler.h index e47fd9a..b645868 100644 --- a/noncore/net/mailit/emailhandler.h +++ b/noncore/net/mailit/emailhandler.h @@ -112,4 +112,5 @@ public: EmailHandler(); void setAccount(MailAccount account); + MailAccount* getAccount(){return &mailAccount;} void sendMail(QList<Email> *mailList); void getMail(); diff --git a/noncore/net/mailit/mailitwindow.cpp b/noncore/net/mailit/mailitwindow.cpp index 7181adf..ffee67e 100644 --- a/noncore/net/mailit/mailitwindow.cpp +++ b/noncore/net/mailit/mailitwindow.cpp @@ -19,4 +19,5 @@ **********************************************************************/ #include <qwhatsthis.h> +#include <qmessagebox.h> #include "mailitwindow.h" @@ -61,6 +62,5 @@ MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags fl) connect(emailClient, SIGNAL(newCaption(const QString &)), this, SLOT(updateCaption(const QString &)) ); - viewingMail = FALSE; - + viewingMail = FALSE; } @@ -85,4 +85,5 @@ void MailItWindow::compose() views->raiseWidget(writeMail); writeMail->setAddressList(emailClient->getAdrListRef()); + writeMail->newMail(); setCaption( tr( "Write mail" ) ); } @@ -114,4 +115,25 @@ 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"), + tr("The mail you have clicked \n" + "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); + } + } + readMail->update(view, mail); views->raiseWidget(readMail); diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp index 67306be..6105d09 100644 --- a/noncore/net/mailit/popclient.cpp +++ b/noncore/net/mailit/popclient.cpp @@ -61,5 +61,5 @@ void PopClient::newConnection(QString target, int port) socket->connectToHost(target, port); receiving = TRUE; - selected = FALSE; + //selected = FALSE; emit updateStatus("DNS lookup"); @@ -185,11 +185,12 @@ void PopClient::incomingData() } - if (selected) { + if (selected) { int *ptr = mailList->first(); if (ptr != 0) { newMessages++; //to ensure no early jumpout - messageCount = *(mailList->first()); - } else newMessages = 0; - } + messageCount = *ptr; + } else newMessages = 0; + } + } else errorHandling(ErrUnknownResponse); } @@ -205,10 +206,10 @@ void PopClient::incomingData() } else { //completing a previously closed transfer - if ( (messageCount - lastSync) <= 0) { + /* if ( (messageCount - lastSync) <= 0) { temp.setNum(messageCount); emit updateStatus(tr("Previous message ") + temp); - } else { + } else {*/ emit updateStatus(tr("Completing message ") + temp); - } + //} } break; @@ -238,5 +239,5 @@ void PopClient::incomingData() case Retr: { if (status != Quit) { - if (mailSize <= headerLimit) + if ((selected)||(mailSize <= headerLimit)) { *stream << "RETR " << messageCount << "\r\n"; @@ -273,7 +274,6 @@ void PopClient::incomingData() break; } else { //message reach entire size - //complete mail downloaded - //if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){ - if ( mailSize <= headerLimit) + + if ( (selected)||(mailSize <= headerLimit)) //mail size limit is not used if late download is active { emit newMessage(message, messageCount-1, mailSize, TRUE); @@ -281,27 +281,15 @@ void PopClient::incomingData() emit newMessage(message, messageCount-1, mailSize, FALSE); } - if (messageCount > newMessages) //that was the last message + + if ((messageCount > newMessages)||(selected)) //last message ? + { status = Quit; - else { //ask for new message if (selected) { //grab next from queue - int *ptr = mailList->next(); - if (ptr != 0) { - messageCount = *ptr; - *stream << "LIST " << messageCount << "\r\n"; - status = Size; - //completing a previously closed transfer - if ( (messageCount - lastSync) <= 0) { - temp.setNum(messageCount); - emit updateStatus(tr("Previous message ") + temp); - } else { - temp.setNum(messageCount - lastSync); - emit updateStatus(tr("Completing message ") + temp); - } - break; - } else { newMessages--; status = Quit; } - } else { + } + else + { *stream << "LIST " << messageCount << "\r\n"; status = Size; @@ -311,10 +299,9 @@ void PopClient::incomingData() break; - } + } } } if (status != Quit) break; - } } case Quit: { @@ -337,31 +324,2 @@ void PopClient::incomingData() } - -// if( bAPOPAuthentication ) -// { -// if( m_strTimeStamp.IsEmpty() ) -// { -// SetLastError("Apop error!"); -// return false; -// } -// strMD5Source = m_strTimeStamp+pszPassword; -// strMD5Dst = MD5_GetMD5( (BYTE*)(const char*)strMD5Source , strMD5Source.GetLength() ); -// sprintf(msg , "apop %s %s\r\n" , pszUser , strMD5Dst); -// ret = send(m_sPop3Socket , msg , strlen(msg) , NULL); -// if(ret == SOCKET_ERROR) -// { -// SetLastError("Socket error!"); -// m_bSocketOK = false; -// m_bConnected = false; -// return false; -// } -// if( !GetSocketResult(&strResult , COMMAND_END_FLAG) ) -// return false; -// if( 0 == strResult.Find('-' , 0) ) -// { -// SetLastError("Username or Password error!"); -// return false; -// } -// m_bConnected = true; - -// } diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp index 0336c83..dcf0c6e 100644 --- a/noncore/net/mailit/writemail.cpp +++ b/noncore/net/mailit/writemail.cpp @@ -124,5 +124,5 @@ void WriteMail::init() emailInput = new QMultiLineEdit( widget, "emailInput" ); grid->addMultiCellWidget( emailInput, 2, 2, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Enter your mail text here")); + QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here")); addressView = new QListView( widget, "addressView"); @@ -133,5 +133,5 @@ void WriteMail::init() addressView->hide(); grid->addMultiCellWidget( addressView, 3, 3, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Chose the recipients from this list")); + QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list")); okButton = new QToolButton(bar, "ok"); @@ -149,5 +149,4 @@ void WriteMail::reject() } -// need to insert date void WriteMail::accept() { @@ -253,4 +252,5 @@ void WriteMail::reply(Email replyMail, bool replyAll) { int pos; + QString ccRecipients; mail = replyMail; @@ -258,6 +258,16 @@ void WriteMail::reply(Email replyMail, bool replyAll) toInput->setText(mail.fromMail); - //replyAll ? ccInput->setText(mail.c) + if (replyAll) + { + for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it) + { + ccRecipients.append(*it); + ccRecipients.append(";"); + } + ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end + ccInput->setText(ccRecipients); + } + addRecipients(replyAll); @@ -322,8 +332,7 @@ bool WriteMail::getRecipients(bool ccField) void WriteMail::addRecipients() { - - addRecipients(false); + toInput->isVisible() ? addRecipients(false) : addRecipients(true); } - + void WriteMail::addRecipients(bool ccField) { @@ -336,7 +345,7 @@ void WriteMail::addRecipients(bool ccField) if ( item->isSelected() ) { if (recipients == "") { - recipients = item->text(0); + recipients = item->text(1); } else { - recipients += "; " + item->text(0); + recipients += "; " + item->text(1); } } @@ -377,5 +386,4 @@ void WriteMail::newMail() subjectInput->clear(); emailInput->clear(); - //to clear selected setAddressList(addressList); } diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp index 23059cf..dff1888 100644 --- a/noncore/unsupported/mailit/emailclient.cpp +++ b/noncore/unsupported/mailit/emailclient.cpp @@ -363,5 +363,5 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk) newMail.downloaded = mail.downloaded; - newMail.fromAccountId = currentAccount->id; + newMail.fromAccountId = emailHandler->getAccount()->id; mailconf->writeEntry("fromaccountid", newMail.fromAccountId); } @@ -481,9 +481,9 @@ void EmailClient::allMailArrived(int count) progressBar->reset(); - //emailHandler->getMailByList(&mailDownloadList); - + mailboxView->setCurrentTab(0); } + void EmailClient::moveMailFront(Email *mailPtr) { @@ -665,5 +665,5 @@ QString EmailClient::getPath(bool enclosurePath) void EmailClient::readSettings() { - int y,acc_count, accountPos=0; + int y,acc_count; mailconf->setGroup("mailitglobal"); @@ -892,11 +892,19 @@ void EmailClient::deleteItem() { bool inbox=mailboxView->currentTab()==0; + QListView* box; EmailListItem* eli; + int pos; + + inbox ? box=inboxView : box=outboxView; - inbox ? eli=(EmailListItem*)inboxView->selectedItem():eli=(EmailListItem*)outboxView->selectedItem(); + eli=(EmailListItem*)box->selectedItem(); if (eli) - deleteMail(eli,(bool&)inbox); + { + box->setSelected(eli->itemBelow(),true); //select the previous item + + deleteMail(eli,(bool&)inbox); //remove mail entry + } } @@ -940,42 +948,21 @@ Email* EmailClient::getCurrentMail() } -/* -void EmailClient::reply() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit reply(*mail); - } -} - -void EmailClient::replyAll() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit replyAll(*mail); - } -} - -void EmailClient::forward() +void EmailClient::download(Email* mail) { - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit reply(*mail); - } + MailAccount* acc=0; + + tempMailDownloadList.clear(); + tempMailDownloadList.sizeInsert(mail->serverId, mail->size); + if (accountList.count()>0) + qDebug("Accounts present"); + + acc=accountList.at(mail->fromAccountId-1); + if (acc) + { + emailHandler->setAccount(*acc); + emailHandler->getMailByList(&tempMailDownloadList); + } + else + QMessageBox::warning(qApp->activeWindow(), + tr("No account associated"), tr("There is no active account \nassociated to this mail\n it can not be downloaded"), "Abort\n"); } - -void EmailClient::remove() -{ - Email* mail=getCurrentMail(); - - if (mail!=NULL) - { - emit remove(*mail); - } -}*/ diff --git a/noncore/unsupported/mailit/emailclient.h b/noncore/unsupported/mailit/emailclient.h index 0890dcf..549683b 100644 --- a/noncore/unsupported/mailit/emailclient.h +++ b/noncore/unsupported/mailit/emailclient.h @@ -71,4 +71,5 @@ public: ~EmailClient(); AddressList* getAdrListRef(); + void download(Email*); protected: @@ -140,4 +141,6 @@ private: QList<Email> quedMessages; MailList mailDownloadList; + MailList tempMailDownloadList; + bool sending, receiving, previewingMail, allAccounts; QString lineShift; diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp index b180051..fbbada7 100644 --- a/noncore/unsupported/mailit/emailhandler.cpp +++ b/noncore/unsupported/mailit/emailhandler.cpp @@ -128,9 +128,11 @@ void EmailHandler::getMailByList(MailList *mailList) headers = FALSE; popClient->headersOnly(FALSE, 0); - popClient->newConnection(mailAccount.popServer, 110); + + popClient->setAccount(mailAccount.popUserName,mailAccount.popPasswd); popClient->setSelectedMails(mailList); -} + popClient->newConnection(mailAccount.popServer, 110); + } -void EmailHandler::messageArrived(const QString &message, int id, uint size, bool incomplete) +void EmailHandler::messageArrived(const QString &message, int id, uint size, bool complete) { Email mail; @@ -139,5 +141,5 @@ void EmailHandler::messageArrived(const QString &message, int id, uint size, boo mail.serverId = id; mail.size = size; - mail.downloaded = incomplete; + mail.downloaded = complete; emit mailArrived(mail, FALSE); @@ -183,11 +185,9 @@ bool EmailHandler::parse(QString in, QString lineShift, Email *mail) } pos++; - mail->fromMail = p.getString(&pos, '>', false); } else { - if ((p.separatorAt(pos) == '<') - || (p.separatorAt(pos) == ' ')) //No name.. nasty - pos++; + if (p.separatorAt(pos) == '<') //No name.. nasty pos++; + //pos++; mail->fromMail = p.getString(&pos, 'z', TRUE); if (mail->fromMail.at(mail->fromMail.length()-1) == '>') diff --git a/noncore/unsupported/mailit/emailhandler.h b/noncore/unsupported/mailit/emailhandler.h index e47fd9a..b645868 100644 --- a/noncore/unsupported/mailit/emailhandler.h +++ b/noncore/unsupported/mailit/emailhandler.h @@ -112,4 +112,5 @@ public: EmailHandler(); void setAccount(MailAccount account); + MailAccount* getAccount(){return &mailAccount;} void sendMail(QList<Email> *mailList); void getMail(); diff --git a/noncore/unsupported/mailit/mailitwindow.cpp b/noncore/unsupported/mailit/mailitwindow.cpp index 7181adf..ffee67e 100644 --- a/noncore/unsupported/mailit/mailitwindow.cpp +++ b/noncore/unsupported/mailit/mailitwindow.cpp @@ -19,4 +19,5 @@ **********************************************************************/ #include <qwhatsthis.h> +#include <qmessagebox.h> #include "mailitwindow.h" @@ -61,6 +62,5 @@ MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags fl) connect(emailClient, SIGNAL(newCaption(const QString &)), this, SLOT(updateCaption(const QString &)) ); - viewingMail = FALSE; - + viewingMail = FALSE; } @@ -85,4 +85,5 @@ void MailItWindow::compose() views->raiseWidget(writeMail); writeMail->setAddressList(emailClient->getAdrListRef()); + writeMail->newMail(); setCaption( tr( "Write mail" ) ); } @@ -114,4 +115,25 @@ 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"), + tr("The mail you have clicked \n" + "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); + } + } + readMail->update(view, mail); views->raiseWidget(readMail); diff --git a/noncore/unsupported/mailit/popclient.cpp b/noncore/unsupported/mailit/popclient.cpp index 67306be..6105d09 100644 --- a/noncore/unsupported/mailit/popclient.cpp +++ b/noncore/unsupported/mailit/popclient.cpp @@ -61,5 +61,5 @@ void PopClient::newConnection(QString target, int port) socket->connectToHost(target, port); receiving = TRUE; - selected = FALSE; + //selected = FALSE; emit updateStatus("DNS lookup"); @@ -185,11 +185,12 @@ void PopClient::incomingData() } - if (selected) { + if (selected) { int *ptr = mailList->first(); if (ptr != 0) { newMessages++; //to ensure no early jumpout - messageCount = *(mailList->first()); - } else newMessages = 0; - } + messageCount = *ptr; + } else newMessages = 0; + } + } else errorHandling(ErrUnknownResponse); } @@ -205,10 +206,10 @@ void PopClient::incomingData() } else { //completing a previously closed transfer - if ( (messageCount - lastSync) <= 0) { + /* if ( (messageCount - lastSync) <= 0) { temp.setNum(messageCount); emit updateStatus(tr("Previous message ") + temp); - } else { + } else {*/ emit updateStatus(tr("Completing message ") + temp); - } + //} } break; @@ -238,5 +239,5 @@ void PopClient::incomingData() case Retr: { if (status != Quit) { - if (mailSize <= headerLimit) + if ((selected)||(mailSize <= headerLimit)) { *stream << "RETR " << messageCount << "\r\n"; @@ -273,7 +274,6 @@ void PopClient::incomingData() break; } else { //message reach entire size - //complete mail downloaded - //if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){ - if ( mailSize <= headerLimit) + + if ( (selected)||(mailSize <= headerLimit)) //mail size limit is not used if late download is active { emit newMessage(message, messageCount-1, mailSize, TRUE); @@ -281,27 +281,15 @@ void PopClient::incomingData() emit newMessage(message, messageCount-1, mailSize, FALSE); } - if (messageCount > newMessages) //that was the last message + + if ((messageCount > newMessages)||(selected)) //last message ? + { status = Quit; - else { //ask for new message if (selected) { //grab next from queue - int *ptr = mailList->next(); - if (ptr != 0) { - messageCount = *ptr; - *stream << "LIST " << messageCount << "\r\n"; - status = Size; - //completing a previously closed transfer - if ( (messageCount - lastSync) <= 0) { - temp.setNum(messageCount); - emit updateStatus(tr("Previous message ") + temp); - } else { - temp.setNum(messageCount - lastSync); - emit updateStatus(tr("Completing message ") + temp); - } - break; - } else { newMessages--; status = Quit; } - } else { + } + else + { *stream << "LIST " << messageCount << "\r\n"; status = Size; @@ -311,10 +299,9 @@ void PopClient::incomingData() break; - } + } } } if (status != Quit) break; - } } case Quit: { @@ -337,31 +324,2 @@ void PopClient::incomingData() } - -// if( bAPOPAuthentication ) -// { -// if( m_strTimeStamp.IsEmpty() ) -// { -// SetLastError("Apop error!"); -// return false; -// } -// strMD5Source = m_strTimeStamp+pszPassword; -// strMD5Dst = MD5_GetMD5( (BYTE*)(const char*)strMD5Source , strMD5Source.GetLength() ); -// sprintf(msg , "apop %s %s\r\n" , pszUser , strMD5Dst); -// ret = send(m_sPop3Socket , msg , strlen(msg) , NULL); -// if(ret == SOCKET_ERROR) -// { -// SetLastError("Socket error!"); -// m_bSocketOK = false; -// m_bConnected = false; -// return false; -// } -// if( !GetSocketResult(&strResult , COMMAND_END_FLAG) ) -// return false; -// if( 0 == strResult.Find('-' , 0) ) -// { -// SetLastError("Username or Password error!"); -// return false; -// } -// m_bConnected = true; - -// } diff --git a/noncore/unsupported/mailit/writemail.cpp b/noncore/unsupported/mailit/writemail.cpp index 0336c83..dcf0c6e 100644 --- a/noncore/unsupported/mailit/writemail.cpp +++ b/noncore/unsupported/mailit/writemail.cpp @@ -124,5 +124,5 @@ void WriteMail::init() emailInput = new QMultiLineEdit( widget, "emailInput" ); grid->addMultiCellWidget( emailInput, 2, 2, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Enter your mail text here")); + QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here")); addressView = new QListView( widget, "addressView"); @@ -133,5 +133,5 @@ void WriteMail::init() addressView->hide(); grid->addMultiCellWidget( addressView, 3, 3, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Chose the recipients from this list")); + QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list")); okButton = new QToolButton(bar, "ok"); @@ -149,5 +149,4 @@ void WriteMail::reject() } -// need to insert date void WriteMail::accept() { @@ -253,4 +252,5 @@ void WriteMail::reply(Email replyMail, bool replyAll) { int pos; + QString ccRecipients; mail = replyMail; @@ -258,6 +258,16 @@ void WriteMail::reply(Email replyMail, bool replyAll) toInput->setText(mail.fromMail); - //replyAll ? ccInput->setText(mail.c) + if (replyAll) + { + for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it) + { + ccRecipients.append(*it); + ccRecipients.append(";"); + } + ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end + ccInput->setText(ccRecipients); + } + addRecipients(replyAll); @@ -322,8 +332,7 @@ bool WriteMail::getRecipients(bool ccField) void WriteMail::addRecipients() { - - addRecipients(false); + toInput->isVisible() ? addRecipients(false) : addRecipients(true); } - + void WriteMail::addRecipients(bool ccField) { @@ -336,7 +345,7 @@ void WriteMail::addRecipients(bool ccField) if ( item->isSelected() ) { if (recipients == "") { - recipients = item->text(0); + recipients = item->text(1); } else { - recipients += "; " + item->text(0); + recipients += "; " + item->text(1); } } @@ -377,5 +386,4 @@ void WriteMail::newMail() subjectInput->clear(); emailInput->clear(); - //to clear selected setAddressList(addressList); } |