author | leseb <leseb> | 2002-06-17 20:52:48 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-06-17 20:52:48 (UTC) |
commit | b177eb4a659c674d1bc3ab82d6d980aade7c0959 (patch) (unidiff) | |
tree | 4ba2aee9db13423e37ae0a8051d80c010f815666 /noncore/unsupported | |
parent | 7ba6590093fb86fe4bf64839d3a517dd396853a3 (diff) | |
download | opie-b177eb4a659c674d1bc3ab82d6d980aade7c0959.zip opie-b177eb4a659c674d1bc3ab82d6d980aade7c0959.tar.gz opie-b177eb4a659c674d1bc3ab82d6d980aade7c0959.tar.bz2 |
Fix some bugs when dealing with attachments
-rw-r--r-- | noncore/unsupported/mail2/attachdiag.cpp | 23 | ||||
-rw-r--r-- | noncore/unsupported/mail2/attachdiag.h | 9 | ||||
-rw-r--r-- | noncore/unsupported/mail2/composer.cpp | 4 | ||||
-rw-r--r-- | noncore/unsupported/mail2/libmail/mailfactory.cpp | 2 | ||||
-rw-r--r-- | noncore/unsupported/mail2/libmail/mailfactory.h | 6 |
5 files changed, 20 insertions, 24 deletions
diff --git a/noncore/unsupported/mail2/attachdiag.cpp b/noncore/unsupported/mail2/attachdiag.cpp index 36e1948..446cfe5 100644 --- a/noncore/unsupported/mail2/attachdiag.cpp +++ b/noncore/unsupported/mail2/attachdiag.cpp | |||
@@ -1,11 +1,12 @@ | |||
1 | #include <qmessagebox.h> | 1 | #include <qmessagebox.h> |
2 | #include <qpushbutton.h> | 2 | #include <qpushbutton.h> |
3 | #include <qlistbox.h> | 3 | #include <qlistbox.h> |
4 | #include <qlayout.h> | 4 | #include <qlayout.h> |
5 | 5 | ||
6 | #include <qpe/applnk.h> | ||
6 | #include <qpe/fileselector.h> | 7 | #include <qpe/fileselector.h> |
7 | #include <qpe/resource.h> | 8 | #include <qpe/resource.h> |
8 | 9 | ||
9 | #include <stdlib.h> | 10 | #include <stdlib.h> |
10 | 11 | ||
11 | #include "attachdiag.h" | 12 | #include "attachdiag.h" |
@@ -16,17 +17,17 @@ AttachDiag::AttachDiag(QWidget* parent = 0, const char* name = 0, bool modal, WF | |||
16 | setCaption(tr("Attach File")); | 17 | setCaption(tr("Attach File")); |
17 | 18 | ||
18 | QGridLayout *layout = new QGridLayout(this); | 19 | QGridLayout *layout = new QGridLayout(this); |
19 | layout->setSpacing(3); | 20 | layout->setSpacing(3); |
20 | layout->setMargin(4); | 21 | layout->setMargin(4); |
21 | 22 | ||
22 | FileSelector *fileSelector = new FileSelector("*", this, "FileSelector"); | 23 | _fileSelector = new FileSelector("*", this, "FileSelector"); |
23 | fileSelector->setCloseVisible(false); | 24 | _fileSelector->setCloseVisible(false); |
24 | fileSelector->setNewVisible(false); | 25 | _fileSelector->setNewVisible(false); |
25 | 26 | ||
26 | layout->addMultiCellWidget(fileSelector, 0, 0, 0, 1); | 27 | layout->addMultiCellWidget(_fileSelector, 0, 0, 0, 1); |
27 | 28 | ||
28 | QPushButton *attachButton = new QPushButton(this); | 29 | QPushButton *attachButton = new QPushButton(this); |
29 | attachButton->setText(tr("Ok")); | 30 | attachButton->setText(tr("Ok")); |
30 | attachButton->setIconSet(Resource::loadPixmap("enter")); | 31 | attachButton->setIconSet(Resource::loadPixmap("enter")); |
31 | 32 | ||
32 | layout->addWidget(attachButton, 1, 0); | 33 | layout->addWidget(attachButton, 1, 0); |
@@ -34,38 +35,34 @@ AttachDiag::AttachDiag(QWidget* parent = 0, const char* name = 0, bool modal, WF | |||
34 | QPushButton *cancelButton = new QPushButton(this); | 35 | QPushButton *cancelButton = new QPushButton(this); |
35 | cancelButton->setText(tr("Cancel")); | 36 | cancelButton->setText(tr("Cancel")); |
36 | cancelButton->setIconSet(Resource::loadPixmap("editdelete")); | 37 | cancelButton->setIconSet(Resource::loadPixmap("editdelete")); |
37 | 38 | ||
38 | layout->addWidget(cancelButton, 1, 1); | 39 | layout->addWidget(cancelButton, 1, 1); |
39 | 40 | ||
40 | connect(fileSelector, SIGNAL(fileSelected(const DocLnk &)), SLOT(fileSelected(const DocLnk &))); | ||
41 | connect(attachButton, SIGNAL(clicked()), SLOT(accept())); | 41 | connect(attachButton, SIGNAL(clicked()), SLOT(accept())); |
42 | connect(cancelButton, SIGNAL(clicked()), SLOT(close())); | 42 | connect(cancelButton, SIGNAL(clicked()), SLOT(close())); |
43 | 43 | ||
44 | if (fileSelector->selected() != NULL) | 44 | if (_fileSelector->fileCount() == 0) { |
45 | currentFile = *fileSelector->selected(); | ||
46 | |||
47 | if (fileSelector->fileCount() == 0) { | ||
48 | attachButton->setEnabled(false); | 45 | attachButton->setEnabled(false); |
49 | fileSelector->setEnabled(false); | 46 | _fileSelector->setEnabled(false); |
50 | } | 47 | } |
51 | } | 48 | } |
52 | 49 | ||
53 | void AttachDiag::fileSelected(const DocLnk &file) | 50 | DocLnk AttachDiag::selectedFile() |
54 | { | 51 | { |
55 | currentFile = file; | 52 | return *_fileSelector->selected(); |
56 | } | 53 | } |
57 | 54 | ||
58 | DocLnk AttachDiag::getFile(QWidget *parent) | 55 | DocLnk AttachDiag::getFile(QWidget *parent) |
59 | { | 56 | { |
60 | AttachDiag attach(parent, 0, true); | 57 | AttachDiag attach(parent, 0, true); |
61 | attach.showMaximized(); | 58 | attach.showMaximized(); |
62 | attach.show(); | 59 | attach.show(); |
63 | 60 | ||
64 | if (QDialog::Accepted == attach.exec()) { | 61 | if (QDialog::Accepted == attach.exec()) { |
65 | return attach.currentFile; | 62 | return attach.selectedFile(); |
66 | } | 63 | } |
67 | 64 | ||
68 | return DocLnk(); | 65 | return DocLnk(); |
69 | } | 66 | } |
70 | 67 | ||
71 | 68 | ||
diff --git a/noncore/unsupported/mail2/attachdiag.h b/noncore/unsupported/mail2/attachdiag.h index bce5b4b..88686bc 100644 --- a/noncore/unsupported/mail2/attachdiag.h +++ b/noncore/unsupported/mail2/attachdiag.h | |||
@@ -1,27 +1,26 @@ | |||
1 | #ifndef ATTACHDIAG_H | 1 | #ifndef ATTACHDIAG_H |
2 | #define ATTACHDIAG_H | 2 | #define ATTACHDIAG_H |
3 | 3 | ||
4 | #include <qdialog.h> | 4 | #include <qdialog.h> |
5 | 5 | ||
6 | #include <qpe/applnk.h> | 6 | class DocLnk; |
7 | class FileSelector; | ||
7 | 8 | ||
8 | class AttachDiag : public QDialog | 9 | class AttachDiag : public QDialog |
9 | { | 10 | { |
10 | Q_OBJECT | 11 | Q_OBJECT |
11 | 12 | ||
12 | public: | 13 | public: |
14 | DocLnk selectedFile(); | ||
13 | static DocLnk getFile(QWidget *parent); | 15 | static DocLnk getFile(QWidget *parent); |
14 | 16 | ||
15 | protected: | 17 | protected: |
16 | AttachDiag(QWidget *parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0); | 18 | AttachDiag(QWidget *parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0); |
17 | 19 | ||
18 | private slots: | ||
19 | void fileSelected(const DocLnk &); | ||
20 | |||
21 | private: | 20 | private: |
22 | DocLnk currentFile; | 21 | FileSelector *_fileSelector; |
23 | 22 | ||
24 | }; | 23 | }; |
25 | 24 | ||
26 | #endif | 25 | #endif |
27 | 26 | ||
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp index 7f65dba..c36d973 100644 --- a/noncore/unsupported/mail2/composer.cpp +++ b/noncore/unsupported/mail2/composer.cpp | |||
@@ -17,13 +17,13 @@ | |||
17 | #include "composer.h" | 17 | #include "composer.h" |
18 | #include "rename.h" | 18 | #include "rename.h" |
19 | 19 | ||
20 | AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) | 20 | AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) |
21 | : QListViewItem(parent), _attachment(attachment) | 21 | : QListViewItem(parent), _attachment(attachment) |
22 | { | 22 | { |
23 | setPixmap(0, _attachment.docLnk()->pixmap().isNull() ? Resource::loadPixmap("UnknownDocument-14") : _attachment.docLnk()->pixmap()); | 23 | setPixmap(0, _attachment.docLnk().pixmap().isNull() ? Resource::loadPixmap("UnknownDocument-14") : _attachment.docLnk().pixmap()); |
24 | setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName()); | 24 | setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName()); |
25 | setText(1, _attachment.description()); | 25 | setText(1, _attachment.description()); |
26 | } | 26 | } |
27 | 27 | ||
28 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) | 28 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) |
29 | : ComposerBase(parent, name, fl), _inLoop(false) | 29 | : ComposerBase(parent, name, fl), _inLoop(false) |
@@ -228,13 +228,13 @@ void Composer::slotAddAttach() | |||
228 | DocLnk lnk = AttachDiag::getFile(this); | 228 | DocLnk lnk = AttachDiag::getFile(this); |
229 | if (lnk.name().isEmpty()) return; | 229 | if (lnk.name().isEmpty()) return; |
230 | 230 | ||
231 | Attachment attachment; | 231 | Attachment attachment; |
232 | attachment.setFileName(lnk.file()); | 232 | attachment.setFileName(lnk.file()); |
233 | attachment.setNewName(lnk.name()); | 233 | attachment.setNewName(lnk.name()); |
234 | attachment.setDocLnk(&lnk); | 234 | attachment.setDocLnk(lnk); |
235 | 235 | ||
236 | (void) new AttachViewItem(attachView, attachment); | 236 | (void) new AttachViewItem(attachView, attachment); |
237 | } | 237 | } |
238 | 238 | ||
239 | void Composer::slotDelAttach() | 239 | void Composer::slotDelAttach() |
240 | { | 240 | { |
diff --git a/noncore/unsupported/mail2/libmail/mailfactory.cpp b/noncore/unsupported/mail2/libmail/mailfactory.cpp index 6602919..e02f80f 100644 --- a/noncore/unsupported/mail2/libmail/mailfactory.cpp +++ b/noncore/unsupported/mail2/libmail/mailfactory.cpp | |||
@@ -83,13 +83,13 @@ MailFactory::MailFactory(SendMail &smail, QWidget *parent) | |||
83 | QFile f((*it).fileName()); | 83 | QFile f((*it).fileName()); |
84 | if (f.open(IO_ReadOnly)) { | 84 | if (f.open(IO_ReadOnly)) { |
85 | QTextStream t(&f); | 85 | QTextStream t(&f); |
86 | QString file; | 86 | QString file; |
87 | while (!t.atEnd()) file += t.readLine() + "\n"; | 87 | while (!t.atEnd()) file += t.readLine() + "\n"; |
88 | f.close(); | 88 | f.close(); |
89 | QString mimetype = (new MimeType(*(*it).docLnk()))->id(); | 89 | QString mimetype = (new MimeType((*it).docLnk()))->id(); |
90 | 90 | ||
91 | _body += "\n--" + boundary + "\n"; | 91 | _body += "\n--" + boundary + "\n"; |
92 | _body += "Content-Type: " + mimetype + "; name=\"" + (*it).newName() + "\"\n"; | 92 | _body += "Content-Type: " + mimetype + "; name=\"" + (*it).newName() + "\"\n"; |
93 | 93 | ||
94 | // TODO: Decide which content transfer encoding is best. B64 for binary, QP for text. | 94 | // TODO: Decide which content transfer encoding is best. B64 for binary, QP for text. |
95 | _body += "Content-Transfer-Encoding: base64\n"; | 95 | _body += "Content-Transfer-Encoding: base64\n"; |
diff --git a/noncore/unsupported/mail2/libmail/mailfactory.h b/noncore/unsupported/mail2/libmail/mailfactory.h index 8f67447..c938c27 100644 --- a/noncore/unsupported/mail2/libmail/mailfactory.h +++ b/noncore/unsupported/mail2/libmail/mailfactory.h | |||
@@ -10,22 +10,22 @@ | |||
10 | class Attachment | 10 | class Attachment |
11 | { | 11 | { |
12 | public: | 12 | public: |
13 | void setFileName(QString fileName) { _fileName = fileName; } | 13 | void setFileName(QString fileName) { _fileName = fileName; } |
14 | void setNewName(QString newName) { _newName = newName; } | 14 | void setNewName(QString newName) { _newName = newName; } |
15 | void setDescription(QString description) { _description = description; } | 15 | void setDescription(QString description) { _description = description; } |
16 | void setDocLnk(DocLnk *docLnk) { _docLnk = docLnk; } | 16 | void setDocLnk(DocLnk docLnk) { _docLnk = docLnk; } |
17 | 17 | ||
18 | QString fileName() { return _fileName; } | 18 | QString fileName() { return _fileName; } |
19 | QString newName() { return _newName; } | 19 | QString newName() { return _newName; } |
20 | QString description() { return _description; } | 20 | QString description() { return _description; } |
21 | DocLnk *docLnk() { return _docLnk; } | 21 | DocLnk docLnk() { return _docLnk; } |
22 | 22 | ||
23 | protected: | 23 | protected: |
24 | QString _fileName, _newName, _description; | 24 | QString _fileName, _newName, _description; |
25 | DocLnk *_docLnk; | 25 | DocLnk _docLnk; |
26 | 26 | ||
27 | }; | 27 | }; |
28 | 28 | ||
29 | class SendMail | 29 | class SendMail |
30 | { | 30 | { |
31 | public: | 31 | public: |