summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (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
@@ -94,11 +94,11 @@ void ExternalAppHandler::loadConfig()
if (( QFile::exists( qtopiapath + "/bin/ompi" )) ||
( QFile::exists( opiepath + "/bin/ompi" )))
- addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OMPI_EMC, "OM/Pi email client", "QPE/Application/ompi", "newMail(QString)", "%1", mailmsg2, "ATTACHMENT=%1");
+ addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OMPI_EMC, "OM/Pi email client", "QPE/Application/ompi", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
if ( QFile::exists( qtopiapath + "/bin/qtmail" ))
- addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::QTOPIA_EMC, "Qtopia email client", "QPE/Application/qtmail", mailmsg1, ";%1", mailmsg2, "ATTACHMENT=%1");
+ addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::QTOPIA_EMC, "Qtopia email client", "QPE/Application/qtmail", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
if ( QFile::exists( opiepath + "/bin/opiemail" ))
- addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OPIE_EMC, "Opie email client", "QPE/Application/opiemail", mailmsg1, ";%1", mailmsg2, "ATTACHMENT=%1");
+ addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OPIE_EMC, "Opie email client", "QPE/Application/opiemail", mailmsg1, "%1;%2", mailmsg2, "TO=%1;ATTACHMENT=%2");
@@ -268,5 +268,5 @@ bool ExternalAppHandler::isPagerAppAvailable()
//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma)
-bool ExternalAppHandler::mailAttachments( const QString& urls )
+bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QString& urls )
{
@@ -297,7 +297,10 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
}
+ //first check if one of the mailers need the emails right in the message.
+ message2 = translateMessage(message2, emails, urls);
+
qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1());
- qDebug("passing attachmenturls:(%s) as parameter in the form %s to QCopEnvelope", urls.latin1(), parameters2.latin1());
+ qDebug("passing emailadresses:(%s), attachmenturls:(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1());
@@ -305,5 +308,5 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters2, urls);
+ passParameters(&e, parameters2, emails, urls);
@@ -322,5 +325,5 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
//calls the emailapplication and creates a mail with parameter emails as recipients
-bool ExternalAppHandler::mailToContacts( const QString& emails )
+bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress )
{
#ifndef DESKTOP_VERSION
@@ -352,14 +355,14 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
//first check if one of the mailers need the emails right in the message.
- message = translateMessage(message, emails);
+ message = translateMessage(message, name, emailadress);
qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
- qDebug("passing emailadresses:(%s) as parameter in the form %s to QCopEnvelope", emails.latin1(), parameters.latin1());
+ qDebug("passing name:(%s), emailadresses:(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1());
QCopEnvelope e(channel.latin1(), message.latin1());
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters, emails);
+ passParameters(&e, parameters, name, emailadress);
@@ -376,4 +379,25 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
**************************************************************************/
+//calls the emailapplication and creates a mail with parameter as recipients
+// parameters format is
+// NAME <EMAIL>:SUBJECT
+bool ExternalAppHandler::mailToOneContact( const QString& adressline )
+{
+ QString line = adressline;
+
+ int first = line.find( "<");
+ int last = line.find( ">");
+ QString name = line.left(first);
+ QString emailadress = line.mid(first+1, last-first-1);
+
+ //Subject can not be handled right now.
+ mailToOneContact( name, emailadress );
+}
+
+
+/**************************************************************************
+ *
+ **************************************************************************/
+
//calls the phoneapplication with the number
bool ExternalAppHandler::callByPhone( const QString& phonenumber )
@@ -407,5 +431,5 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
//first check if one of the mailers need the emails right in the message.
- message = translateMessage(message, phonenumber);
+ message = translateMessage(message, phonenumber, "");
@@ -416,5 +440,5 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters, phonenumber);
+ passParameters(&e, parameters, phonenumber, "");
@@ -462,5 +486,5 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
//first check if one of the mailers need the emails right in the message.
- message = translateMessage(message, phonenumber);
+ message = translateMessage(message, phonenumber, "");
@@ -471,5 +495,5 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters, phonenumber);
+ passParameters(&e, parameters, phonenumber, "");
@@ -517,5 +541,5 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
//first check if one of the mailers need the emails right in the message.
- message = translateMessage(message, pagernumber);
+ message = translateMessage(message, pagernumber, "");
@@ -526,5 +550,5 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters, pagernumber);
+ passParameters(&e, parameters, pagernumber, "");
@@ -572,5 +596,5 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
//first check if one of the mailers need the emails right in the message.
- message = translateMessage(message, faxnumber);
+ message = translateMessage(message, faxnumber, "");
@@ -581,5 +605,5 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
//US we need no names in the To field. The emailadresses are enough
- passParameter(&e, parameters, faxnumber);
+ passParameters(&e, parameters, faxnumber, "");
@@ -597,8 +621,8 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
-
-QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const
+QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const
{
- return message.replace( QRegExp("%1"), param1 );
+ message = message.replace( QRegExp("%1"), param1 );
+ return message.replace( QRegExp("%2"), param2 );
}
@@ -607,5 +631,5 @@ QString& ExternalAppHandler::translateMessage(QString& message, const QString& p
**************************************************************************/
-void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const
+void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const
{
#ifndef DESKTOP_VERSION
@@ -628,4 +652,5 @@ void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameter
QString key = (*it2);
key = key.replace( QRegExp("%1"), param1 );
+ key = key.replace( QRegExp("%2"), param2 );
++it2;
@@ -634,4 +659,5 @@ void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameter
QString value = (*it2);
value = value.replace( QRegExp("%1"), param1 );
+ value = value.replace( QRegExp("%2"), param2 );
valmap.insert(key, value);