summaryrefslogtreecommitdiff
path: root/noncore/net/mailit/emailclient.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mailit/emailclient.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/emailclient.cpp73
1 files changed, 39 insertions, 34 deletions
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp
index da1226c..749a4e9 100644
--- a/noncore/net/mailit/emailclient.cpp
+++ b/noncore/net/mailit/emailclient.cpp
@@ -38,52 +38,52 @@ MailAccount* AccountList::dupl(MailAccount *in)
{
ac = new MailAccount(*in);
return ac;
}
EmailClient::EmailClient( QWidget* parent, const char* name, WFlags fl )
: QMainWindow( parent, name, fl )
{
emailHandler = new EmailHandler();
addressList = new AddressList();
sending = FALSE;
receiving = FALSE;
previewingMail = FALSE;
mailIdCount = 1;
accountIdCount = 1;
allAccounts = FALSE;
init();
connect(emailHandler, SIGNAL(mailSent()), this, SLOT(mailSent()) );
- connect(emailHandler, SIGNAL(smtpError(int)), this,
- SLOT(smtpError(int)) );
- connect(emailHandler, SIGNAL(popError(int)), this,
- SLOT(popError(int)) );
+ connect(emailHandler, SIGNAL(smtpError(int,const QString &)), this,
+ SLOT(smtpError(int,const QString &)) );
+ connect(emailHandler, SIGNAL(popError(int,const QString &)), this,
+ SLOT(popError(int,const QString &)) );
connect(inboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(inboxItemSelected()) );
connect(outboxView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(outboxItemSelected()) );
connect(inboxView, SIGNAL(pressed(QListViewItem *)), this, SLOT(inboxItemPressed()) );
connect(inboxView, SIGNAL(clicked(QListViewItem *)), this, SLOT(inboxItemReleased()) );
connect(emailHandler, SIGNAL(mailArrived(const Email &, bool)), this,
SLOT(mailArrived(const Email &, bool)) );
connect(emailHandler, SIGNAL(mailTransfered(int)), this,
SLOT(allMailArrived(int)) );
mailconf = new Config("mailit");
//In case Synchronize is not defined in settings.txt
readSettings();
updateAccounts();
lineShift = "\n";
readMail();
lineShift = "\r\n";
mailboxView->setCurrentTab(0); //ensure that inbox has focus
@@ -459,130 +459,135 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
{
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 (!newMail.downloaded)
mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/
mailboxView->setCurrentTab(0);
}
-void EmailClient::allMailArrived(int count)
+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 {
allAccounts = FALSE;
receiving = FALSE;
getMailButton->setEnabled(TRUE);
cancelButton->setEnabled(FALSE);
selectAccountMenu->setEnabled(TRUE);
status1Label->setText("Idle");
progressBar->reset();
return;
}
//}
// all headers downloaded from server, start downloading remaining mails
previewingMail = FALSE;
status1Label->setText(currentAccount->accountName);
progressBar->reset();
mailboxView->setCurrentTab(0);
}
void EmailClient::moveMailFront(Email *mailPtr)
{
if ( (receiving) && (mailPtr->fromAccountId == currentAccount->id) ) {
mailDownloadList.moveFront(mailPtr->serverId, mailPtr->size);
}
}
-void EmailClient::smtpError(int code)
+void EmailClient::smtpError(int code, const QString & Msg)
{
QString temp;
- if (code == ErrUnknownResponse)
- temp = "Unknown response from server";
-
- if (code == QSocket::ErrHostNotFound)
- temp = "host not found";
- if (code == QSocket::ErrConnectionRefused)
- temp = "connection refused";
- if (code == QSocket::ErrSocketRead)
- temp = "socket packet error";
+ if (code == ErrUnknownResponse) {
+ temp = tr("<qt>Unknown response from server</qt>");
+ if( ! Msg.isEmpty() )
+ temp += Msg;
+ } else if (code == QSocket::ErrHostNotFound) {
+ temp = tr("<qt>host not found</qt>");
+ } else if (code == QSocket::ErrConnectionRefused) {
+ temp = tr("<qt>connection refused</qt>");
+ } else if (code == QSocket::ErrSocketRead) {
+ temp = tr("<qt>socket packet error</qt>");
+ }
if (code != ErrCancel) {
QMessageBox::warning(qApp->activeWindow(), "Sending error", temp, "OK\n");
} else {
status2Label->setText("Aborted by user");
}
sending = FALSE;
sendMailButton->setEnabled(TRUE);
cancelButton->setEnabled(FALSE);
quedMessages.clear();
}
-void EmailClient::popError(int code)
+void EmailClient::popError(int code, const QString & Msg)
{
QString temp;
- if (code == ErrUnknownResponse)
- temp = "Unknown response from server";
- if (code == ErrLoginFailed)
- temp = "Login failed\nCheck user name and password";
-
- if (code == QSocket::ErrHostNotFound)
- temp = "host not found";
- if (code == QSocket::ErrConnectionRefused)
- temp = "connection refused";
- if (code == QSocket::ErrSocketRead)
- temp = "socket packet error";
-
+ if (code == ErrUnknownResponse) {
+ temp = tr("<qt>Unknown response from server</qt>");
+ if( ! Msg.isEmpty() )
+ temp += Msg;
+ } else if (code == ErrLoginFailed) {
+ temp = tr("<qt>Login failed\nCheck user name and password</qt>");
+ } else if (code == QSocket::ErrHostNotFound) {
+ temp = tr("<qt>host not found</qt>");
+ } else if (code == QSocket::ErrConnectionRefused) {
+ temp = tr("<qt>connection refused</qt>");
+ } else if (code == QSocket::ErrSocketRead) {
+ temp = tr("<qt>socket packet error</qt>");
+ }
+
if (code != ErrCancel) {
- QMessageBox::warning(qApp->activeWindow(), "Receiving error", temp, "OK\n");
+ QMessageBox::warning(qApp->activeWindow(), tr("Receiving error"), temp, tr("OK\n"));
+
} else {
status2Label->setText("Aborted by user");
}
receiving = FALSE;
getMailButton->setEnabled(TRUE);
cancelButton->setEnabled(FALSE);
selectAccountMenu->setEnabled(TRUE);
}
void EmailClient::inboxItemSelected()
{
//killTimer(timerID);
item = (EmailListItem*) inboxView->selectedItem();
if (item != NULL) {
emit viewEmail(inboxView, item->getMail());
}
}
void EmailClient::outboxItemSelected()
{
//killTimer(timerID);
@@ -877,146 +882,146 @@ void EmailClient::deleteMail(EmailListItem *mailItem, bool &inbox)
mailconf->setGroup(mPtr->id);
mailconf->clearGroup();
//delete any temporary attatchemnts storing
for ( ePtr=mPtr->files.first(); ePtr != 0; ePtr=mPtr->files.next() ) {
if (ePtr->saved) {
QFile::remove( (ePtr->path + ePtr->name) );
}
}
inboxView->takeItem(mailItem);
}
else
{
outboxView->takeItem(mailItem);
}
}
void EmailClient::setMailSize(int size)
{
progressBar->reset();
progressBar->setTotalSteps(size);
}
-void EmailClient::setTotalSize(int size)
+void EmailClient::setTotalSize(int /*size*/)
{
}
void EmailClient::setDownloadedSize(int size)
{
int total = progressBar->totalSteps();
if (size < total) {
progressBar->setProgress(size);
} else {
progressBar->setProgress(total);
}
}
void EmailClient::deleteItem()
{
bool inbox=mailboxView->currentTab()==0;
QListView* box;
EmailListItem* eli;
- int pos;
+ // int pos;
inbox ? box=inboxView : box=outboxView;
eli=(EmailListItem*)box->selectedItem();
if (eli)
{
box->setSelected(eli->itemBelow(),true); //select the previous item
deleteMail(eli,(bool&)inbox); //remove mail entry
}
}
void EmailClient::inboxItemPressed()
{
// timerID=startTimer(500);
}
void EmailClient::inboxItemReleased()
{
// killTimer(timerID);
}
/*void EmailClient::timerEvent(QTimerEvent *e)
{
- /*killTimer(timerID);
+ //killTimer(timerID);
QPopupMenu *action = new QPopupMenu(this);
int reply=0;
action->insertItem(tr( "Reply To" ),this,SLOT(reply()));
action->insertItem( tr( "Reply All" ),this,SLOT(replyAll()));
action->insertItem( tr( "Forward" ), this,SLOT(forward()));
action->insertItem( tr( "Remove Mail" ), this,SLOT(remove()));
action->exec(QCursor::pos());
if (action) delete action;
}*/
Email* EmailClient::getCurrentMail()
{
EmailListItem *eli=(EmailListItem* ) (inboxView->selectedItem());
if (eli!=NULL)
return eli->getMail();
else
return NULL;
}
void EmailClient::download(Email* mail)
{
MailAccount* acc=0;
tempMailDownloadList.clear();
tempMailDownloadList.sizeInsert(mail->serverId, mail->size);
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::receive(const QCString& msg, const QByteArray& data)
+void EmailClient::receive(const QCString& /*msg*/, const QByteArray& /*data*/)
{
/*if (msg=="getMail()")
{
- /*QDialog qd(qApp->activeWindow(),"Getting mail",true);
+ //QDialog qd(qApp->activeWindow(),"Getting mail",true);
QVBoxLayout *vbProg = new QVBoxLayout( &qd );
initStatusBar(&qd);
if (statusBar==0)
{
qDebug("No Bar ...");
//statusBar=new ProgressBar(&qd);
}
statusBar->show();
vbProg->addWidget(statusBar);
qd.showMaximized();
qd.show();
emit getAllNewMail();
//qd.exec();
}
else if (msg=="compose()")
{
QDialog qd(qApp->activeWindow(),"Getting mail",true);
WriteMail wm(&qd,"write new mail");
QVBoxLayout vbProg( &qd );
wm.showMaximized();