-rw-r--r-- | noncore/net/mailit/addatt.cpp | 119 | ||||
-rw-r--r-- | noncore/net/mailit/addatt.h | 24 | ||||
-rw-r--r-- | noncore/net/mailit/emailclient.cpp | 10 | ||||
-rw-r--r-- | noncore/net/mailit/emailhandler.cpp | 7 | ||||
-rw-r--r-- | noncore/net/mailit/writemail.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/mailit/addatt.cpp | 119 | ||||
-rw-r--r-- | noncore/unsupported/mailit/addatt.h | 24 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailclient.cpp | 10 | ||||
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.cpp | 7 | ||||
-rw-r--r-- | noncore/unsupported/mailit/writemail.cpp | 6 |
10 files changed, 200 insertions, 132 deletions
diff --git a/noncore/net/mailit/addatt.cpp b/noncore/net/mailit/addatt.cpp index c030e36..f279f52 100644 --- a/noncore/net/mailit/addatt.cpp +++ b/noncore/net/mailit/addatt.cpp @@ -22,17 +22,19 @@ #include <qstringlist.h> #include "resource.h" #include "addatt.h" -FileItem::FileItem(QListView *parent, QFileInfo fileInfo, QString fileType) +FileItem::FileItem(QListView *parent, DocLnk* dl) : QListViewItem(parent) { - file = fileInfo; - type = fileType; + /*file = fileInfo; + type = fileType;*/ + + doclnk=dl; - setText(0, fileInfo.baseName()); + setText(0, doclnk->name()); - if (fileType == "Picture") { +/* if (fileType == "Picture") { setPixmap(0, Resource::loadPixmap("pixmap")); } else if (fileType == "Document") { setPixmap(0, Resource::loadPixmap("txt")); } else if (fileType == "Sound") { @@ -40,98 +42,113 @@ FileItem::FileItem(QListView *parent, QFileInfo fileInfo, QString fileType) } else if (fileType == "Movie") { setPixmap(0, Resource::loadPixmap("MPEGPlayer")); } else if (fileType == "File") { setPixmap(0, Resource::loadPixmap("exec")); - } + }*/ } -QFileInfo FileItem::getFileInfo() +FileItem::~FileItem() { - return file; -} - -QString FileItem::getFileType() -{ - return type; + if (doclnk!=NULL) delete doclnk; + doclnk=NULL; } AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) : QDialog(parent, name, f) { setCaption("Adding attatchments"); - QGridLayout *top = new QGridLayout(this, 3, 2); + QGridLayout *top = new QGridLayout(this, 3,1 ); + - fileCategoryButton = new QPushButton(this); + /*fileCategoryButton = new QPushButton(this);*/ attatchButton = new QPushButton("Attatch ->", this); removeButton = new QPushButton("Remove", this); - fileCategories = new QPopupMenu(fileCategoryButton); + /*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(attatchButton, 2, 0); - top->addWidget(removeButton, 2, 1); + top->addWidget(fileCategoryButton, 0, 0);*/ + + //ofs=new OFileSelector(this,2,0,"/root/Documents"); + + + top->addWidget(attatchButton,1,0); + top->addWidget(removeButton,2,0); - connect(fileCategories, SIGNAL(activated(int)), this, - SLOT(fileCategorySelected(int)) ); + /*connect(fileCategories, SIGNAL(activated(int)), this, + SLOT(fileCategorySelected(int)) );*/ connect(attatchButton, SIGNAL(clicked()), this, SLOT(addAttatchment()) ); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeAttatchment()) ); - listView = new QListView(this, "AttView"); - listView->addColumn("Documents"); + /*listView = new QListView(this, "AttView"); + listView->addColumn("Documents");* connect(listView, SIGNAL(doubleClicked(QListViewItem *)), this, - SLOT(addAttatchment()) ); + SLOT(addAttatchment()) );*/ + attView = new QListView(this, "Selected"); - attView->addColumn("Attatched"); + attView->addColumn(tr("Attached")); + attView->addColumn(tr("File type")); connect(attView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(removeAttatchment()) ); - top->addWidget(listView, 1,0); - top->addWidget(attView, 1,1); + //top->addWidget(ofs, 0,0); + top->addWidget(attView, 0,0); + + clear(); - clear(); + } void AddAtt::clear() { attView->clear(); - getFiles(); + //getFiles(); modified = FALSE; } -void AddAtt::fileCategorySelected(int id) +/*void AddAtt::fileCategorySelected(int id) { fileCategoryButton->setText(fileCategories->text(id)); getFiles(); -} +}*/ void AddAtt::addAttatchment() -{ - QFileInfo info; - QString type; +{ + QDialog qd(this,tr("Select attachment"),true); + + QGridLayout top(&qd,1,1); + + OFileSelector ofs(&qd,1,0,"/root/Documents"); + + top.addWidget(&ofs,0,0); - if (listView->selectedItem() != NULL) { - item = (FileItem *) listView->selectedItem(); - info = item->getFileInfo(); - type = item->getFileType(); - item = new FileItem(attView, info, type); + qd.showMaximized(); + + if (qd.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; } - modified = TRUE; } void AddAtt::removeAttatchment() { - if (attView->selectedItem() != NULL) { + if (attView->selectedItem() != NULL) + { attView->takeItem(attView->selectedItem()); } modified = TRUE; } @@ -152,11 +169,10 @@ void AddAtt::accept() void AddAtt::getFiles() { QString path, selected; - QDir *dir; - listView->clear(); + /*listView->clear(); selected = fileCategoryButton->text(); if (selected == "Picture") { path = "../pics/"; @@ -176,34 +192,39 @@ void AddAtt::getFiles() QFileInfoListIterator it(*dirInfoList); // create list iterator while ( (fi=it.current()) ) { // for each file... - item = new FileItem(listView, *fi, selected); + item = new FileItem(lis+ütView, *fi, selected); ++it; // goto next list element - } + }*/ } QStringList AddAtt::returnAttatchedFiles() { QFileInfo info; QStringList list; item = (FileItem *) attView->firstChild(); + + while (item != NULL) { - info = item->getFileInfo(); - list += info.filePath(); + DocLnk* dl=item->getDocLnk(); + list+=dl->file(); + /*info = item->getFileInfo(); + list += info.filePath();*/ item = (FileItem *) item->nextSibling(); } return list; } QStringList AddAtt::returnFileTypes() { QStringList list; - + item = (FileItem *) attView->firstChild(); + while (item != NULL) { - list += item->getFileType(); + list += item->getDocLnk()->type(); item = (FileItem *) item->nextSibling(); } return list; } diff --git a/noncore/net/mailit/addatt.h b/noncore/net/mailit/addatt.h index 867c905..73062e2 100644 --- a/noncore/net/mailit/addatt.h +++ b/noncore/net/mailit/addatt.h @@ -26,19 +26,22 @@ #include <qpopupmenu.h> #include <qstring.h> #include <qfileinfo.h> #include <qstringlist.h> +#include <opie/ofileselector.h> +#include <qpe/applnk.h> class FileItem : public QListViewItem { public: - FileItem(QListView *parent, QFileInfo fileInfo, QString fileType); - QFileInfo getFileInfo(); - QString getFileType(); - + //FileItem(QListView *parent, QFileInfo fileInfo, QString fileType); + FileItem(QListView*, DocLnk*); + ~FileItem(); + DocLnk* getDocLnk() {return doclnk;} + + private: - QFileInfo file; - QString type; + DocLnk* doclnk; }; class AddAtt : public QDialog { @@ -50,21 +53,24 @@ public: QStringList returnFileTypes(); void getFiles(); void clear(); + public slots: - void fileCategorySelected(int); + //void fileCategorySelected(int); void addAttatchment(); void removeAttatchment(); void reject(); void accept(); private: - FileItem *item; - QListView *listView, *attView; + FileItem* item; + QListView *attView; QPushButton *fileCategoryButton, *attatchButton, *removeButton; QPopupMenu *fileCategories; bool modified; QFileInfo *fi; + + OFileSelector* ofs; }; #endif diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp index fc4276b..9258aac 100644 --- a/noncore/net/mailit/emailclient.cpp +++ b/noncore/net/mailit/emailclient.cpp @@ -160,8 +160,9 @@ void EmailClient::init() cancelButton = new QAction(tr("Cancel transfer"), Resource::loadPixmap("close"), QString::null, 0, this, 0); connect(cancelButton, SIGNAL(activated()), this, SLOT(cancel()) ); cancelButton->addTo(mail); + cancelButton->addTo(bar); cancelButton->setEnabled(FALSE); mailboxView = new OTabWidget( this, "mailboxView" ); @@ -213,8 +214,14 @@ AddressList* EmailClient::getAdrListRef() //this needs to be rewritten to syncronize with outboxView void EmailClient::enqueMail(const Email &mail) { + if (accountList.count() == 0) { + QMessageBox::warning(qApp->activeWindow(), + tr("No account selected"), tr("You must create an account"), "OK\n"); + return; + } + if (accountList.count() > 0) { currentAccount = accountList.first(); qWarning("using account " + currentAccount->name); } @@ -231,10 +238,9 @@ void EmailClient::sendQuedMail() { int count = 0; if (accountList.count() == 0) { - QMessageBox::warning(qApp->activeWindow(), - "No account selected", "You must create an account", "OK\n"); + QMessageBox::warning(qApp->activeWindow(), "No account selected", "You must create an account", "OK\n"); return; } //traverse listview, find messages to send if (! sending) { diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp index 2144899..1be16d4 100644 --- a/noncore/net/mailit/emailhandler.cpp +++ b/noncore/net/mailit/emailhandler.cpp @@ -411,14 +411,17 @@ int EmailHandler::parse64base(char *src, char *bufOut) { } return processed; } -int EmailHandler::encodeMime(Email *mail) { +int EmailHandler::encodeMime(Email *mail) +{ + QString fileName, fileType, contentType, newBody, boundary; Enclosure *ePtr; QString userName = mailAccount.name; - userName += " <" + mailAccount.emailAddress + ">"; + if (userName.length()>0) //only embrace it if there is a user name + userName += " <" + mailAccount.emailAddress + ">"; //add standard headers newBody = "From: " + userName + "\r\nTo: "; for (QStringList::Iterator it = mail->recipients.begin(); it != mail->recipients.end(); ++it ) { diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp index 1a7185e..70332a9 100644 --- a/noncore/net/mailit/writemail.cpp +++ b/noncore/net/mailit/writemail.cpp @@ -63,9 +63,9 @@ void WriteMail::init() addMenu = new QPopupMenu(menu); menu->insertItem( tr( "&Add" ), addMenu); bar = new QToolBar(this); - attatchButton = new QAction(tr("Attatchment"), Resource::loadPixmap("fileopen"), QString::null, 0, this, 0); + attatchButton = new QAction(tr("Attatchment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0); attatchButton->addTo(bar); attatchButton->addTo(addMenu); connect( attatchButton, SIGNAL( activated() ), this, SLOT( attatchFile() ) ); @@ -170,11 +170,9 @@ void WriteMail::accept() QStringList::Iterator itType = attatchmentsType.begin(); Enclosure e; - for ( QStringList::Iterator it = attatchedFiles.begin(); - it != attatchedFiles.end(); ++it ) { - + for ( QStringList::Iterator it = attatchedFiles.begin(); it != attatchedFiles.end(); ++it ) { e.id = idCount; e.originalName = (*it).latin1(); e.contentType = (*itType).latin1(); e.contentAttribute = (*itType).latin1(); diff --git a/noncore/unsupported/mailit/addatt.cpp b/noncore/unsupported/mailit/addatt.cpp index c030e36..f279f52 100644 --- a/noncore/unsupported/mailit/addatt.cpp +++ b/noncore/unsupported/mailit/addatt.cpp @@ -22,17 +22,19 @@ #include <qstringlist.h> #include "resource.h" #include "addatt.h" -FileItem::FileItem(QListView *parent, QFileInfo fileInfo, QString fileType) +FileItem::FileItem(QListView *parent, DocLnk* dl) : QListViewItem(parent) { - file = fileInfo; - type = fileType; + /*file = fileInfo; + type = fileType;*/ + + doclnk=dl; - setText(0, fileInfo.baseName()); + setText(0, doclnk->name()); - if (fileType == "Picture") { +/* if (fileType == "Picture") { setPixmap(0, Resource::loadPixmap("pixmap")); } else if (fileType == "Document") { setPixmap(0, Resource::loadPixmap("txt")); } else if (fileType == "Sound") { @@ -40,98 +42,113 @@ FileItem::FileItem(QListView *parent, QFileInfo fileInfo, QString fileType) } else if (fileType == "Movie") { setPixmap(0, Resource::loadPixmap("MPEGPlayer")); } else if (fileType == "File") { setPixmap(0, Resource::loadPixmap("exec")); - } + }*/ } -QFileInfo FileItem::getFileInfo() +FileItem::~FileItem() { - return file; -} - -QString FileItem::getFileType() -{ - return type; + if (doclnk!=NULL) delete doclnk; + doclnk=NULL; } AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) : QDialog(parent, name, f) { setCaption("Adding attatchments"); - QGridLayout *top = new QGridLayout(this, 3, 2); + QGridLayout *top = new QGridLayout(this, 3,1 ); + - fileCategoryButton = new QPushButton(this); + /*fileCategoryButton = new QPushButton(this);*/ attatchButton = new QPushButton("Attatch ->", this); removeButton = new QPushButton("Remove", this); - fileCategories = new QPopupMenu(fileCategoryButton); + /*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(attatchButton, 2, 0); - top->addWidget(removeButton, 2, 1); + top->addWidget(fileCategoryButton, 0, 0);*/ + + //ofs=new OFileSelector(this,2,0,"/root/Documents"); + + + top->addWidget(attatchButton,1,0); + top->addWidget(removeButton,2,0); - connect(fileCategories, SIGNAL(activated(int)), this, - SLOT(fileCategorySelected(int)) ); + /*connect(fileCategories, SIGNAL(activated(int)), this, + SLOT(fileCategorySelected(int)) );*/ connect(attatchButton, SIGNAL(clicked()), this, SLOT(addAttatchment()) ); connect(removeButton, SIGNAL(clicked()), this, SLOT(removeAttatchment()) ); - listView = new QListView(this, "AttView"); - listView->addColumn("Documents"); + /*listView = new QListView(this, "AttView"); + listView->addColumn("Documents");* connect(listView, SIGNAL(doubleClicked(QListViewItem *)), this, - SLOT(addAttatchment()) ); + SLOT(addAttatchment()) );*/ + attView = new QListView(this, "Selected"); - attView->addColumn("Attatched"); + attView->addColumn(tr("Attached")); + attView->addColumn(tr("File type")); connect(attView, SIGNAL(doubleClicked(QListViewItem *)), this, SLOT(removeAttatchment()) ); - top->addWidget(listView, 1,0); - top->addWidget(attView, 1,1); + //top->addWidget(ofs, 0,0); + top->addWidget(attView, 0,0); + + clear(); - clear(); + } void AddAtt::clear() { attView->clear(); - getFiles(); + //getFiles(); modified = FALSE; } -void AddAtt::fileCategorySelected(int id) +/*void AddAtt::fileCategorySelected(int id) { fileCategoryButton->setText(fileCategories->text(id)); getFiles(); -} +}*/ void AddAtt::addAttatchment() -{ - QFileInfo info; - QString type; +{ + QDialog qd(this,tr("Select attachment"),true); + + QGridLayout top(&qd,1,1); + + OFileSelector ofs(&qd,1,0,"/root/Documents"); + + top.addWidget(&ofs,0,0); - if (listView->selectedItem() != NULL) { - item = (FileItem *) listView->selectedItem(); - info = item->getFileInfo(); - type = item->getFileType(); - item = new FileItem(attView, info, type); + qd.showMaximized(); + + if (qd.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; } - modified = TRUE; } void AddAtt::removeAttatchment() { - if (attView->selectedItem() != NULL) { + if (attView->selectedItem() != NULL) + { attView->takeItem(attView->selectedItem()); } modified = TRUE; } @@ -152,11 +169,10 @@ void AddAtt::accept() void AddAtt::getFiles() { QString path, selected; - QDir *dir; - listView->clear(); + /*listView->clear(); selected = fileCategoryButton->text(); if (selected == "Picture") { path = "../pics/"; @@ -176,34 +192,39 @@ void AddAtt::getFiles() QFileInfoListIterator it(*dirInfoList); // create list iterator while ( (fi=it.current()) ) { // for each file... - item = new FileItem(listView, *fi, selected); + item = new FileItem(lis+ütView, *fi, selected); ++it; // goto next list element - } + }*/ } QStringList AddAtt::returnAttatchedFiles() { QFileInfo info; QStringList list; item = (FileItem *) attView->firstChild(); + + while (item != NULL) { - info = item->getFileInfo(); - list += info.filePath(); + DocLnk* dl=item->getDocLnk(); + list+=dl->file(); + /*info = item->getFileInfo(); + list += info.filePath();*/ item = (FileItem *) item->nextSibling(); } return list; } QStringList AddAtt::returnFileTypes() { QStringList list; - + item = (FileItem *) attView->firstChild(); + while (item != NULL) { - list += item->getFileType(); + list += item->getDocLnk()->type(); item = (FileItem *) item->nextSibling(); } return list; } diff --git a/noncore/unsupported/mailit/addatt.h b/noncore/unsupported/mailit/addatt.h index 867c905..73062e2 100644 --- a/noncore/unsupported/mailit/addatt.h +++ b/noncore/unsupported/mailit/addatt.h @@ -26,19 +26,22 @@ #include <qpopupmenu.h> #include <qstring.h> #include <qfileinfo.h> #include <qstringlist.h> +#include <opie/ofileselector.h> +#include <qpe/applnk.h> class FileItem : public QListViewItem { public: - FileItem(QListView *parent, QFileInfo fileInfo, QString fileType); - QFileInfo getFileInfo(); - QString getFileType(); - + //FileItem(QListView *parent, QFileInfo fileInfo, QString fileType); + FileItem(QListView*, DocLnk*); + ~FileItem(); + DocLnk* getDocLnk() {return doclnk;} + + private: - QFileInfo file; - QString type; + DocLnk* doclnk; }; class AddAtt : public QDialog { @@ -50,21 +53,24 @@ public: QStringList returnFileTypes(); void getFiles(); void clear(); + public slots: - void fileCategorySelected(int); + //void fileCategorySelected(int); void addAttatchment(); void removeAttatchment(); void reject(); void accept(); private: - FileItem *item; - QListView *listView, *attView; + FileItem* item; + QListView *attView; QPushButton *fileCategoryButton, *attatchButton, *removeButton; QPopupMenu *fileCategories; bool modified; QFileInfo *fi; + + OFileSelector* ofs; }; #endif diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp index fc4276b..9258aac 100644 --- a/noncore/unsupported/mailit/emailclient.cpp +++ b/noncore/unsupported/mailit/emailclient.cpp @@ -160,8 +160,9 @@ void EmailClient::init() cancelButton = new QAction(tr("Cancel transfer"), Resource::loadPixmap("close"), QString::null, 0, this, 0); connect(cancelButton, SIGNAL(activated()), this, SLOT(cancel()) ); cancelButton->addTo(mail); + cancelButton->addTo(bar); cancelButton->setEnabled(FALSE); mailboxView = new OTabWidget( this, "mailboxView" ); @@ -213,8 +214,14 @@ AddressList* EmailClient::getAdrListRef() //this needs to be rewritten to syncronize with outboxView void EmailClient::enqueMail(const Email &mail) { + if (accountList.count() == 0) { + QMessageBox::warning(qApp->activeWindow(), + tr("No account selected"), tr("You must create an account"), "OK\n"); + return; + } + if (accountList.count() > 0) { currentAccount = accountList.first(); qWarning("using account " + currentAccount->name); } @@ -231,10 +238,9 @@ void EmailClient::sendQuedMail() { int count = 0; if (accountList.count() == 0) { - QMessageBox::warning(qApp->activeWindow(), - "No account selected", "You must create an account", "OK\n"); + QMessageBox::warning(qApp->activeWindow(), "No account selected", "You must create an account", "OK\n"); return; } //traverse listview, find messages to send if (! sending) { diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp index 2144899..1be16d4 100644 --- a/noncore/unsupported/mailit/emailhandler.cpp +++ b/noncore/unsupported/mailit/emailhandler.cpp @@ -411,14 +411,17 @@ int EmailHandler::parse64base(char *src, char *bufOut) { } return processed; } -int EmailHandler::encodeMime(Email *mail) { +int EmailHandler::encodeMime(Email *mail) +{ + QString fileName, fileType, contentType, newBody, boundary; Enclosure *ePtr; QString userName = mailAccount.name; - userName += " <" + mailAccount.emailAddress + ">"; + if (userName.length()>0) //only embrace it if there is a user name + userName += " <" + mailAccount.emailAddress + ">"; //add standard headers newBody = "From: " + userName + "\r\nTo: "; for (QStringList::Iterator it = mail->recipients.begin(); it != mail->recipients.end(); ++it ) { diff --git a/noncore/unsupported/mailit/writemail.cpp b/noncore/unsupported/mailit/writemail.cpp index 1a7185e..70332a9 100644 --- a/noncore/unsupported/mailit/writemail.cpp +++ b/noncore/unsupported/mailit/writemail.cpp @@ -63,9 +63,9 @@ void WriteMail::init() addMenu = new QPopupMenu(menu); menu->insertItem( tr( "&Add" ), addMenu); bar = new QToolBar(this); - attatchButton = new QAction(tr("Attatchment"), Resource::loadPixmap("fileopen"), QString::null, 0, this, 0); + attatchButton = new QAction(tr("Attatchment"), Resource::loadPixmap("mailit/attach"), QString::null, 0, this, 0); attatchButton->addTo(bar); attatchButton->addTo(addMenu); connect( attatchButton, SIGNAL( activated() ), this, SLOT( attatchFile() ) ); @@ -170,11 +170,9 @@ void WriteMail::accept() QStringList::Iterator itType = attatchmentsType.begin(); Enclosure e; - for ( QStringList::Iterator it = attatchedFiles.begin(); - it != attatchedFiles.end(); ++it ) { - + for ( QStringList::Iterator it = attatchedFiles.begin(); it != attatchedFiles.end(); ++it ) { e.id = idCount; e.originalName = (*it).latin1(); e.contentType = (*itType).latin1(); e.contentAttribute = (*itType).latin1(); |