summaryrefslogtreecommitdiffabout
path: root/kmicromail
authorzautrix <zautrix>2005-02-04 10:23:55 (UTC)
committer zautrix <zautrix>2005-02-04 10:23:55 (UTC)
commit83256090c493dab56f1afba4829e864598bf70d2 (patch) (unidiff)
tree8d5b7ee0c6fe42f0f14c53b80c924ccddd5a1599 /kmicromail
parenta96872e5ecff3a8fb1785aff71f5f7f150ef8604 (diff)
downloadkdepimpi-83256090c493dab56f1afba4829e864598bf70d2.zip
kdepimpi-83256090c493dab56f1afba4829e864598bf70d2.tar.gz
kdepimpi-83256090c493dab56f1afba4829e864598bf70d2.tar.bz2
mail send
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp14
-rw-r--r--kmicromail/opiemail.cpp33
-rw-r--r--kmicromail/opiemail.h5
3 files changed, 48 insertions, 4 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index ed8a2ee..3231b45 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -50,18 +50,19 @@
50//using namespace Opie::Core; 50//using namespace Opie::Core;
51//using namespace Opie::Ui; 51//using namespace Opie::Ui;
52ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) 52ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal )
53 : ComposeMailUI( parent, name, modal ) 53 : ComposeMailUI( parent, name, modal )
54{ 54{
55 55
56 mPickLineEdit = 0; 56 mPickLineEdit = 0;
57 mEncoding = KOPrefs::instance()->mCurrentCodeName; 57 mEncoding = KOPrefs::instance()->mCurrentCodeName;
58 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 58 //managed from opiemail now
59 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 59 //connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
60 // this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
60 settings = sett; 61 settings = sett;
61 m_replyid = ""; 62 m_replyid = "";
62 if ( KOPrefs::instance()->mUseKapi) { 63 if ( KOPrefs::instance()->mUseKapi) {
63 KConfig config( locateLocal("config", "kabcrc") ); 64 KConfig config( locateLocal("config", "kabcrc") );
64 config.setGroup( "General" ); 65 config.setGroup( "General" );
65 QString whoami_uid = config.readEntry( "WhoAmI" ); 66 QString whoami_uid = config.readEntry( "WhoAmI" );
66 67
67 if ( whoami_uid.isEmpty() ) { 68 if ( whoami_uid.isEmpty() ) {
@@ -255,16 +256,23 @@ void ComposeMail::pickAddress( )
255#endif 256#endif
256} 257}
257//the map includes name/email pairs, that comes from Ka/Pi 258//the map includes name/email pairs, that comes from Ka/Pi
258void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 259void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
259{ 260{
260 //qDebug("ComposeMail::insertAttendees "); 261 //qDebug("ComposeMail::insertAttendees ");
261 raise(); 262 raise();
262 263
264 QString UID = uid;
265 if ( uid.left( 18 ) == (this->name() +QString("pick2")) ) {
266 mPickLineEdit = toLine;
267 UID = this->name();
268 subjectLine->setText( uid.mid( 18 ) );
269 }
270 //qDebug("ccc %s %s ", uid.latin1(), this->name());
263 if ( mPickLineEdit == 0 ) { //whoami received 271 if ( mPickLineEdit == 0 ) { //whoami received
264 QString defmail = uidList[0]; 272 QString defmail = uidList[0];
265 if ( emailList.count() == 0 ) 273 if ( emailList.count() == 0 )
266 QMessageBox::information( 0, i18n( "Hint" ), 274 QMessageBox::information( 0, i18n( "Hint" ),
267 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 275 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
268 i18n( "Ok" ) ); 276 i18n( "Ok" ) );
269 if (defmail.length()!=0) { 277 if (defmail.length()!=0) {
270 fromBox->insertItem(defmail); 278 fromBox->insertItem(defmail);
@@ -276,17 +284,17 @@ void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameLis
276 continue; 284 continue;
277 fromBox->insertItem((*sit)); 285 fromBox->insertItem((*sit));
278 } 286 }
279 senderNameEdit->setText(nameList[0]); 287 senderNameEdit->setText(nameList[0]);
280 return; 288 return;
281 } 289 }
282 QString names ; 290 QString names ;
283 QLineEdit *line = mPickLineEdit; 291 QLineEdit *line = mPickLineEdit;
284 if (uid == this->name()) 292 if (UID == this->name())
285 { 293 {
286 for ( int i = 0; i < nameList.count(); i++) 294 for ( int i = 0; i < nameList.count(); i++)
287 { 295 {
288 QString _name = nameList[i]; 296 QString _name = nameList[i];
289 QString _email = emailList[i]; 297 QString _email = emailList[i];
290 QString _uid = uidList[i]; 298 QString _uid = uidList[i];
291 if ( ! _email.isEmpty() ) { 299 if ( ! _email.isEmpty() ) {
292 if ( ! names.isEmpty() ) 300 if ( ! names.isEmpty() )
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index f56711d..e159b73 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -41,21 +41,23 @@
41#include <libmailwrapper/abstractmail.h> 41#include <libmailwrapper/abstractmail.h>
42#include "koprefs.h" 42#include "koprefs.h"
43 43
44//using namespace Opie::Core; 44//using namespace Opie::Core;
45 45
46OpieMail::OpieMail( QWidget *parent, const char *name ) 46OpieMail::OpieMail( QWidget *parent, const char *name )
47 : MainWindow( parent, name) //, WStyle_ContextHelp ) 47 : MainWindow( parent, name) //, WStyle_ContextHelp )
48{ 48{
49 mCurrentComposer = 0;
49 settings = new Settings(); 50 settings = new Settings();
50 tb = 0; 51 tb = 0;
51 setIcon(SmallIcon( "kmicromail" ) ); 52 setIcon(SmallIcon( "kmicromail" ) );
52 folderView->populate( settings->getAccounts() ); 53 folderView->populate( settings->getAccounts() );
53 54 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
55 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
54} 56}
55 57
56OpieMail::~OpieMail() 58OpieMail::~OpieMail()
57{ 59{
58 if (settings) delete settings; 60 if (settings) delete settings;
59 if ( tb ) 61 if ( tb )
60 delete tb; 62 delete tb;
61} 63}
@@ -133,17 +135,19 @@ void OpieMail::slotwriteMail2(const QString& namemail )
133 compose.setSubject( to.mid(sub+2) ); 135 compose.setSubject( to.mid(sub+2) );
134 } else 136 } else
135 compose.setTo( to ); 137 compose.setTo( to );
136 } 138 }
137 compose.slotAdjustColumns(); 139 compose.slotAdjustColumns();
138#ifndef DESKTOP_VERSION 140#ifndef DESKTOP_VERSION
139 compose.showMaximized(); 141 compose.showMaximized();
140#endif 142#endif
143 mCurrentComposer = &compose;
141 compose.exec(); 144 compose.exec();
145 mCurrentComposer = 0;
142 raise(); 146 raise();
143 //qDebug("retttich "); 147 //qDebug("retttich ");
144} 148}
145void OpieMail::slotwriteMail(const QString&name,const QString&email) 149void OpieMail::slotwriteMail(const QString&name,const QString&email)
146{ 150{
147 // qDebug("OpieMail::slotwriteMail "); 151 // qDebug("OpieMail::slotwriteMail ");
148 ComposeMail compose( settings, this, 0, true ); 152 ComposeMail compose( settings, this, 0, true );
149 if (!email.isEmpty()) 153 if (!email.isEmpty())
@@ -156,17 +160,20 @@ void OpieMail::slotwriteMail(const QString&name,const QString&email)
156 { 160 {
157 compose.setTo(email); 161 compose.setTo(email);
158 } 162 }
159 } 163 }
160 compose.slotAdjustColumns(); 164 compose.slotAdjustColumns();
161#ifndef DESKTOP_VERSION 165#ifndef DESKTOP_VERSION
162 compose.showMaximized(); 166 compose.showMaximized();
163#endif 167#endif
168
169 mCurrentComposer = &compose;
164 compose.exec(); 170 compose.exec();
171 mCurrentComposer = 0;
165 raise(); 172 raise();
166} 173}
167 174
168void OpieMail::slotComposeMail() 175void OpieMail::slotComposeMail()
169{ 176{
170 if ( mPendingEmail == QString::null && mPendingName == QString::null) 177 if ( mPendingEmail == QString::null && mPendingName == QString::null)
171 slotwriteMail2( QString () ); 178 slotwriteMail2( QString () );
172 else { 179 else {
@@ -295,20 +302,23 @@ void OpieMail::replyMail()
295 composer.setTo( mail->getFrom()); 302 composer.setTo( mail->getFrom());
296 } else { 303 } else {
297 composer.setTo( mail->Replyto()); 304 composer.setTo( mail->Replyto());
298 } 305 }
299 composer.setSubject( prefix + mail->getSubject()); 306 composer.setSubject( prefix + mail->getSubject());
300 composer.setMessage( rtext ); 307 composer.setMessage( rtext );
301 composer.setInReplyTo( mail->Msgid()); 308 composer.setInReplyTo( mail->Msgid());
302 composer.setCharset( body->getCharset() ); 309 composer.setCharset( body->getCharset() );
310
311 mCurrentComposer = &composer;
303 if ( QDialog::Accepted == KApplication::execDialog( &composer ) ) 312 if ( QDialog::Accepted == KApplication::execDialog( &composer ) )
304 { 313 {
305 mail->Wrapper()->answeredMail(mail); 314 mail->Wrapper()->answeredMail(mail);
306 } 315 }
316 mCurrentComposer = 0;
307 delete settings; 317 delete settings;
308 318
309} 319}
310void OpieMail::closeViewMail(ViewMail * vm) 320void OpieMail::closeViewMail(ViewMail * vm)
311{ 321{
312 vm->hide(); 322 vm->hide();
313} 323}
314 324
@@ -632,10 +642,31 @@ void OpieMail::reEditMail()
632 ComposeMail compose( settings, this, 0, true ); 642 ComposeMail compose( settings, this, 0, true );
633 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data()); 643 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data());
634 compose.slotAdjustColumns(); 644 compose.slotAdjustColumns();
635#ifndef DESKTOP_VERSION 645#ifndef DESKTOP_VERSION
636 compose.showMaximized(); 646 compose.showMaximized();
637#else 647#else
638 compose.resize(640,480); 648 compose.resize(640,480);
639#endif 649#endif
650 mCurrentComposer = &compose;
640 compose.exec(); 651 compose.exec();
652 mCurrentComposer = 0;
653}
654
655void OpieMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
656{
657
658 if ( mCurrentComposer ) {
659 mCurrentComposer->insertAttendees(uid,nameList,emailList,uidList);
660 } else {
661 ComposeMail compose( settings, this, 0, true );
662 compose.slotAdjustColumns();
663#ifndef DESKTOP_VERSION
664 compose.showMaximized();
665#endif
666 mCurrentComposer = &compose;
667 mCurrentComposer->insertAttendees(uid,nameList,emailList,uidList);
668 compose.exec();
669 mCurrentComposer = 0;
670 raise();
671 }
641} 672}
diff --git a/kmicromail/opiemail.h b/kmicromail/opiemail.h
index b8a527f..4f75b3f 100644
--- a/kmicromail/opiemail.h
+++ b/kmicromail/opiemail.h
@@ -3,16 +3,19 @@
3#define OPIEMAIL_H 3#define OPIEMAIL_H
4 4
5#include "mainwindow.h" 5#include "mainwindow.h"
6#include <libmailwrapper/settings.h> 6#include <libmailwrapper/settings.h>
7 7
8#include <opie2/osmartpointer.h> 8#include <opie2/osmartpointer.h>
9#include <libmailwrapper/mailtypes.h> 9#include <libmailwrapper/mailtypes.h>
10#include <viewmail.h> 10#include <viewmail.h>
11#include <qstringlist.h>
12
13class ComposeMail;
11 14
12class OpieMail : public MainWindow 15class OpieMail : public MainWindow
13{ 16{
14 Q_OBJECT 17 Q_OBJECT
15 18
16public: 19public:
17 OpieMail( QWidget *parent = 0, const char *name = 0 ); 20 OpieMail( QWidget *parent = 0, const char *name = 0 );
18 virtual ~OpieMail(); 21 virtual ~OpieMail();
@@ -20,16 +23,17 @@ public:
20 23
21public slots: 24public slots:
22 virtual void slotwriteMail(const QString&name,const QString&email); 25 virtual void slotwriteMail(const QString&name,const QString&email);
23 virtual void slotwriteMail2(const QString&nameemail); 26 virtual void slotwriteMail2(const QString&nameemail);
24 virtual void slotComposeMail(); 27 virtual void slotComposeMail();
25 virtual void slotExtAppHandler(); 28 virtual void slotExtAppHandler();
26 virtual void appMessage(const QCString &msg, const QByteArray &data); 29 virtual void appMessage(const QCString &msg, const QByteArray &data);
27 virtual void message(const QCString &msg, const QByteArray &data); 30 virtual void message(const QCString &msg, const QByteArray &data);
31 void insertAttendees(const QString&, const QStringList& namelist, const QStringList& emaillist, const QStringList& uidlist);
28protected slots: 32protected slots:
29 virtual void deleteAndDisplayNextMail(ViewMail * vm); 33 virtual void deleteAndDisplayNextMail(ViewMail * vm);
30 virtual void displayNextMail(ViewMail * vm); 34 virtual void displayNextMail(ViewMail * vm);
31 virtual void slotSendQueued(); 35 virtual void slotSendQueued();
32 virtual void slotSearchMails(); 36 virtual void slotSearchMails();
33 virtual void slotEditSettings(); 37 virtual void slotEditSettings();
34 virtual void slotEditAccounts(); 38 virtual void slotEditAccounts();
35 virtual void displayMail(); 39 virtual void displayMail();
@@ -43,16 +47,17 @@ protected slots:
43 virtual void refreshMailView(const QValueList<RecMailP>&); 47 virtual void refreshMailView(const QValueList<RecMailP>&);
44 virtual void mailLeftClicked( QListViewItem * ); 48 virtual void mailLeftClicked( QListViewItem * );
45 virtual void slotMoveCopyMail(); 49 virtual void slotMoveCopyMail();
46 virtual void slotMoveCopyAllMail(); 50 virtual void slotMoveCopyAllMail();
47 virtual void reEditMail(); 51 virtual void reEditMail();
48 void clearSelection(); 52 void clearSelection();
49 void slotDownloadMail(); 53 void slotDownloadMail();
50private: 54private:
55 ComposeMail* mCurrentComposer;
51 void closeViewMail(ViewMail * vm); 56 void closeViewMail(ViewMail * vm);
52 QString mPendingEmail; 57 QString mPendingEmail;
53 QString mPendingName; 58 QString mPendingName;
54 QByteArray mPendingData; 59 QByteArray mPendingData;
55 QCString mPendingMessage; 60 QCString mPendingMessage;
56 Settings *settings; 61 Settings *settings;
57 QTextBrowser * tb; 62 QTextBrowser * tb;
58 63