summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/mail2/composer.cpp28
-rw-r--r--noncore/unsupported/mail2/composer.h5
-rw-r--r--noncore/unsupported/mail2/mainwindow.cpp26
-rw-r--r--noncore/unsupported/mail2/searchdiag.cpp6
-rw-r--r--noncore/unsupported/mail2/viewmail.cpp44
-rw-r--r--noncore/unsupported/mail2/viewmail.h5
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
@@ -5,8 +5,9 @@
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"
@@ -24,9 +25,9 @@ AttachViewItem::AttachViewItem(QListView *parent, Attachment &attachment)
24 setText(1, _attachment.description()); 25 setText(1, _attachment.description());
25} 26}
26 27
27Composer::Composer(QWidget *parent, const char *name, WFlags fl) 28Composer::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
@@ -42,8 +43,33 @@ Composer::Composer(QWidget *parent, const char *name, WFlags fl)
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
47Composer::~Composer()
48{
49 hide();
50}
51
52void Composer::hide()
53{
54 QWidget::hide();
55
56 if (_inLoop) {
57 _inLoop = false;
58 qApp->exit_loop();
59 }
60}
61
62void Composer::exec()
63{
64 show();
65
66 if (!_inLoop) {
67 _inLoop = true;
68 qApp->enter_loop();
69 }
70}
71
46void Composer::setSendMail(SendMail &sendMail) 72void 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());
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
@@ -25,8 +25,12 @@ class Composer : public ComposerBase
25 Q_OBJECT 25 Q_OBJECT
26 26
27public: 27public:
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
32protected slots: 36protected slots:
@@ -44,8 +48,9 @@ protected slots:
44protected: 48protected:
45 QValueList<Account> accountsLoaded; 49 QValueList<Account> accountsLoaded;
46 50
47private: 51private:
52 bool _inLoop;
48 QString _inReplyTo; 53 QString _inReplyTo;
49 54
50}; 55};
51 56
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
@@ -35,31 +35,31 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags fl)
35} 35}
36 36
37void MainWindow::slotCompose() 37void 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
44void MainWindow::slotSearch() 44void 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
51void MainWindow::slotConfigure() 51void 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
60void MainWindow::mailClicked(IMAPResponseFETCH mail, IMAPHandler *handler) 60void 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
@@ -111,11 +111,11 @@ void SearchDiag::slotIMAPFetch(IMAPResponse &response)
111} 111}
112 112
113void SearchDiag::slotMailClicked(IMAPResponseFETCH fetch, IMAPHandler *) 113void 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
120void SearchDiag::slotInItemActivated(int index) 120void SearchDiag::slotInItemActivated(int index)
121{ 121{
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,7 +1,8 @@
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"
@@ -22,9 +23,9 @@ AttachItem::AttachItem(QListViewItem *parent, AttachItemStore &attachItemStore)
22 setText(2, _attachItemStore.description()); 23 setText(2, _attachItemStore.description());
23} 24}
24 25
25ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *parent, const char *name, WFlags fl) 26ViewMail::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;
@@ -60,8 +61,33 @@ ViewMail::ViewMail(IMAPResponseFETCH &mail, IMAPHandler *handler, QWidget *paren
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
65ViewMail::~ViewMail()
66{
67 hide();
68}
69
70void ViewMail::hide()
71{
72 QWidget::hide();
73
74 if (_inLoop) {
75 _inLoop = false;
76 qApp->exit_loop();
77 }
78}
79
80void ViewMail::exec()
81{
82 show();
83
84 if (!_inLoop) {
85 _inLoop = true;
86 qApp->enter_loop();
87 }
88}
89
64QString ViewMail::deHtml(const QString &string) 90QString ViewMail::deHtml(const QString &string)
65{ 91{
66 QString string_ = string; 92 QString string_ = string;
67 string_.replace(QRegExp("&"), "&amp;"); 93 string_.replace(QRegExp("&"), "&amp;");
@@ -100,12 +126,12 @@ void ViewMail::slotReply()
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
110void ViewMail::slotForward() 136void ViewMail::slotForward()
111{ 137{
@@ -144,12 +170,12 @@ void ViewMail::slotForward()
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
154void ViewMail::slotIMAPUid(IMAPResponse &response) 180void ViewMail::slotIMAPUid(IMAPResponse &response)
155{ 181{
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
@@ -42,8 +42,12 @@ class ViewMail : public ViewMailBase
42 Q_OBJECT 42 Q_OBJECT
43 43
44public: 44public:
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
47protected: 51protected:
48 //void fillList(IMAPResponseBODYSTRUCTURE &structure); 52 //void fillList(IMAPResponseBODYSTRUCTURE &structure);
49 QString deHtml(const QString &string); 53 QString deHtml(const QString &string);
@@ -54,8 +58,9 @@ protected slots:
54 58
55 void slotIMAPUid(IMAPResponse &response); 59 void slotIMAPUid(IMAPResponse &response);
56 60
57private: 61private:
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;