summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-04 10:23:55 (UTC)
committer zautrix <zautrix>2005-02-04 10:23:55 (UTC)
commit83256090c493dab56f1afba4829e864598bf70d2 (patch) (unidiff)
tree8d5b7ee0c6fe42f0f14c53b80c924ccddd5a1599
parenta96872e5ecff3a8fb1785aff71f5f7f150ef8604 (diff)
downloadkdepimpi-83256090c493dab56f1afba4829e864598bf70d2.zip
kdepimpi-83256090c493dab56f1afba4829e864598bf70d2.tar.gz
kdepimpi-83256090c493dab56f1afba4829e864598bf70d2.tar.bz2
mail send
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt3
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt5
-rw-r--r--kaddressbook/kabcore.cpp2
-rw-r--r--kmicromail/composemail.cpp14
-rw-r--r--kmicromail/opiemail.cpp33
-rw-r--r--kmicromail/opiemail.h5
-rw-r--r--korganizer/koeventviewer.cpp56
-rw-r--r--korganizer/koeventviewer.h3
-rw-r--r--libkdepim/externalapphandler.cpp1
9 files changed, 114 insertions, 8 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 8af7da2..e24ee43 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -8,4 +8,7 @@ Open list view (or search dialog), select the desired items and choose in
8the popup menu: Set alarm for selected... 8the popup menu: Set alarm for selected...
9 9
10Added to the event/todo viewer the option to send an email to
11all attendees or all selected (with RSVP) attendees.
12
10********** VERSION 2.0.2 ************ 13********** VERSION 2.0.2 ************
11 14
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 12b70a0..8c3b1e4 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1212,4 +1212,9 @@
1212{ "Set Alarm!","Setze Alarm!" }, 1212{ "Set Alarm!","Setze Alarm!" },
1213{ "Canged alarm for %1 items","Alarm für %1 Items geändert" }, 1213{ "Canged alarm for %1 items","Alarm für %1 Items geändert" },
1214{ " and "," und " },
1215{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
1216{ "Mail to selected","Mail an Ausgewählte" },
1217{ "Mail to all","Mail an Alle" },
1218{ "","" },
1214{ "","" }, 1219{ "","" },
1215{ "","" }, 1220{ "","" },
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 702eaa3..a8e4de5 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2498,5 +2498,5 @@ void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QSt
2498 uidList.append(list[i].uid()); 2498 uidList.append(list[i].uid());
2499 } 2499 }
2500 2500 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1());
2501 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2501 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
2502 2502
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index ed8a2ee..3231b45 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -56,6 +56,7 @@ ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, boo
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 = "";
@@ -261,4 +262,11 @@ void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameLis
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];
@@ -282,5 +290,5 @@ void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameLis
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++)
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index f56711d..e159b73 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -47,9 +47,11 @@ OpieMail::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
@@ -139,5 +141,7 @@ void OpieMail::slotwriteMail2(const QString& namemail )
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 ");
@@ -162,5 +166,8 @@ void OpieMail::slotwriteMail(const QString&name,const QString&email)
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}
@@ -301,8 +308,11 @@ void OpieMail::replyMail()
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
@@ -638,4 +648,25 @@ void OpieMail::reEditMail()
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
@@ -9,4 +9,7 @@
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
@@ -26,4 +29,5 @@ public slots:
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);
@@ -49,4 +53,5 @@ protected slots:
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;
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp
index 7dc1880..bf41edb 100644
--- a/korganizer/koeventviewer.cpp
+++ b/korganizer/koeventviewer.cpp
@@ -127,6 +127,14 @@ void KOEventViewer::setSource(const QString& n)
127 // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1()); 127 // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1());
128#ifndef DESKTOP_VERSION 128#ifndef DESKTOP_VERSION
129 if ( n.mid(7,3) == "ALL" ) {
130 qDebug("all ");
131 mailToAttendees( true );
132 } else if ( n.mid(7,4) == "RSVP" ) {
133 mailToAttendees( false );
134 qDebug("rsvp ");
135 } else {
129 QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" ); 136 QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" );
130 e << n.mid(7); 137 e << n.mid(7);
138 }
131#endif 139#endif
132 140
@@ -175,5 +183,24 @@ void KOEventViewer::setSource(const QString& n)
175#endif 183#endif
176} 184}
185void KOEventViewer::mailToAttendees( bool all )
186{
187 QPtrList<Attendee> attendees = mCurrentIncidence->attendees();
188 if (attendees.count() == 0) return;
189 QStringList nameList;
190 QStringList emailList;
191 QStringList uidList;
192 Attendee* a;
193 for(a=attendees.first();a;a=attendees.next()) {
194 if ( !all && !a->RSVP() ) continue;
195 if (!a->email().isEmpty()) {
196 nameList.append (a->name() );
197 emailList.append (a->email() );
198 uidList.append (a->uid() );
199 }
200 }
201 QString uid = "ComposeMailUIpick2"+mMailSubject;
202 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList);
177 203
204}
178void KOEventViewer::addTag(const QString & tag,const QString & text) 205void KOEventViewer::addTag(const QString & tag,const QString & text)
179{ 206{
@@ -463,4 +490,7 @@ void KOEventViewer::formatAttendees(Incidence *event)
463 Attendee *a; 490 Attendee *a;
464 mText.append("<ul>"); 491 mText.append("<ul>");
492 int a_count = 0;
493 int a_count_nr = 0;
494
465 for(a=attendees.first();a;a=attendees.next()) { 495 for(a=attendees.first();a;a=attendees.next()) {
466#ifndef KORG_NOKABC 496#ifndef KORG_NOKABC
@@ -502,8 +532,12 @@ void KOEventViewer::formatAttendees(Incidence *event)
502 if (iconPath) { 532 if (iconPath) {
503 mText += "<a href=\"mailto:" + a->name() +" <" + a->email() + ">:" + mMailSubject + "\">"; 533 mText += "<a href=\"mailto:" + a->name() +" <" + a->email() + ">:" + mMailSubject + "\">";
504 if ( a->RSVP() ) 534 if ( a->RSVP() ) {
535 ++a_count;
505 mText += "<IMG src=\"" + iconPath + "\">"; 536 mText += "<IMG src=\"" + iconPath + "\">";
506 else 537 }
538 else {
539 ++a_count_nr;
507 mText += "<IMG src=\"" + NOiconPath + "\">"; 540 mText += "<IMG src=\"" + NOiconPath + "\">";
541 }
508 mText += "</a>\n"; 542 mText += "</a>\n";
509 } 543 }
@@ -515,4 +549,22 @@ void KOEventViewer::formatAttendees(Incidence *event)
515 } 549 }
516 mText.append("</li></ul>"); 550 mText.append("</li></ul>");
551 if ( a_count > 1 ) {
552 mText += "<a href=\"mailto:ALL\">";
553 mText += i18n( "Mail to all" );
554 mText += "</a> ( ";
555 mText += "<IMG src=\"" + iconPath + "\">";
556 mText += i18n( " and " );
557 mText += "<IMG src=\"" + NOiconPath + "\"> )";
558 mText += "<br>\n";
559
560
561 }
562 if ( a_count_nr > 1 ) {
563 mText += "<a href=\"mailto:RSVP\">";
564 mText += i18n( "Mail to selected" );
565 mText += "</a> ( ";
566 mText += i18n( "<IMG src=\"%1\"> only )").arg ( iconPath );
567 mText += "\n";
568 }
517 } 569 }
518 570
diff --git a/korganizer/koeventviewer.h b/korganizer/koeventviewer.h
index 0cd3f33..cf44284 100644
--- a/korganizer/koeventviewer.h
+++ b/korganizer/koeventviewer.h
@@ -52,4 +52,5 @@ class KOEventViewer : public QTextBrowser {
52 void setSyncMode( bool ); 52 void setSyncMode( bool );
53 void setColorMode( int ); 53 void setColorMode( int );
54 void mailToAttendees( bool all );
54 55
55 protected: 56 protected:
@@ -67,5 +68,5 @@ class KOEventViewer : public QTextBrowser {
67 QString mText; 68 QString mText;
68 QString mMailSubject; 69 QString mMailSubject;
69 Incidence* mCurrentIncidence; 70 Incidence* mCurrentIncidence;
70 signals: 71 signals:
71 void launchaddressbook(QString uid); 72 void launchaddressbook(QString uid);
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index 3079141..7200da9 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -1132,4 +1132,5 @@ void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& dat
1132 1132
1133 if ( cmsg == "nextView()" ) { 1133 if ( cmsg == "nextView()" ) {
1134 qDebug("nextView()");
1134 emit nextView(); 1135 emit nextView();
1135 return; 1136 return;