-rw-r--r-- | libkdepim/externalapphandler.cpp | 84 |
1 files changed, 55 insertions, 29 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,8 +268,8 @@ 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 ) { -#ifndef DESKTOP_VERSION +#ifndef DESKTOP_VERSION QString channel; QString message2; @@ -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,7 +325,7 @@ 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 +#ifndef DESKTOP_VERSION QString channel; QString message; @@ -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,8 +379,29 @@ 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 ) { -#ifndef DESKTOP_VERSION +#ifndef DESKTOP_VERSION QString channel; QString message; @@ -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, ""); @@ -434,5 +458,5 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber ) bool ExternalAppHandler::callBySMS( const QString& phonenumber ) { -#ifndef DESKTOP_VERSION +#ifndef DESKTOP_VERSION QString channel; QString message; @@ -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, ""); @@ -489,5 +513,5 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber ) bool ExternalAppHandler::callByPager( const QString& pagernumber ) { -#ifndef DESKTOP_VERSION +#ifndef DESKTOP_VERSION QString channel; QString message; @@ -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, ""); @@ -544,5 +568,5 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber ) bool ExternalAppHandler::callByFax( const QString& faxnumber ) { -#ifndef DESKTOP_VERSION +#ifndef DESKTOP_VERSION QString channel; QString message; @@ -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,7 +631,7 @@ 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 +#ifndef DESKTOP_VERSION QMap<QString, QString> valmap; bool useValMap = false; @@ -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); |