author | groucho <groucho> | 2003-04-11 14:48:19 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-04-11 14:48:19 (UTC) |
commit | d37f3eac6b876285eb7a03ab01194ea261458ea5 (patch) (side-by-side diff) | |
tree | 47420d872c6d298db7e26715c80cf3aebb055033 /noncore/unsupported/mailit/addatt.cpp | |
parent | ebf5bb083d47179918d47f083a3cc98a5ed5d2e0 (diff) | |
download | opie-d37f3eac6b876285eb7a03ab01194ea261458ea5.zip opie-d37f3eac6b876285eb7a03ab01194ea261458ea5.tar.gz opie-d37f3eac6b876285eb7a03ab01194ea261458ea5.tar.bz2 |
Lots of improvements regarding usability and stability:
- Now uses ofileselector for sending attachments (reading follows, does not crash any more)
- Uses DocLnks for attachments (when composing a message)
- Beautified the attachments dialog with doc icons
- removed a crash when sending attachments and no account was set
- smaller fixes
ToDo:
- Attachment viewer should use doclnk too
- get rid of teh save button in ofileselector
- fix the bug with GMX mail provider sending mail (user encoding wrong)
- replace the Attach and Remove buttons with a nice toolbar
- Maybe integrate attview into the mail sending window on demand
- get rid of crashes
Diffstat (limited to 'noncore/unsupported/mailit/addatt.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/mailit/addatt.cpp | 119 |
1 files changed, 70 insertions, 49 deletions
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 @@ -25,11 +25,13 @@ -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")); @@ -43,13 +45,9 @@ FileItem::FileItem(QListView *parent, QFileInfo fileInfo, QString fileType) setPixmap(0, Resource::loadPixmap("exec")); - } + }*/ } -QFileInfo FileItem::getFileInfo() +FileItem::~FileItem() { - return file; -} - -QString FileItem::getFileType() -{ - return type; + if (doclnk!=NULL) delete doclnk; + doclnk=NULL; } @@ -61,5 +59,6 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) - 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); @@ -67,3 +66,3 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) - fileCategories = new QPopupMenu(fileCategoryButton); + /*fileCategories = new QPopupMenu(fileCategoryButton); fileCategoryButton->setPopup(fileCategories); @@ -76,8 +75,12 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) 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, @@ -87,9 +90,11 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) - 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, @@ -97,6 +102,8 @@ AddAtt::AddAtt(QWidget *parent, const char *name, WFlags f) - top->addWidget(listView, 1,0); - top->addWidget(attView, 1,1); + //top->addWidget(ofs, 0,0); + top->addWidget(attView, 0,0); + + clear(); - clear(); + } @@ -106,3 +113,3 @@ void AddAtt::clear() attView->clear(); - getFiles(); + //getFiles(); modified = FALSE; @@ -110,3 +117,3 @@ void AddAtt::clear() -void AddAtt::fileCategorySelected(int id) +/*void AddAtt::fileCategorySelected(int id) { @@ -114,16 +121,25 @@ void AddAtt::fileCategorySelected(int 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; } @@ -132,3 +148,4 @@ void AddAtt::removeAttatchment() { - if (attView->selectedItem() != NULL) { + if (attView->selectedItem() != NULL) + { attView->takeItem(attView->selectedItem()); @@ -155,5 +172,4 @@ void AddAtt::getFiles() QString path, selected; - QDir *dir; - listView->clear(); + /*listView->clear(); @@ -179,5 +195,5 @@ void AddAtt::getFiles() 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 - } + }*/ } @@ -190,5 +206,9 @@ QStringList AddAtt::returnAttatchedFiles() 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(); @@ -201,6 +221,7 @@ QStringList AddAtt::returnFileTypes() QStringList list; - + item = (FileItem *) attView->firstChild(); + while (item != NULL) { - list += item->getFileType(); + list += item->getDocLnk()->type(); item = (FileItem *) item->nextSibling(); |