summaryrefslogtreecommitdiff
path: root/noncore/net/mailit/writemail.cpp
Unidiff
Diffstat (limited to 'noncore/net/mailit/writemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/writemail.cpp103
1 files changed, 89 insertions, 14 deletions
diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp
index 38a2596..a9dcb02 100644
--- a/noncore/net/mailit/writemail.cpp
+++ b/noncore/net/mailit/writemail.cpp
@@ -85,5 +85,7 @@ void WriteMail::init()
85 recipientsBox->insertItem( tr( "To:" ) ); 85 recipientsBox->insertItem( tr( "To:" ) );
86 recipientsBox->insertItem( tr( "CC:" ) ); 86 recipientsBox->insertItem( tr( "CC:" ) );
87 recipientsBox->setCurrentItem(0); 87 recipientsBox->setCurrentItem(0);
88 grid->addWidget( recipientsBox, 0, 0 ); 88 grid->addWidget( recipientsBox, 0, 0 );
89 connect(recipientsBox,SIGNAL(activated(int)),this, SLOT(changeRecipients(int)));
90
89 91
@@ -104,2 +106,7 @@ void WriteMail::init()
104 106
107 ccInput = new QLineEdit( widget, "ccInput" );
108 ccInput->hide();
109 grid->addWidget( ccInput, 0, 1 );
110
111
105 addressButton = new QToolButton( widget, "addressButton" ); 112 addressButton = new QToolButton( widget, "addressButton" );
@@ -141,11 +148,22 @@ void WriteMail::accept()
141 148
142 if (toInput->text() == "") { 149 if (toInput->text() == "")
143 QMessageBox::warning(this,"No recipient", "Send mail to whom?", "OK\n"); 150 {
151 QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n"));
152 return;
153 }
154
155 if (! getRecipients(false) )
156 {
157 QMessageBox::warning(this,tr("Incorrect recipient separator"),
158 tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
144 return; 159 return;
145 } 160 }
146 if (! getRecipients() ) { 161
147 QMessageBox::warning(this,"Incorrect recipient separator", 162 if ((ccInput->text()!="") && (! getRecipients(true) ))
148 "Recipients must be separated by ;\nand be valid emailaddresses", "OK\n"); 163 {
164 QMessageBox::warning(this,tr("Incorrect carbon copy separator"),
165 tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n"));
149 return; 166 return;
150 } 167 }
168
151 mail.subject = subjectInput->text(); 169 mail.subject = subjectInput->text();
@@ -154,2 +172,3 @@ void WriteMail::accept()
154 mail.received = false; 172 mail.received = false;
173
155 mail.rawMail = "To: "; 174 mail.rawMail = "To: ";
@@ -162,3 +181,14 @@ void WriteMail::accept()
162 } 181 }
182
163 mail.rawMail.truncate(mail.rawMail.length()-2); 183 mail.rawMail.truncate(mail.rawMail.length()-2);
184
185 mail.rawMail += "\nCC: ";
186
187 for (QStringList::Iterator it = mail.carbonCopies.begin();
188 it != mail.carbonCopies.end(); ++it) {
189
190 mail.rawMail += (*it);
191 mail.rawMail += ",\n";
192 }
193
164 mail.rawMail += mail.from; 194 mail.rawMail += mail.from;
@@ -213,3 +243,3 @@ void WriteMail::attatchFile()
213 243
214void WriteMail::reply(Email replyMail) 244void WriteMail::reply(Email replyMail, bool replyAll)
215{ 245{
@@ -221,3 +251,7 @@ void WriteMail::reply(Email replyMail)
221 toInput->setText(mail.fromMail); 251 toInput->setText(mail.fromMail);
222 subjectInput->setText("Re: " + mail.subject); 252 //replyAll ? ccInput->setText(mail.c)
253
254 addRecipients(replyAll);
255
256 subjectInput->setText(tr("Re: ") + mail.subject);
223 257
@@ -234,3 +268,22 @@ void WriteMail::reply(Email replyMail)
234 268
235bool WriteMail::getRecipients() 269void WriteMail::forward(Email forwMail)
270{
271 int pos=0;
272
273 QString fwdBody=tr("======forwarded message from ");
274 fwdBody.append(forwMail.fromMail);
275 fwdBody.append(tr(" starts======\n\n"));
276
277 mail=forwMail;
278 toInput->setText("");
279 ccInput->setText("");
280 subjectInput->setText(tr("FWD: ") + mail.subject);
281
282 fwdBody+=mail.body;
283 fwdBody+=QString(tr("======end of forwarded message======\n\n"));
284
285 emailInput->setText(fwdBody);
286}
287
288bool WriteMail::getRecipients(bool ccField)
236{ 289{
@@ -241,3 +294,4 @@ bool WriteMail::getRecipients()
241 294
242 temp = toInput->text(); 295 ccField ? temp = ccInput->text() : temp=toInput->text() ;
296
243 while ( (pos = temp.find(';')) != -1) { 297 while ( (pos = temp.find(';')) != -1) {
@@ -247,3 +301,3 @@ bool WriteMail::getRecipients()
247 return false; 301 return false;
248 mail.recipients.append(str); 302 ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str);
249 addressList->addContact(str, ""); 303 addressList->addContact(str, "");
@@ -253,3 +307,3 @@ bool WriteMail::getRecipients()
253 return false; 307 return false;
254 mail.recipients.append(temp); 308 ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp);
255 addressList->addContact(temp, ""); 309 addressList->addContact(temp, "");
@@ -258,3 +312,2 @@ bool WriteMail::getRecipients()
258} 312}
259
260 313
@@ -262,2 +315,8 @@ void WriteMail::addRecipients()
262{ 315{
316
317 addRecipients(false);
318 }
319
320void WriteMail::addRecipients(bool ccField)
321{
263 QString recipients = ""; 322 QString recipients = "";
@@ -265,2 +324,3 @@ void WriteMail::addRecipients()
265 mail.recipients.clear(); 324 mail.recipients.clear();
325
266 QListViewItem *item = addressView->firstChild(); 326 QListViewItem *item = addressView->firstChild();
@@ -276,3 +336,4 @@ void WriteMail::addRecipients()
276 } 336 }
277 toInput->setText(recipients); 337
338 ccField ? ccInput->setText(recipients):toInput->setText(recipients);
278 339
@@ -285,2 +346,16 @@ void WriteMail::addRecipients()
285 346
347void WriteMail::changeRecipients(int selection)
348{
349 if (selection==0)
350 {
351 toInput->show();
352 ccInput->hide();
353 }
354 else if (selection==1)
355 {
356 toInput->hide();
357 ccInput->show();
358 }
359}
360
286void WriteMail::setRecipient(const QString &recipient) 361void WriteMail::setRecipient(const QString &recipient)