summaryrefslogtreecommitdiff
path: root/noncore/net/mailit
Side-by-side diff
Diffstat (limited to 'noncore/net/mailit') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mailit/addatt.cpp4
-rw-r--r--noncore/net/mailit/emailclient.cpp71
-rw-r--r--noncore/net/mailit/emailclient.h4
-rw-r--r--noncore/net/mailit/emailhandler.cpp8
-rw-r--r--noncore/net/mailit/emailhandler.h4
-rw-r--r--noncore/net/mailit/mailit.pro1
-rw-r--r--noncore/net/mailit/mailitwindow.cpp4
-rw-r--r--noncore/net/mailit/maillist.cpp6
-rw-r--r--noncore/net/mailit/popclient.cpp16
-rw-r--r--noncore/net/mailit/popclient.h3
-rw-r--r--noncore/net/mailit/smtpclient.cpp33
-rw-r--r--noncore/net/mailit/smtpclient.h3
-rw-r--r--noncore/net/mailit/viewatt.cpp14
-rw-r--r--noncore/net/mailit/writemail.cpp10
14 files changed, 100 insertions, 81 deletions
diff --git a/noncore/net/mailit/addatt.cpp b/noncore/net/mailit/addatt.cpp
index daefac6..19ac58f 100644
--- a/noncore/net/mailit/addatt.cpp
+++ b/noncore/net/mailit/addatt.cpp
@@ -35,49 +35,49 @@ FileItem::FileItem(QListView *parent, DocLnk* dl)
setText(0, doclnk->name());
/* if (fileType == "Picture") {
setPixmap(0, Resource::loadPixmap("pixmap"));
} else if (fileType == "Document") {
setPixmap(0, Resource::loadPixmap("txt"));
} else if (fileType == "Sound") {
setPixmap(0, Resource::loadPixmap("play"));
} else if (fileType == "Movie") {
setPixmap(0, Resource::loadPixmap("MPEGPlayer"));
} else if (fileType == "File") {
setPixmap(0, Resource::loadPixmap("exec"));
}*/
}
FileItem::~FileItem()
{
if (doclnk!=NULL) delete doclnk;
doclnk=NULL;
}
AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f)
: QDialog(parent, name, f)
{
- setCaption("Adding attachments");
+ setCaption(tr("Adding attachments") );
QGridLayout *top = new QGridLayout(this, 1,1 );
QHBox *buttons=new QHBox(this);
/*fileCategoryButton = new QPushButton(this);*/
attachButton = new QPushButton(tr("attach..."), buttons);
removeButton = new QPushButton(tr("Remove"), buttons);
/*fileCategories = new QPopupMenu(fileCategoryButton);
fileCategoryButton->setPopup(fileCategories);
fileCategories->insertItem("Document");
fileCategories->insertItem("Picture");
fileCategories->insertItem("Sound");
fileCategories->insertItem("Movie");
fileCategories->insertItem("File");
fileCategoryButton->setText("Document");
top->addWidget(fileCategoryButton, 0, 0);*/
top->addWidget(buttons,1,0);
//buttons->addWidget(attachButton,0,0);
//buttons->addWidget(removeButton,0,1);
@@ -101,49 +101,49 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f)
SLOT(removeattachment()) );
//top->addWidget(ofs, 0,0);
top->addWidget(attView, 0,0);
clear();
}
void AddAtt::clear()
{
attView->clear();
//getFiles();
modified = FALSE;
}
/*void AddAtt::fileCategorySelected(int id)
{
fileCategoryButton->setText(fileCategories->text(id));
getFiles();
}*/
void AddAtt::addattachment()
-{
+{ // ### FIXME wrong use -zecke
OFileDialog ofs("Attachments",this,0,0,"/root/Documents");
ofs.showMaximized();
if (ofs.exec()==QDialog::Accepted)
{
DocLnk* dl=new DocLnk(ofs.selectedDocument());
FileItem* fi=new FileItem(attView,dl);
fi->setPixmap(0,dl->pixmap());
fi->setText(1,dl->type());
attView->insertItem(fi);
modified = TRUE;
}
}
void AddAtt::removeattachment()
{
if (attView->selectedItem() != NULL)
{
attView->takeItem(attView->selectedItem());
}
modified = TRUE;
}
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();
diff --git a/noncore/net/mailit/emailclient.h b/noncore/net/mailit/emailclient.h
index c98cfce..80c6d31 100644
--- a/noncore/net/mailit/emailclient.h
+++ b/noncore/net/mailit/emailclient.h
@@ -77,50 +77,50 @@ protected:
signals:
void composeRequested();
void viewEmail(QListView *, Email *);
void mailUpdated(Email *);
void newCaption(const QString &);
void replyRequested(Email&, bool&);
void forwardRequested(Email&);
void removeItem(EmailListItem*, bool&);
/*void reply(Email&);
void replyAll(Email&);
void remove(Email&);
void forward(Email&);*/
public slots:
void compose();
void cancel();
void enqueMail(const Email &mail);
void setMailAccount();
void sendQuedMail();
void mailSent();
void deleteItem();
void getNewMail();
void getAllNewMail();
- void smtpError(int code);
- void popError(int code);
+ void smtpError(int code, const QString & Msg );
+ void popError(int code, const QString & Msg);
void inboxItemSelected();
void outboxItemSelected();
void inboxItemPressed();
void inboxItemReleased();
void mailArrived(const Email &mail, bool fromDisk);
void allMailArrived(int);
void saveMail(const QString &fileName, QListView *view);
void selectAccount(int);
void editAccount(int);
void updateAccounts();
void deleteAccount(int);
void deleteMail(EmailListItem *mailItem, bool &inbox);
void setTotalSize(int);
void setMailSize(int);
void setDownloadedSize(int);
void moveMailFront(Email *mailPtr);
void download(Email*);
/* void reply();
void replyAll();
void forward();
void remove();*/
private slots:
void receive(const QCString&, const QByteArray&);
diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp
index 39f693d..5b8bda1 100644
--- a/noncore/net/mailit/emailhandler.cpp
+++ b/noncore/net/mailit/emailhandler.cpp
@@ -23,56 +23,56 @@
#include <qmessagebox.h>
#include <qcstring.h>
#include "emailhandler.h"
#include <qpe/applnk.h>
#include <qpe/filemanager.h>
QCollection::Item EnclosureList::newItem(QCollection::Item d)
{
return dupl( (Enclosure *) d);
}
Enclosure* EnclosureList::dupl(Enclosure *in)
{
ac = new Enclosure(*in);
return ac;
}
EmailHandler::EmailHandler()
{
qDebug("EMailHandler::EmailHandler");
smtpClient = new SmtpClient();
popClient = new PopClient();
- connect(smtpClient, SIGNAL(errorOccurred(int)), this,
- SIGNAL(smtpError(int)) );
+ connect(smtpClient, SIGNAL(errorOccurred(int, const QString &)), this,
+ SIGNAL(smtpError(int, const QString &)) );
connect(smtpClient, SIGNAL(mailSent()), this, SIGNAL(mailSent()) );
connect(smtpClient, SIGNAL(updateStatus(const QString &)), this,
SIGNAL(updateSmtpStatus(const QString &)) );
- connect(popClient, SIGNAL(errorOccurred(int)), this,
- SIGNAL(popError(int)) );
+ connect(popClient, SIGNAL(errorOccurred(int, const QString &)), this,
+ SIGNAL(popError(int, const QString &)) );
connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)),
this, SLOT(messageArrived(const QString &, int, uint, bool)) );
connect(popClient, SIGNAL(updateStatus(const QString &)), this,
SIGNAL(updatePopStatus(const QString &)) );
connect(popClient, SIGNAL(mailTransfered(int)), this,
SIGNAL(mailTransfered(int)) );
//relaying size information
connect(popClient, SIGNAL(currentMailSize(int)),
this, SIGNAL(currentMailSize(int)) );
connect(popClient, SIGNAL(downloadedSize(int)),
this, SIGNAL(downloadedSize(int)) );
}
void EmailHandler::sendMail(QList<Email> *mailList)
{
Email *currentMail;
QString temp;
QString userName = mailAccount.name;
userName += " <" + mailAccount.emailAddress + ">";
for (currentMail = mailList->first(); currentMail != 0;
currentMail = mailList->next()) {
diff --git a/noncore/net/mailit/emailhandler.h b/noncore/net/mailit/emailhandler.h
index e4e7f46..74a8e4c 100644
--- a/noncore/net/mailit/emailhandler.h
+++ b/noncore/net/mailit/emailhandler.h
@@ -106,45 +106,45 @@ struct MailAccount
class EmailHandler : public QObject
{
Q_OBJECT
public:
EmailHandler();
void setAccount(MailAccount account);
MailAccount* getAccount(){return &mailAccount;}
void sendMail(QList<Email> *mailList);
void getMail();
void getMailHeaders();
void getMailByList(MailList *mailList);
bool parse(const QString &in, const QString &lineShift, Email *mail);
bool getEnclosure(Enclosure *ePtr);
int parse64base(char *src, char *dest);
int encodeMime(Email *mail);
int encodeFile(const QString &fileName, QString *toBody);
void encode64base(char *src, QString *dest, int len);
void cancel();
signals:
void mailSent();
- void smtpError(int);
- void popError(int);
+ void smtpError(int, const QString & Msg );
+ void popError(int, const QString & Msg );
void mailArrived(const Email &, bool);
void updatePopStatus(const QString &);
void updateSmtpStatus(const QString &);
void mailTransfered(int);
void mailboxSize(int);
void currentMailSize(int);
void downloadedSize(int);
public slots:
void messageArrived(const QString &, int id, uint size, bool complete);
private:
MailAccount mailAccount;
SmtpClient *smtpClient;
PopClient *popClient;
bool headers;
};
#endif
diff --git a/noncore/net/mailit/mailit.pro b/noncore/net/mailit/mailit.pro
index cfbda36..5e9a83a 100644
--- a/noncore/net/mailit/mailit.pro
+++ b/noncore/net/mailit/mailit.pro
@@ -1,25 +1,26 @@
TEMPLATE = app
+TARGET = mailit
CONFIG = qt warn_on release
HEADERS = emailclient.h \
emailhandler.h \
emaillistitem.h \
mailitwindow.h \
md5.h \
popclient.h \
readmail.h \
smtpclient.h \
writemail.h \
textparser.h \
viewatt.h \
addatt.h \
editaccount.h \
maillist.h \
addresslist.h
SOURCES = emailclient.cpp \
emailhandler.cpp \
emaillistitem.cpp \
mailitwindow.cpp \
main.cpp \
md5.c \
popclient.cpp \
readmail.cpp \
diff --git a/noncore/net/mailit/mailitwindow.cpp b/noncore/net/mailit/mailitwindow.cpp
index f945a0f..6e298c7 100644
--- a/noncore/net/mailit/mailitwindow.cpp
+++ b/noncore/net/mailit/mailitwindow.cpp
@@ -1,51 +1,51 @@
/**********************************************************************
** Copyright (C) 2001 Trolltech AS. All rights reserved.
**
** This file is part of Qt Palmtop Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qwhatsthis.h>
#include <qmessagebox.h>
#include "mailitwindow.h"
-MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags fl)
+MailItWindow::MailItWindow(QWidget *parent, const char *name, WFlags /*fl*/)
: QMainWindow(parent, name, WStyle_ContextHelp)
{
- currentCaption = "Mailit";
+ currentCaption = tr("Mailit");
setCaption(tr(currentCaption));
views = new QWidgetStack(this);
setCentralWidget(views);
QWhatsThis::add(views,tr("Central view area"));
emailClient = new EmailClient(views, "client");
writeMail = new WriteMail(views, "writing");
readMail = new ReadMail(views, "reading");
views->raiseWidget(emailClient);
connect(emailClient, SIGNAL(composeRequested()),
this, SLOT(compose()) );
connect(emailClient, SIGNAL(viewEmail(QListView *, Email *)), this,
SLOT(viewMail(QListView *, Email *)) );
connect(emailClient, SIGNAL(mailUpdated(Email *)), this,
SLOT(updateMailView(Email *)) );
connect(writeMail, SIGNAL(cancelMail()), this, SLOT(showEmailClient()) );
connect(writeMail, SIGNAL(sendMailRequested(const Email &)), this,
SLOT(showEmailClient()) );
connect(writeMail, SIGNAL(sendMailRequested(const Email &)), emailClient,
SLOT(enqueMail(const Email &)) );
connect(readMail, SIGNAL(cancelView()), this, SLOT(showEmailClient()) );
diff --git a/noncore/net/mailit/maillist.cpp b/noncore/net/mailit/maillist.cpp
index b5325a9..8c34295 100644
--- a/noncore/net/mailit/maillist.cpp
+++ b/noncore/net/mailit/maillist.cpp
@@ -53,79 +53,79 @@ int* MailList::next()
mPtr = sortedList.at(currentPos);
currentPos++;
return &(mPtr->serverId);
}
void MailList::sizeInsert(int serverId, uint size)
{
dList *tempPtr;
int x;
dList *newEntry = new dList;
newEntry->serverId = serverId;
newEntry->size = size;
for (tempPtr = sortedList.first(); tempPtr != NULL; tempPtr = sortedList.next() ) {
if (newEntry->size < tempPtr->size) {
x = sortedList.at();
sortedList.insert(x, newEntry);
return;
}
}
sortedList.append(newEntry);
}
-void MailList::moveFront(int serverId, uint size)
+void MailList::moveFront(int serverId, uint/* size*/)
{
dList *currentPtr;
uint tempPos;
QString temp;
tempPos = currentPos;
if ( tempPos >= sortedList.count() )
return;
currentPtr = sortedList.at(tempPos);
while ( ((tempPos+1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
tempPos++;
currentPtr = sortedList.at(tempPos);
}
if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
temp.setNum(currentPtr->serverId);
qWarning("moved to front, message: " + temp);
dList *itemPtr = sortedList.take(tempPos);
sortedList.insert(currentPos, itemPtr);
}
}
//only works if mail is not already in download
-bool MailList::remove(int serverId, uint size)
+bool MailList::remove(int serverId, uint /*size*/)
{
dList *currentPtr;
uint tempPos;
QString temp;
tempPos = currentPos;
if ( tempPos >=sortedList.count() )
return FALSE;
currentPtr = sortedList.at(tempPos);
while ( ((tempPos + 1) < sortedList.count()) && ( currentPtr->serverId != serverId) ) {
tempPos++;
currentPtr = sortedList.at(tempPos);
}
if ( (currentPtr != NULL) && (currentPtr->serverId == serverId) ) {
temp.setNum(currentPtr->serverId);
qWarning("deleted message: " + temp);
sortedList.remove(tempPos);
return TRUE;
}
return FALSE;
}
-void MailList::insert(int pos, int serverId, uint size)
+void MailList::insert(int /*pos*/, int /*serverId*/, uint/* size*/)
{
// sortedList.insert(pos, mPtr);
}
diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp
index dc0116d..5da3bcb 100644
--- a/noncore/net/mailit/popclient.cpp
+++ b/noncore/net/mailit/popclient.cpp
@@ -42,90 +42,94 @@ PopClient::PopClient()
lastSync = 0;
headerLimit = 0;
preview = FALSE;
}
PopClient::~PopClient()
{
delete socket;
delete stream;
}
void PopClient::newConnection(const QString &target, int port)
{
if (receiving) {
qWarning("socket in use, connection refused");
return;
}
status = Init;
socket->connectToHost(target, port);
receiving = TRUE;
//selected = FALSE;
- emit updateStatus("DNS lookup");
+ emit updateStatus(tr("DNS lookup"));
}
void PopClient::setAccount(const QString &popUser, const QString &popPasswd)
{
popUserName = popUser;
popPassword = popPasswd;
}
void PopClient::setSynchronize(int lastCount)
{
synchronize = TRUE;
lastSync = lastCount;
}
void PopClient::removeSynchronize()
{
synchronize = FALSE;
lastSync = 0;
}
void PopClient::headersOnly(bool headers, int limit)
{
preview = headers;
headerLimit = limit;
}
void PopClient::setSelectedMails(MailList *list)
{
selected = TRUE;
mailList = list;
}
void PopClient::connectionEstablished()
{
emit updateStatus(tr("Connection established"));
}
void PopClient::errorHandling(int status)
{
+ errorHandlingWithMsg( status, QString::null );
+}
+void PopClient::errorHandlingWithMsg(int status, const QString & Msg )
+{
emit updateStatus(tr("Error Occured"));
- emit errorOccurred(status);
+ emit errorOccurred(status, Msg);
socket->close();
receiving = FALSE;
}
void PopClient::incomingData()
{
QString response, temp, temp2, timeStamp;
QString md5Source;
int start, end;
// char *md5Digest;
char md5Digest[16];
// if ( !socket->canReadLine() )
// return;
response = socket->readLine();
switch(status) {
//logging in
case Init: {
#ifdef APOP_TEST
start = response.find('<',0);
end = response.find('>', start);
if( start >= 0 && end > start )
@@ -146,141 +150,141 @@ void PopClient::incomingData()
status = Stat;
}
else
#endif
{
timeStamp = "";
*stream << "USER " << popUserName << "\r\n";
status = Pass;
}
break;
}
case Pass: {
*stream << "PASS " << popPassword << "\r\n";
status = Stat;
break;
}
//ask for number of messages
case Stat: {
if (response[0] == '+') {
*stream << "STAT" << "\r\n";
status = Mcnt;
- } else errorHandling(ErrLoginFailed);
+ } else errorHandlingWithMsg(ErrLoginFailed, response);
break;
}
//get count of messages, eg "+OK 4 900.." -> int 4
case Mcnt: {
if (response[0] == '+') {
temp = response.replace(0, 4, "");
int x = temp.find(" ", 0);
temp.truncate((uint) x);
newMessages = temp.toInt();
messageCount = 1;
status = List;
if (synchronize) {
//messages deleted from server, reload all
if (newMessages < lastSync)
lastSync = 0;
messageCount = 1;
}
if (selected) {
int *ptr = mailList->first();
if (ptr != 0) {
newMessages++; //to ensure no early jumpout
messageCount = *ptr;
} else newMessages = 0;
}
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse, response);
}
//Read message number x, count upwards to messageCount
case List: {
if (messageCount <= newMessages) {
*stream << "LIST " << messageCount << "\r\n";
status = Size;
temp2.setNum(newMessages - lastSync);
temp.setNum(messageCount - lastSync);
if (!selected) {
emit updateStatus(tr("Retrieving ") + temp + "/" + temp2);
} else {
//completing a previously closed transfer
/* if ( (messageCount - lastSync) <= 0) {
temp.setNum(messageCount);
emit updateStatus(tr("Previous message ") + temp);
} else {*/
emit updateStatus(tr("Completing message ") + temp);
//}
}
break;
} else {
emit updateStatus(tr("No new Messages"));
status = Quit;
}
}
//get size of message, eg "500 characters in message.." -> int 500
case Size: {
if (status != Quit) { //because of idiotic switch
if (response[0] == '+') {
temp = response.replace(0, 4, "");
int x = temp.find(" ", 0);
temp = temp.right(temp.length() - ((uint) x + 1) );
mailSize = temp.toInt();
emit currentMailSize(mailSize);
status = Retr;
} else {
//qWarning(response);
- errorHandling(ErrUnknownResponse);
+ errorHandlingWithMsg(ErrUnknownResponse, response);
}
}
}
//Read message number x, count upwards to messageCount
case Retr: {
if (status != Quit) {
if ((selected)||(mailSize <= headerLimit))
{
*stream << "RETR " << messageCount << "\r\n";
} else { //only header
*stream << "TOP " << messageCount << " 0\r\n";
}
messageCount++;
status = Ignore;
break;
} }
case Ignore: {
if (status != Quit) { //because of idiotic switch
if (response[0] == '+') {
message = "";
status = Read;
if (!socket->canReadLine()) //sync. problems
break;
response = socket->readLine();
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse, response);
}
}
//add all incoming lines to body. When size is reached, send
//message, and go back to read new message
case Read: {
if (status != Quit) { //because of idiotic switch
message += response;
while ( socket->canReadLine() ) {
response = socket->readLine();
message += response;
}
emit downloadedSize(message.length());
int x = message.find("\r\n.\r\n",-5);
if (x == -1) {
break;
} else { //message reach entire size
if ( (selected)||(mailSize <= headerLimit)) //mail size limit is not used if late download is active
{
emit newMessage(message, messageCount-1, mailSize, TRUE);
} else { //incomplete mail downloaded
emit newMessage(message, messageCount-1, mailSize, FALSE);
}
if ((messageCount > newMessages)||(selected)) //last message ?
diff --git a/noncore/net/mailit/popclient.h b/noncore/net/mailit/popclient.h
index c58bc48..6774ceb 100644
--- a/noncore/net/mailit/popclient.h
+++ b/noncore/net/mailit/popclient.h
@@ -23,54 +23,55 @@
#include <stdio.h>
#include <qsocket.h>
#include <qstring.h>
#include <qobject.h>
#include <qtextstream.h>
#include <qlist.h>
#include "maillist.h"
class PopClient: public QObject
{
Q_OBJECT
public:
PopClient();
~PopClient();
void newConnection(const QString &target, int port);
void setAccount(const QString &popUser, const QString &popPasswd);
void setSynchronize(int lastCount);
void removeSynchronize();
void headersOnly(bool headers, int limit);
void setSelectedMails(MailList *list);
signals:
void newMessage(const QString &, int, uint, bool);
- void errorOccurred(int status);
+ void errorOccurred(int status, const QString & Msg );
void updateStatus(const QString &);
void mailTransfered(int);
void mailboxSize(int);
void currentMailSize(int);
void downloadedSize(int);
public slots:
void errorHandling(int);
+ void errorHandlingWithMsg(int, const QString & );
protected slots:
void connectionEstablished();
void incomingData();
private:
QSocket *socket;
QTextStream *stream;
enum transferStatus
{
Init, Pass, Stat, Mcnt, Read, List, Size, Retr, Acks,
Quit, Done, Ignore
};
int status, lastSync;
int messageCount, newMessages, mailSize, headerLimit;
bool receiving, synchronize, preview, selected;
QString popUserName, popPassword, message;
MailList *mailList;
};
#endif
diff --git a/noncore/net/mailit/smtpclient.cpp b/noncore/net/mailit/smtpclient.cpp
index 2916f45..5b5ef52 100644
--- a/noncore/net/mailit/smtpclient.cpp
+++ b/noncore/net/mailit/smtpclient.cpp
@@ -52,112 +52,119 @@ void SmtpClient::newConnection(const QString &target, int port)
emit updateStatus(tr("DNS lookup"));
}
void SmtpClient::addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body)
{
RawEmail *mail = new RawEmail;
mail->from = from;
mail->subject = subject;
mail->to = to;
mail->body = body;
mailList.append(mail);
}
void SmtpClient::connectionEstablished()
{
emit updateStatus(tr("Connection established"));
}
void SmtpClient::errorHandling(int status)
{
- emit errorOccurred(status);
+ errorHandlingWithMsg( status, QString::null );
+}
+
+void SmtpClient::errorHandlingWithMsg(int status, const QString & EMsg )
+{
+ emit errorOccurred(status, EMsg );
socket->close();
mailList.clear();
sending = FALSE;
}
void SmtpClient::incomingData()
{
QString response;
if (!socket->canReadLine())
return;
response = socket->readLine();
-
switch(status) {
case Init: {
if (response[0] == '2') {
status = From;
mailPtr = mailList.first();
*stream << "HELO there\r\n";
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
break;
}
case From: {
if (response[0] == '2') {
- *stream << "MAIL FROM: " << mailPtr->from << "\r\n";
+ qDebug(mailPtr->from);
+ *stream << "MAIL FROM: <" << mailPtr->from << ">\r\n";
status = Recv;
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse, response );
break;
}
case Recv: {
if (response[0] == '2') {
it = mailPtr->to.begin();
- if (it == NULL)
- errorHandling(ErrUnknownResponse);
- *stream << "RCPT TO: " << *it << ">\r\n";
+ if (it == NULL) {
+ errorHandlingWithMsg(ErrUnknownResponse,response);
+ }
+ *stream << "RCPT TO: <" << *it << ">\r\n";
status = MRcv;
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
break;
}
case MRcv: {
if (response[0] == '2') {
it++;
if ( it != mailPtr->to.end() ) {
*stream << "RCPT TO: <" << *it << ">\r\n";
break;
} else {
status = Data;
}
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
}
case Data: {
if (response[0] == '2') {
*stream << "DATA\r\n";
status = Body;
emit updateStatus(tr("Sending: ") + mailPtr->subject);
- } else errorHandling(ErrUnknownResponse);
+
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
break;
}
case Body: {
if (response[0] == '3') {
*stream << mailPtr->body << "\r\n.\r\n";
mailPtr = mailList.next();
if (mailPtr != NULL) {
status = From;
} else {
status = Quit;
}
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
break;
}
case Quit: {
if (response[0] == '2') {
*stream << "QUIT\r\n";
status = Done;
QString temp;
temp.setNum(mailList.count());
emit updateStatus(tr("Sent ") + temp + tr(" messages"));
emit mailSent();
mailList.clear();
sending = FALSE;
socket->close();
- } else errorHandling(ErrUnknownResponse);
+ } else errorHandlingWithMsg(ErrUnknownResponse,response);
break;
}
}
}
diff --git a/noncore/net/mailit/smtpclient.h b/noncore/net/mailit/smtpclient.h
index 45c0703..554ba3f 100644
--- a/noncore/net/mailit/smtpclient.h
+++ b/noncore/net/mailit/smtpclient.h
@@ -26,50 +26,51 @@
#include <qobject.h>
#include <qtextstream.h>
#include <qstringlist.h>
#include <qlist.h>
struct RawEmail
{
QString from;
QString subject;
QStringList to;
QString body;
};
class SmtpClient: public QObject
{
Q_OBJECT
public:
SmtpClient();
~SmtpClient();
void newConnection(const QString &target, int port);
void addMail(const QString &from, const QString &subject, const QStringList &to, const QString &body);
signals:
- void errorOccurred(int);
+ void errorOccurred(int, const QString & LR );
void updateStatus(const QString &);
void mailSent();
public slots:
void errorHandling(int);
+ void errorHandlingWithMsg(int, const QString & LastResponse );
protected slots:
void connectionEstablished();
void incomingData();
private:
QSocket *socket;
QTextStream *stream;
enum transferStatus
{
Init, From, Recv, MRcv, Data, Body, Quit, Done
};
int status;
QList<RawEmail> mailList;
RawEmail *mailPtr;
bool sending;
QStringList::Iterator it;
};
#endif
diff --git a/noncore/net/mailit/viewatt.cpp b/noncore/net/mailit/viewatt.cpp
index 21885c2..293e137 100644
--- a/noncore/net/mailit/viewatt.cpp
+++ b/noncore/net/mailit/viewatt.cpp
@@ -5,86 +5,86 @@
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "resource.h"
#include "viewatt.h"
#include <qwhatsthis.h>
#include <qpe/applnk.h>
#include <qpe/mimetype.h>
ViewAtt::ViewAtt(QWidget *parent, const char *name, WFlags f)
: QMainWindow(parent, name, f)
{
- setCaption("Exploring attatchments");
+ setCaption(tr("Exploring attatchments"));
setToolBarsMovable( FALSE );
bar = new QToolBar(this);
installButton = new QAction( tr( "Install" ), Resource::loadPixmap( "exec" ), QString::null, CTRL + Key_C, this, 0 );
connect(installButton, SIGNAL(activated()), this, SLOT(install()) );
installButton->setWhatsThis(tr("Click here to install the attachment to your Documents"));
listView = new QListView(this, "AttView");
- listView->addColumn( "Attatchment" );
- listView->addColumn( "Type" );
- listView->addColumn( "Installed" );
+ listView->addColumn( tr("Attatchment") );
+ listView->addColumn( tr("Type") );
+ listView->addColumn( tr("Installed") );
setCentralWidget(listView);
QWhatsThis::add(listView,QWidget::tr("This is an overview about all attachments in the mail"));
}
void ViewAtt::update(Email *mailIn, bool inbox)
{
QListViewItem *item;
Enclosure *ePtr;
listView->clear();
if (inbox) {
bar->clear();
installButton->addTo( bar );
bar->show();
} else {
bar->hide();
}
mail = mailIn;
for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) {
- QString isInstalled = "No";
+ QString isInstalled = tr("No");
if (ePtr->installed)
- isInstalled = "Yes";
+ isInstalled = tr("Yes");
item = new QListViewItem(listView, ePtr->originalName, ePtr->contentType, isInstalled);
const QString& mtypeDef=(const QString&) ePtr->contentType+"/"+ePtr->contentAttribute;
MimeType mt(mtypeDef);
item->setPixmap(0, mt.pixmap());
/*
if (ePtr->contentType == "TEXT") {
actions = new QAction( tr("View"), Resource::loadPixmap("TextEditor"), QString::null, CTRL + Key_C, this, 0);
actions->addTo(bar);
}
if (ePtr->contentType == "AUDIO") {
actions = new QAction( tr("Play"), Resource::loadPixmap("SoundPlayer"), QString::null, CTRL + Key_C, this, 0);
actions->addTo(bar);
item->setPixmap(0, Resource::loadPixmap("play"));
}
if (ePtr->contentType == "IMAGE") {
actions = new QAction( tr("Show"), Resource::loadPixmap("pixmap"), QString::null, CTRL + Key_C, this, 0);
actions->addTo(bar);
item->setPixmap(0, Resource::loadPixmap("pixmap"));
}*/
}
@@ -95,27 +95,27 @@ void ViewAtt::install()
Enclosure *ePtr, *selPtr;
QListViewItem *item;
QString filename;
DocLnk d;
item = listView->selectedItem();
if (item != NULL) {
filename = item->text(0);
selPtr = NULL;
for ( ePtr=mail->files.first(); ePtr != 0; ePtr=mail->files.next() ) {
if (ePtr->originalName == filename)
selPtr = ePtr;
}
if (selPtr == NULL) {
qWarning("Internal error, file is not installed to documents");
return;
}
d.setName(selPtr->originalName);
d.setFile(selPtr->path + selPtr->name);
d.setType(selPtr->contentType + "/" + selPtr->contentAttribute);
d.writeLink();
selPtr->installed = TRUE;
- item->setText(2, "Yes");
+ item->setText(2, tr("Yes"));
}
}
diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp
index 0298cb3..26b9660 100644
--- a/noncore/net/mailit/writemail.cpp
+++ b/noncore/net/mailit/writemail.cpp
@@ -97,57 +97,57 @@ void WriteMail::init()
grid->addWidget( subjetLabel, 1, 0 );
ToolButton13_2 = new QToolButton( widget, "ToolButton13_2" );
ToolButton13_2->setText( tr( "..." ) );
grid->addWidget( ToolButton13_2, 1, 2 );
subjectInput = new QLineEdit( widget, "subjectInput" );
grid->addWidget( subjectInput, 1, 1 );
QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here"));
toInput = new QLineEdit( widget, "toInput" );
grid->addWidget( toInput, 0, 1 );
QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here"));
ccInput = new QLineEdit( widget, "ccInput" );
ccInput->hide();
grid->addWidget( ccInput, 0, 1 );
QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here"));
addressButton = new QToolButton( widget, "addressButton" );
addressButton->setPixmap( Resource::loadPixmap("AddressBook") );
addressButton->setToggleButton(TRUE);
grid->addWidget( addressButton, 0, 2 );
connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) );
- QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your OPIE addressbook"));
+ QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your Opie addressbook"));
emailInput = new QMultiLineEdit( widget, "emailInput" );
grid->addMultiCellWidget( emailInput, 2, 2, 0, 2);
QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here"));
addressView = new QListView( widget, "addressView");
- addressView->addColumn("Name");
- addressView->addColumn("EMail");
+ addressView->addColumn(tr("Name"));
+ addressView->addColumn(tr("EMail") );
addressView->setAllColumnsShowFocus(TRUE);
addressView->setMultiSelection(TRUE);
addressView->hide();
grid->addMultiCellWidget( addressView, 3, 3, 0, 2);
QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list"));
okButton = new QToolButton(bar, "ok");
okButton->setPixmap( Resource::loadPixmap("enter") );
okButton->hide();
connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) );
QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here"));
setCentralWidget(widget);
}
void WriteMail::reject()
{
emit cancelMail();
}
void WriteMail::accept()
{
QStringList attachedFiles, attachmentsType;
int idCount = 0;
@@ -262,57 +262,57 @@ void WriteMail::reply(Email replyMail, bool 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);
}
else ccInput->clear();
subjectInput->setText(tr("Re: ") + mail.subject);
QString citation=mail.fromMail;
citation.append(tr(" wrote on "));
citation.append(mail.date);
citation.append(":\n");
//mail.body.insert(0,tr("On"));
pos = 0;
mail.body.insert(pos, ">");
while (pos != -1) {
pos = mail.body.find('\n', pos);
if (pos != -1)
- mail.body.insert(++pos, ">>");
+ mail.body.insert(++pos, ">");
}
mail.body.insert(0,citation);
emailInput->setText(mail.body);
}
void WriteMail::forward(Email forwMail)
{
- int pos=0;
+ // int pos=0;
QString fwdBody=tr("======forwarded message from ");
fwdBody.append(forwMail.fromMail);
fwdBody.append(tr(" starts======\n\n"));
mail=forwMail;
toInput->setText("");
ccInput->setText("");
subjectInput->setText(tr("FWD: ") + mail.subject);
fwdBody+=mail.body;
fwdBody+=QString(tr("======end of forwarded message======\n\n"));
emailInput->setText(fwdBody);
}
bool WriteMail::getRecipients(bool ccField)
{
QString str, temp;
int pos = 0;
if (ccField)
{
mail.carbonCopies.clear();