summaryrefslogtreecommitdiffabout
path: root/libkdepim
Unidiff
Diffstat (limited to 'libkdepim') (more/less context) (show whitespace changes)
-rw-r--r--libkdepim/externalapphandler.cpp70
1 files changed, 48 insertions, 22 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index 5a56d68..1093abf 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -93,13 +93,13 @@ void ExternalAppHandler::loadConfig()
93 93
94 if (( QFile::exists( qtopiapath + "/bin/ompi" )) || 94 if (( QFile::exists( qtopiapath + "/bin/ompi" )) ||
95 ( QFile::exists( opiepath + "/bin/ompi" ))) 95 ( QFile::exists( opiepath + "/bin/ompi" )))
96 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OMPI_EMC, "OM/Pi email client", "QPE/Application/ompi", "newMail(QString)", "%1", mailmsg2, "ATTACHMENT=%1"); 96 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OMPI_EMC, "OM/Pi email client", "QPE/Application/ompi", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
97 97
98 if ( QFile::exists( qtopiapath + "/bin/qtmail" )) 98 if ( QFile::exists( qtopiapath + "/bin/qtmail" ))
99 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::QTOPIA_EMC, "Qtopia email client", "QPE/Application/qtmail", mailmsg1, ";%1", mailmsg2, "ATTACHMENT=%1"); 99 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::QTOPIA_EMC, "Qtopia email client", "QPE/Application/qtmail", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
100 100
101 if ( QFile::exists( opiepath + "/bin/opiemail" )) 101 if ( QFile::exists( opiepath + "/bin/opiemail" ))
102 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OPIE_EMC, "Opie email client", "QPE/Application/opiemail", mailmsg1, ";%1", mailmsg2, "ATTACHMENT=%1"); 102 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OPIE_EMC, "Opie email client", "QPE/Application/opiemail", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
103 103
104 104
105 105
@@ -267,7 +267,7 @@ bool ExternalAppHandler::isPagerAppAvailable()
267 267
268 268
269//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma) 269//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma)
270bool ExternalAppHandler::mailAttachments( const QString& urls ) 270bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QString& urls )
271{ 271{
272 272
273#ifndef DESKTOP_VERSION 273#ifndef DESKTOP_VERSION
@@ -296,15 +296,18 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
296 parameters2 = dai->_parameters2; 296 parameters2 = dai->_parameters2;
297 } 297 }
298 298
299 //first check if one of the mailers need the emails right in the message.
300 message2 = translateMessage(message2, emails, urls);
301
299 302
300 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1()); 303 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1());
301 qDebug("passing attachmenturls:(%s) as parameter in the form %s to QCopEnvelope", urls.latin1(), parameters2.latin1()); 304 qDebug("passing emailadresses:(%s), attachmenturls:(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1());
302 305
303 306
304 QCopEnvelope e(channel.latin1(), message2.latin1()); 307 QCopEnvelope e(channel.latin1(), message2.latin1());
305 //US we need no names in the To field. The emailadresses are enough 308 //US we need no names in the To field. The emailadresses are enough
306 309
307 passParameter(&e, parameters2, urls); 310 passParameters(&e, parameters2, emails, urls);
308 311
309 312
310 313
@@ -321,7 +324,7 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
321 324
322 325
323//calls the emailapplication and creates a mail with parameter emails as recipients 326//calls the emailapplication and creates a mail with parameter emails as recipients
324bool ExternalAppHandler::mailToContacts( const QString& emails ) 327bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress )
325{ 328{
326#ifndef DESKTOP_VERSION 329#ifndef DESKTOP_VERSION
327 QString channel; 330 QString channel;
@@ -351,16 +354,16 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
351 354
352 355
353 //first check if one of the mailers need the emails right in the message. 356 //first check if one of the mailers need the emails right in the message.
354 message = translateMessage(message, emails); 357 message = translateMessage(message, name, emailadress);
355 358
356 359
357 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 360 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
358 qDebug("passing emailadresses:(%s) as parameter in the form %s to QCopEnvelope", emails.latin1(), parameters.latin1()); 361 qDebug("passing name:(%s), emailadresses:(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1());
359 362
360 QCopEnvelope e(channel.latin1(), message.latin1()); 363 QCopEnvelope e(channel.latin1(), message.latin1());
361 //US we need no names in the To field. The emailadresses are enough 364 //US we need no names in the To field. The emailadresses are enough
362 365
363 passParameter(&e, parameters, emails); 366 passParameters(&e, parameters, name, emailadress);
364 367
365 368
366#else 369#else
@@ -375,6 +378,27 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
375 * 378 *
376 **************************************************************************/ 379 **************************************************************************/
377 380
381//calls the emailapplication and creates a mail with parameter as recipients
382// parameters format is
383// NAME <EMAIL>:SUBJECT
384bool ExternalAppHandler::mailToOneContact( const QString& adressline )
385{
386 QString line = adressline;
387
388 int first = line.find( "<");
389 int last = line.find( ">");
390 QString name = line.left(first);
391 QString emailadress = line.mid(first+1, last-first-1);
392
393 //Subject can not be handled right now.
394 mailToOneContact( name, emailadress );
395}
396
397
398/**************************************************************************
399 *
400 **************************************************************************/
401
378//calls the phoneapplication with the number 402//calls the phoneapplication with the number
379bool ExternalAppHandler::callByPhone( const QString& phonenumber ) 403bool ExternalAppHandler::callByPhone( const QString& phonenumber )
380{ 404{
@@ -406,7 +430,7 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
406 430
407 431
408 //first check if one of the mailers need the emails right in the message. 432 //first check if one of the mailers need the emails right in the message.
409 message = translateMessage(message, phonenumber); 433 message = translateMessage(message, phonenumber, "");
410 434
411 435
412 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 436 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
@@ -415,7 +439,7 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
415 QCopEnvelope e(channel.latin1(), message.latin1()); 439 QCopEnvelope e(channel.latin1(), message.latin1());
416 //US we need no names in the To field. The emailadresses are enough 440 //US we need no names in the To field. The emailadresses are enough
417 441
418 passParameter(&e, parameters, phonenumber); 442 passParameters(&e, parameters, phonenumber, "");
419 443
420 444
421#else 445#else
@@ -461,7 +485,7 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
461 485
462 486
463 //first check if one of the mailers need the emails right in the message. 487 //first check if one of the mailers need the emails right in the message.
464 message = translateMessage(message, phonenumber); 488 message = translateMessage(message, phonenumber, "");
465 489
466 490
467 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 491 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
@@ -470,7 +494,7 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
470 QCopEnvelope e(channel.latin1(), message.latin1()); 494 QCopEnvelope e(channel.latin1(), message.latin1());
471 //US we need no names in the To field. The emailadresses are enough 495 //US we need no names in the To field. The emailadresses are enough
472 496
473 passParameter(&e, parameters, phonenumber); 497 passParameters(&e, parameters, phonenumber, "");
474 498
475 499
476#else 500#else
@@ -516,7 +540,7 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
516 540
517 541
518 //first check if one of the mailers need the emails right in the message. 542 //first check if one of the mailers need the emails right in the message.
519 message = translateMessage(message, pagernumber); 543 message = translateMessage(message, pagernumber, "");
520 544
521 545
522 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 546 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
@@ -525,7 +549,7 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
525 QCopEnvelope e(channel.latin1(), message.latin1()); 549 QCopEnvelope e(channel.latin1(), message.latin1());
526 //US we need no names in the To field. The emailadresses are enough 550 //US we need no names in the To field. The emailadresses are enough
527 551
528 passParameter(&e, parameters, pagernumber); 552 passParameters(&e, parameters, pagernumber, "");
529 553
530 554
531#else 555#else
@@ -571,7 +595,7 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
571 595
572 596
573 //first check if one of the mailers need the emails right in the message. 597 //first check if one of the mailers need the emails right in the message.
574 message = translateMessage(message, faxnumber); 598 message = translateMessage(message, faxnumber, "");
575 599
576 600
577 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 601 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
@@ -580,7 +604,7 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
580 QCopEnvelope e(channel.latin1(), message.latin1()); 604 QCopEnvelope e(channel.latin1(), message.latin1());
581 //US we need no names in the To field. The emailadresses are enough 605 //US we need no names in the To field. The emailadresses are enough
582 606
583 passParameter(&e, parameters, faxnumber); 607 passParameters(&e, parameters, faxnumber, "");
584 608
585 609
586#else 610#else
@@ -596,17 +620,17 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
596 **************************************************************************/ 620 **************************************************************************/
597 621
598 622
599 623QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const
600QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const
601{ 624{
602 return message.replace( QRegExp("%1"), param1 ); 625 message = message.replace( QRegExp("%1"), param1 );
626 return message.replace( QRegExp("%2"), param2 );
603} 627}
604 628
605/************************************************************************** 629/**************************************************************************
606 * 630 *
607 **************************************************************************/ 631 **************************************************************************/
608 632
609void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const 633void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const
610{ 634{
611#ifndef DESKTOP_VERSION 635#ifndef DESKTOP_VERSION
612 QMap<QString, QString> valmap; 636 QMap<QString, QString> valmap;
@@ -627,12 +651,14 @@ void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameter
627 QStringList::Iterator it2 = keyvallist.begin(); 651 QStringList::Iterator it2 = keyvallist.begin();
628 QString key = (*it2); 652 QString key = (*it2);
629 key = key.replace( QRegExp("%1"), param1 ); 653 key = key.replace( QRegExp("%1"), param1 );
654 key = key.replace( QRegExp("%2"), param2 );
630 ++it2; 655 ++it2;
631 656
632 if(it2 != keyvallist.end()) 657 if(it2 != keyvallist.end())
633 { 658 {
634 QString value = (*it2); 659 QString value = (*it2);
635 value = value.replace( QRegExp("%1"), param1 ); 660 value = value.replace( QRegExp("%1"), param1 );
661 value = value.replace( QRegExp("%2"), param2 );
636 662
637 valmap.insert(key, value); 663 valmap.insert(key, value);
638 useValMap = true; 664 useValMap = true;