author | leseb <leseb> | 2002-06-16 16:15:47 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-06-16 16:15:47 (UTC) |
commit | ea69cfbbde29fef2f792d1eab702699aada088bf (patch) (unidiff) | |
tree | 1b908b905a16deaba7331d2f0b0c844f94235da0 /noncore | |
parent | d4414131cdf32677e8d54a18827f2e772718c3f7 (diff) | |
download | opie-ea69cfbbde29fef2f792d1eab702699aada088bf.zip opie-ea69cfbbde29fef2f792d1eab702699aada088bf.tar.gz opie-ea69cfbbde29fef2f792d1eab702699aada088bf.tar.bz2 |
Fix memory leaks
-rw-r--r-- | noncore/unsupported/mail2/composer.cpp | 28 | ||||
-rw-r--r-- | noncore/unsupported/mail2/composer.h | 5 | ||||
-rw-r--r-- | noncore/unsupported/mail2/mainwindow.cpp | 26 | ||||
-rw-r--r-- | noncore/unsupported/mail2/searchdiag.cpp | 6 | ||||
-rw-r--r-- | noncore/unsupported/mail2/viewmail.cpp | 44 | ||||
-rw-r--r-- | noncore/unsupported/mail2/viewmail.h | 5 |
6 files changed, 88 insertions, 26 deletions
diff --git a/noncore/unsupported/mail2/composer.cpp b/noncore/unsupported/mail2/composer.cpp index 82ed117..7f65dba 100644 --- a/noncore/unsupported/mail2/composer.cpp +++ b/noncore/unsupported/mail2/composer.cpp | |||
@@ -1,57 +1,83 @@ | |||
1 | #include <qmultilineedit.h> | 1 | #include <qmultilineedit.h> |
2 | #include <qmessagebox.h> | 2 | #include <qmessagebox.h> |
3 | #include <qpopupmenu.h> | 3 | #include <qpopupmenu.h> |
4 | #include <qcombobox.h> | 4 | #include <qcombobox.h> |
5 | #include <qlineedit.h> | 5 | #include <qlineedit.h> |
6 | #include <qaction.h> | 6 | #include <qaction.h> |
7 | #include <qtimer.h> | 7 | #include <qtimer.h> |
8 | #include <qlabel.h> | 8 | #include <qlabel.h> |
9 | #include <qapplication.h> | ||
9 | 10 | ||
10 | #include <qpe/resource.h> | 11 | #include <qpe/resource.h> |
11 | 12 | ||
12 | #include "addresspicker.h" | 13 | #include "addresspicker.h" |
13 | #include "listviewplus.h" | 14 | #include "listviewplus.h" |
14 | #include "smtphandler.h" | 15 | #include "smtphandler.h" |
15 | #include "attachdiag.h" | 16 | #include "attachdiag.h" |
16 | #include "composer.h" | 17 | #include "composer.h" |
17 | #include "rename.h" | 18 | #include "rename.h" |
18 | 19 | ||
19 | AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) | 20 | AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment) |
20 | : QListViewItem(parent), _attachment(attachment) | 21 | : QListViewItem(parent), _attachment(attachment) |
21 | { | 22 | { |
22 | 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()); |
23 | setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName()); | 24 | setText(0, _attachment.newName().isEmpty() ? _attachment.fileName() : _attachment.newName()); |
24 | setText(1, _attachment.description()); | 25 | setText(1, _attachment.description()); |
25 | } | 26 | } |
26 | 27 | ||
27 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) | 28 | Composer::Composer(QWidget *parent, const char *name, WFlags fl) |
28 | : ComposerBase(parent, name, fl) | 29 | : ComposerBase(parent, name, fl), _inLoop(false) |
29 | { | 30 | { |
30 | abort->setEnabled(false); | 31 | abort->setEnabled(false); |
31 | to->setFocus(); | 32 | to->setFocus(); |
32 | 33 | ||
33 | connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail())); | 34 | connect(sendmail, SIGNAL(activated()), SLOT(slotSendMail())); |
34 | connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker())); | 35 | connect(addressbook, SIGNAL(activated()), SLOT(slotOpenAddressPicker())); |
35 | connect(addattach, SIGNAL(activated()), SLOT(slotAddAttach())); | 36 | connect(addattach, SIGNAL(activated()), SLOT(slotAddAttach())); |
36 | connect(delattach, SIGNAL(activated()), SLOT(slotDelAttach())); | 37 | connect(delattach, SIGNAL(activated()), SLOT(slotDelAttach())); |
37 | 38 | ||
38 | connect(from, SIGNAL(activated(int)), SLOT(slotFromChanged(int))); | 39 | connect(from, SIGNAL(activated(int)), SLOT(slotFromChanged(int))); |
39 | 40 | ||
40 | connect(attachPopup, SIGNAL(activated(int)), SLOT(slotPopupHandler(int))); | 41 | connect(attachPopup, SIGNAL(activated(int)), SLOT(slotPopupHandler(int))); |
41 | 42 | ||
42 | QTimer::singleShot(0, this, SLOT(slotFillStuff())); | 43 | QTimer::singleShot(0, this, SLOT(slotFillStuff())); |
43 | QTimer::singleShot(0, this, SLOT(slotResizing())); | 44 | QTimer::singleShot(0, this, SLOT(slotResizing())); |
44 | } | 45 | } |
45 | 46 | ||
47 | Composer::~Composer() | ||
48 | { | ||
49 | hide(); | ||
50 | } | ||
51 | |||
52 | void Composer::hide() | ||
53 | { | ||
54 | QWidget::hide(); | ||
55 | |||
56 | if (_inLoop) { | ||
57 | _inLoop = false; | ||
58 | qApp->exit_loop(); | ||
59 | } | ||
60 | } | ||
61 | |||
62 | void Composer::exec() | ||
63 | { | ||
64 | show(); | ||
65 | |||
66 | if (!_inLoop) { | ||
67 | _inLoop = true; | ||
68 | qApp->enter_loop(); | ||
69 | } | ||
70 | } | ||
71 | |||
46 | void Composer::setSendMail(SendMail &sendMail) | 72 | void Composer::setSendMail(SendMail &sendMail) |
47 | { | 73 | { |
48 | to->setText(sendMail.to()); | 74 | to->setText(sendMail.to()); |
49 | cc->setText(sendMail.cc()); | 75 | cc->setText(sendMail.cc()); |
50 | bcc->setText(sendMail.bcc()); | 76 | bcc->setText(sendMail.bcc()); |
51 | subject->setText(sendMail.subject()); | 77 | subject->setText(sendMail.subject()); |
52 | message->setText(sendMail.message()); | 78 | message->setText(sendMail.message()); |
53 | _inReplyTo = sendMail.inReplyTo(); | 79 | _inReplyTo = sendMail.inReplyTo(); |
54 | 80 | ||
55 | QValueList<Attachment> attachments = sendMail.attachments(); | 81 | QValueList<Attachment> attachments = sendMail.attachments(); |
56 | QValueList<Attachment>::Iterator it; | 82 | QValueList<Attachment>::Iterator it; |
57 | for (it = attachments.begin(); it != attachments.end(); it++) { | 83 | for (it = attachments.begin(); it != attachments.end(); it++) { |
diff --git a/noncore/unsupported/mail2/composer.h b/noncore/unsupported/mail2/composer.h index a1af121..2640d7e 100644 --- a/noncore/unsupported/mail2/composer.h +++ b/noncore/unsupported/mail2/composer.h | |||
@@ -17,36 +17,41 @@ public: | |||
17 | 17 | ||
18 | private: | 18 | private: |
19 | Attachment _attachment; | 19 | Attachment _attachment; |
20 | 20 | ||
21 | }; | 21 | }; |
22 | 22 | ||
23 | class Composer : public ComposerBase | 23 | class Composer : public ComposerBase |
24 | { | 24 | { |
25 | Q_OBJECT | 25 | Q_OBJECT |
26 | 26 | ||
27 | public: | 27 | public: |
28 | Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); | 28 | Composer(QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); |
29 | ~Composer(); | ||
30 | |||
31 | void hide(); | ||
32 | void exec(); | ||
29 | 33 | ||
30 | void setSendMail(SendMail &sendMail); | 34 | void setSendMail(SendMail &sendMail); |
31 | 35 | ||
32 | protected slots: | 36 | protected slots: |
33 | void slotPopupHandler(int itemid); | 37 | void slotPopupHandler(int itemid); |
34 | void slotSendMail(); | 38 | void slotSendMail(); |
35 | void slotSendError(const QString &); | 39 | void slotSendError(const QString &); |
36 | void slotSendFinished(); | 40 | void slotSendFinished(); |
37 | void slotResizing(); | 41 | void slotResizing(); |
38 | void slotFillStuff(); | 42 | void slotFillStuff(); |
39 | void slotFromChanged(int id); | 43 | void slotFromChanged(int id); |
40 | void slotOpenAddressPicker(); | 44 | void slotOpenAddressPicker(); |
41 | void slotAddAttach(); | 45 | void slotAddAttach(); |
42 | void slotDelAttach(); | 46 | void slotDelAttach(); |
43 | 47 | ||
44 | protected: | 48 | protected: |
45 | QValueList<Account> accountsLoaded; | 49 | QValueList<Account> accountsLoaded; |
46 | 50 | ||
47 | private: | 51 | private: |
52 | bool _inLoop; | ||
48 | QString _inReplyTo; | 53 | QString _inReplyTo; |
49 | 54 | ||
50 | }; | 55 | }; |
51 | 56 | ||
52 | #endif | 57 | #endif |
diff --git a/noncore/unsupported/mail2/mainwindow.cpp b/noncore/unsupported/mail2/mainwindow.cpp index 4d15e23..2230dc0 100644 --- a/noncore/unsupported/mail2/mainwindow.cpp +++ b/noncore/unsupported/mail2/mainwindow.cpp | |||
@@ -27,39 +27,39 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl) | |||
27 | connect(mailView, SIGNAL(resetProgress()), statusProgress, SLOT(reset())); | 27 | connect(mailView, SIGNAL(resetProgress()), statusProgress, SLOT(reset())); |
28 | connect(mailView, SIGNAL(stopEnabled(bool)), stop, SLOT(setEnabled(bool))); | 28 | connect(mailView, SIGNAL(stopEnabled(bool)), stop, SLOT(setEnabled(bool))); |
29 | 29 | ||
30 | connect(stop, SIGNAL(activated()), mailView, SLOT(stop())); | 30 | connect(stop, SIGNAL(activated()), mailView, SLOT(stop())); |
31 | 31 | ||
32 | connect(compose, SIGNAL(activated()), SLOT(slotCompose())); | 32 | connect(compose, SIGNAL(activated()), SLOT(slotCompose())); |
33 | connect(findmails, SIGNAL(activated()), SLOT(slotSearch())); | 33 | connect(findmails, SIGNAL(activated()), SLOT(slotSearch())); |
34 | connect(configure, SIGNAL(activated()), SLOT(slotConfigure())); | 34 | connect(configure, SIGNAL(activated()), SLOT(slotConfigure())); |
35 | } | 35 | } |
36 | 36 | ||
37 | void MainWindow::slotCompose() | 37 | void MainWindow::slotCompose() |
38 | { | 38 | { |
39 | Composer *composer = new Composer(); | 39 | Composer composer(this, 0, true); |
40 | composer->showMaximized(); | 40 | composer.showMaximized(); |
41 | composer->show(); | 41 | composer.exec(); |
42 | } | 42 | } |
43 | 43 | ||
44 | void MainWindow::slotSearch() | 44 | void MainWindow::slotSearch() |
45 | { | 45 | { |
46 | SearchDiag *searchDiag = new SearchDiag(this, 0, true); | 46 | SearchDiag searchDiag(this, 0, true); |
47 | searchDiag->showMaximized(); | 47 | searchDiag.showMaximized(); |
48 | searchDiag->show(); | 48 | searchDiag.exec(); |
49 | } | 49 | } |
50 | 50 | ||
51 | void MainWindow::slotConfigure() | 51 | void MainWindow::slotConfigure() |
52 | { | 52 | { |
53 | ConfigDiag *configDiag = new ConfigDiag(this, 0, true); | 53 | ConfigDiag configDiag(this, 0, true); |
54 | configDiag->showMaximized(); | 54 | configDiag.showMaximized(); |
55 | configDiag->show(); | 55 | configDiag.exec(); |
56 | 56 | ||
57 | connect(configDiag, SIGNAL(changed()), folderView, SLOT(update())); | 57 | connect(&configDiag, SIGNAL(changed()), folderView, SLOT(update())); |
58 | } | 58 | } |
59 | 59 | ||
60 | void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) | 60 | void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) |
61 | { | 61 | { |
62 | ViewMail *viewMail = new ViewMail(mail, handler); | 62 | ViewMail viewMail(mail, handler, this, 0, true); |
63 | viewMail->showMaximized(); | 63 | viewMail.showMaximized(); |
64 | viewMail->show(); | 64 | viewMail.exec(); |
65 | } | 65 | } |
diff --git a/noncore/unsupported/mail2/searchdiag.cpp b/noncore/unsupported/mail2/searchdiag.cpp index 33b8afb..907f6ff 100644 --- a/noncore/unsupported/mail2/searchdiag.cpp +++ b/noncore/unsupported/mail2/searchdiag.cpp | |||
@@ -103,26 +103,26 @@ void SearchDiag::slotIMAPFetch(IMAPResponse &response) | |||
103 | { | 103 | { |
104 | disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPSearch(IMAPResponse &))); | 104 | disconnect(response.imapHandler(), SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPSearch(IMAPResponse &))); |
105 | 105 | ||
106 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { | 106 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { |
107 | mailTable->setHeaders(response.FETCH()); | 107 | mailTable->setHeaders(response.FETCH()); |
108 | } else { | 108 | } else { |
109 | QMessageBox::warning(this, tr("Error"), tr("<p>Couldn't fetch the mail headers. (Server said: %1)").arg(response.statusResponse().comment())); | 109 | QMessageBox::warning(this, tr("Error"), tr("<p>Couldn't fetch the mail headers. (Server said: %1)").arg(response.statusResponse().comment())); |
110 | } | 110 | } |
111 | } | 111 | } |
112 | 112 | ||
113 | void SearchDiag::slotMailClicked(IMAPResponseFETCH fetch, IMAPHandler *) | 113 | void SearchDiag::slotMailClicked(IMAPResponseFETCH fetch, IMAPHandler *) |
114 | { | 114 | { |
115 | ViewMail *viewMail = new ViewMail(fetch, _folder.topFolder().handler()); | 115 | ViewMail viewMail(fetch, _folder.topFolder().handler(), this, 0, true); |
116 | viewMail->showMaximized(); | 116 | viewMail.showMaximized(); |
117 | viewMail->show(); | 117 | viewMail.exec(); |
118 | } | 118 | } |
119 | 119 | ||
120 | void SearchDiag::slotInItemActivated(int index) | 120 | void SearchDiag::slotInItemActivated(int index) |
121 | { | 121 | { |
122 | if (index == INMENU_HEADERF) { | 122 | if (index == INMENU_HEADERF) { |
123 | other->setEnabled(true); | 123 | other->setEnabled(true); |
124 | } else { | 124 | } else { |
125 | other->setEnabled(false); | 125 | other->setEnabled(false); |
126 | } | 126 | } |
127 | } | 127 | } |
128 | 128 | ||
diff --git a/noncore/unsupported/mail2/viewmail.cpp b/noncore/unsupported/mail2/viewmail.cpp index ae1f5f3..3c88d99 100644 --- a/noncore/unsupported/mail2/viewmail.cpp +++ b/noncore/unsupported/mail2/viewmail.cpp | |||
@@ -1,38 +1,39 @@ | |||
1 | #include <qtextbrowser.h> | 1 | #include <qtextbrowser.h> |
2 | #include <qmessagebox.h> | 2 | #include <qmessagebox.h> |
3 | #include <qaction.h> | 3 | #include <qaction.h> |
4 | #include <qapplication.h> | ||
4 | 5 | ||
5 | #include "mailfactory.h" | 6 | #include "mailfactory.h" |
6 | #include "composer.h" | 7 | #include "composer.h" |
7 | #include "viewmail.h" | 8 | #include "viewmail.h" |
8 | 9 | ||
9 | AttachItem::AttachItem(QListView *parent, AttachItemStore &attachItemStore) | 10 | AttachItem::AttachItem(QListView *parent, AttachItemStore &attachItemStore) |
10 | : QListViewItem(parent), _attachItemStore(attachItemStore) | 11 | : QListViewItem(parent), _attachItemStore(attachItemStore) |
11 | { | 12 | { |
12 | setText(0, _attachItemStore.mimeType()); | 13 | setText(0, _attachItemStore.mimeType()); |
13 | setText(1, _attachItemStore.fileName()); | 14 | setText(1, _attachItemStore.fileName()); |
14 | setText(2, _attachItemStore.description()); | 15 | setText(2, _attachItemStore.description()); |
15 | } | 16 | } |
16 | 17 | ||
17 | AttachItem::AttachItem(QListViewItem *parent, AttachItemStore &attachItemStore) | 18 | AttachItem::AttachItem(QListViewItem *parent, AttachItemStore &attachItemStore) |
18 | : QListViewItem(parent), _attachItemStore(attachItemStore) | 19 | : QListViewItem(parent), _attachItemStore(attachItemStore) |
19 | { | 20 | { |
20 | setText(0, _attachItemStore.mimeType()); | 21 | setText(0, _attachItemStore.mimeType()); |
21 | setText(1, _attachItemStore.fileName()); | 22 | setText(1, _attachItemStore.fileName()); |
22 | setText(2, _attachItemStore.description()); | 23 | setText(2, _attachItemStore.description()); |
23 | } | 24 | } |
24 | 25 | ||
25 | ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent, const char *name, WFlags fl) | 26 | ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent, const char *name, WFlags fl) |
26 | : ViewMailBase(parent, name, fl), _mail(mail), _handler(handler) | 27 | : ViewMailBase(parent, name, fl), _inLoop(false), _mail(mail), _handler(handler) |
27 | { | 28 | { |
28 | setCaption(caption().arg(mail.envelope().from()[0].name())); | 29 | setCaption(caption().arg(mail.envelope().from()[0].name())); |
29 | 30 | ||
30 | _gotBody = false; | 31 | _gotBody = false; |
31 | _mailHtml = tr( | 32 | _mailHtml = tr( |
32 | "<html><body>" | 33 | "<html><body>" |
33 | "<div align=center><b>%1</b></div>" | 34 | "<div align=center><b>%1</b></div>" |
34 | "<b>From:</b> %2<br>" | 35 | "<b>From:</b> %2<br>" |
35 | "<b>To:</b> %3<br>" | 36 | "<b>To:</b> %3<br>" |
36 | "%4" | 37 | "%4" |
37 | "%5" | 38 | "%5" |
38 | "<b>Date:</b> %6<hr>" | 39 | "<b>Date:</b> %6<hr>" |
@@ -52,24 +53,49 @@ ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *paren | |||
52 | .arg("%1"); | 53 | .arg("%1"); |
53 | 54 | ||
54 | connect(reply, SIGNAL(activated()), SLOT(slotReply())); | 55 | connect(reply, SIGNAL(activated()), SLOT(slotReply())); |
55 | connect(forward, SIGNAL(activated()), SLOT(slotForward())); | 56 | connect(forward, SIGNAL(activated()), SLOT(slotForward())); |
56 | 57 | ||
57 | attachments->setEnabled(_gotBody); | 58 | attachments->setEnabled(_gotBody); |
58 | browser->setText(QString(_mailHtml).arg(tr("Getting mail body from server. Please wait..."))); | 59 | browser->setText(QString(_mailHtml).arg(tr("Getting mail body from server. Please wait..."))); |
59 | 60 | ||
60 | _handler->iUid("FETCH", QString("%1 (BODY[1])").arg(mail.uid())); | 61 | _handler->iUid("FETCH", QString("%1 (BODY[1])").arg(mail.uid())); |
61 | connect(_handler, SIGNAL(gotResponse(IMAPResponse &)), SLOT(slotIMAPUid(IMAPResponse &))); | 62 | connect(_handler, SIGNAL(gotResponse(IMAPResponse &)), SLOT(slotIMAPUid(IMAPResponse &))); |
62 | } | 63 | } |
63 | 64 | ||
65 | ViewMail::~ViewMail() | ||
66 | { | ||
67 | hide(); | ||
68 | } | ||
69 | |||
70 | void ViewMail::hide() | ||
71 | { | ||
72 | QWidget::hide(); | ||
73 | |||
74 | if (_inLoop) { | ||
75 | _inLoop = false; | ||
76 | qApp->exit_loop(); | ||
77 | } | ||
78 | } | ||
79 | |||
80 | void ViewMail::exec() | ||
81 | { | ||
82 | show(); | ||
83 | |||
84 | if (!_inLoop) { | ||
85 | _inLoop = true; | ||
86 | qApp->enter_loop(); | ||
87 | } | ||
88 | } | ||
89 | |||
64 | QString ViewMail::deHtml(const QString &string) | 90 | QString ViewMail::deHtml(const QString &string) |
65 | { | 91 | { |
66 | QString string_ = string; | 92 | QString string_ = string; |
67 | string_.replace(QRegExp("&"), "&"); | 93 | string_.replace(QRegExp("&"), "&"); |
68 | string_.replace(QRegExp("<"), "<"); | 94 | string_.replace(QRegExp("<"), "<"); |
69 | string_.replace(QRegExp(">"), ">"); | 95 | string_.replace(QRegExp(">"), ">"); |
70 | string_.replace(QRegExp("\\n"), "<br>"); | 96 | string_.replace(QRegExp("\\n"), "<br>"); |
71 | return string_; | 97 | return string_; |
72 | } | 98 | } |
73 | 99 | ||
74 | void ViewMail::slotReply() | 100 | void ViewMail::slotReply() |
75 | { | 101 | { |
@@ -92,28 +118,28 @@ void ViewMail::slotReply() | |||
92 | rtext += "\n"; | 118 | rtext += "\n"; |
93 | 119 | ||
94 | QString prefix; | 120 | QString prefix; |
95 | if (_mail.envelope().subject().find(QRegExp("^Re: *$")) != -1) prefix = ""; | 121 | if (_mail.envelope().subject().find(QRegExp("^Re: *$")) != -1) prefix = ""; |
96 | else prefix = "Re: "; // no i18n on purpose | 122 | else prefix = "Re: "; // no i18n on purpose |
97 | 123 | ||
98 | SendMail sendMail; | 124 | SendMail sendMail; |
99 | sendMail.setTo(_mail.envelope().from()[0].toString()); | 125 | sendMail.setTo(_mail.envelope().from()[0].toString()); |
100 | sendMail.setSubject(prefix + _mail.envelope().subject()); | 126 | sendMail.setSubject(prefix + _mail.envelope().subject()); |
101 | sendMail.setInReplyTo(_mail.envelope().messageId()); | 127 | sendMail.setInReplyTo(_mail.envelope().messageId()); |
102 | sendMail.setMessage(rtext); | 128 | sendMail.setMessage(rtext); |
103 | 129 | ||
104 | Composer *composer = new Composer(0, 0, Qt::WType_Modal); | 130 | Composer composer(this, 0, true); |
105 | composer->setSendMail(sendMail); | 131 | composer.setSendMail(sendMail); |
106 | composer->showMaximized(); | 132 | composer.showMaximized(); |
107 | composer->show(); | 133 | composer.exec(); |
108 | } | 134 | } |
109 | 135 | ||
110 | void ViewMail::slotForward() | 136 | void ViewMail::slotForward() |
111 | { | 137 | { |
112 | if (!_gotBody) { | 138 | if (!_gotBody) { |
113 | QMessageBox::information(this, tr("Error"), tr("<p>The mail body is not yet downloaded, so you cannot forward yet."), tr("Ok")); | 139 | QMessageBox::information(this, tr("Error"), tr("<p>The mail body is not yet downloaded, so you cannot forward yet."), tr("Ok")); |
114 | return; | 140 | return; |
115 | } | 141 | } |
116 | 142 | ||
117 | QString ftext; | 143 | QString ftext; |
118 | ftext += QString("\n----- Forwarded message from %1 -----\n\n") | 144 | ftext += QString("\n----- Forwarded message from %1 -----\n\n") |
119 | .arg(_mail.envelope().from()[0].toString()); | 145 | .arg(_mail.envelope().from()[0].toString()); |
@@ -136,28 +162,28 @@ void ViewMail::slotForward() | |||
136 | ftext += QString("Subject: %1\n") | 162 | ftext += QString("Subject: %1\n") |
137 | .arg(_mail.envelope().subject()); | 163 | .arg(_mail.envelope().subject()); |
138 | 164 | ||
139 | ftext += QString("\n%1\n") | 165 | ftext += QString("\n%1\n") |
140 | .arg(_mail.bodyPart(1).data()); | 166 | .arg(_mail.bodyPart(1).data()); |
141 | 167 | ||
142 | ftext += QString("----- End forwarded message -----\n"); | 168 | ftext += QString("----- End forwarded message -----\n"); |
143 | 169 | ||
144 | SendMail sendMail; | 170 | SendMail sendMail; |
145 | sendMail.setSubject("Fwd: " + _mail.envelope().subject()); | 171 | sendMail.setSubject("Fwd: " + _mail.envelope().subject()); |
146 | sendMail.setMessage(ftext); | 172 | sendMail.setMessage(ftext); |
147 | 173 | ||
148 | Composer *composer = new Composer(0, 0, Qt::WType_Modal); | 174 | Composer composer(this, 0, true); |
149 | composer->setSendMail(sendMail); | 175 | composer.setSendMail(sendMail); |
150 | composer->showMaximized(); | 176 | composer.showMaximized(); |
151 | composer->show(); | 177 | composer.exec(); |
152 | } | 178 | } |
153 | 179 | ||
154 | void ViewMail::slotIMAPUid(IMAPResponse &response) | 180 | void ViewMail::slotIMAPUid(IMAPResponse &response) |
155 | { | 181 | { |
156 | disconnect(_handler, SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPUid(IMAPResponse &))); | 182 | disconnect(_handler, SIGNAL(gotResponse(IMAPResponse &)), this, SLOT(slotIMAPUid(IMAPResponse &))); |
157 | 183 | ||
158 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { | 184 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { |
159 | QValueList<IMAPResponseBodyPart> bodyParts; | 185 | QValueList<IMAPResponseBodyPart> bodyParts; |
160 | bodyParts.append(response.FETCH()[0].bodyPart(1)); | 186 | bodyParts.append(response.FETCH()[0].bodyPart(1)); |
161 | _mail.setBodyParts(bodyParts); | 187 | _mail.setBodyParts(bodyParts); |
162 | 188 | ||
163 | browser->setText(QString(_mailHtml).arg(deHtml(response.FETCH()[0].bodyPart(1).data()))); | 189 | browser->setText(QString(_mailHtml).arg(deHtml(response.FETCH()[0].bodyPart(1).data()))); |
diff --git a/noncore/unsupported/mail2/viewmail.h b/noncore/unsupported/mail2/viewmail.h index a013e43..efc2300 100644 --- a/noncore/unsupported/mail2/viewmail.h +++ b/noncore/unsupported/mail2/viewmail.h | |||
@@ -34,32 +34,37 @@ public: | |||
34 | 34 | ||
35 | private: | 35 | private: |
36 | AttachItemStore _attachItemStore; | 36 | AttachItemStore _attachItemStore; |
37 | 37 | ||
38 | }; | 38 | }; |
39 | 39 | ||
40 | class ViewMail : public ViewMailBase | 40 | class ViewMail : public ViewMailBase |
41 | { | 41 | { |
42 | Q_OBJECT | 42 | Q_OBJECT |
43 | 43 | ||
44 | public: | 44 | public: |
45 | ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); | 45 | ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent = 0, const char *name = 0, WFlags fl = Qt::WType_Modal); |
46 | ~ViewMail(); | ||
47 | |||
48 | void hide(); | ||
49 | void exec(); | ||
46 | 50 | ||
47 | protected: | 51 | protected: |
48 | //void fillList(IMAPResponseBODYSTRUCTURE &structure); | 52 | //void fillList(IMAPResponseBODYSTRUCTURE &structure); |
49 | QString deHtml(const QString &string); | 53 | QString deHtml(const QString &string); |
50 | 54 | ||
51 | protected slots: | 55 | protected slots: |
52 | void slotReply(); | 56 | void slotReply(); |
53 | void slotForward(); | 57 | void slotForward(); |
54 | 58 | ||
55 | void slotIMAPUid(IMAPResponse &response); | 59 | void slotIMAPUid(IMAPResponse &response); |
56 | 60 | ||
57 | private: | 61 | private: |
62 | bool _inLoop; | ||
58 | IMAPResponseFETCH _mail; | 63 | IMAPResponseFETCH _mail; |
59 | IMAPHandler *_handler; | 64 | IMAPHandler *_handler; |
60 | QString _mailHtml; | 65 | QString _mailHtml; |
61 | bool _gotBody; | 66 | bool _gotBody; |
62 | 67 | ||
63 | }; | 68 | }; |
64 | 69 | ||
65 | #endif | 70 | #endif |