-rw-r--r-- | libkdepim/externalapphandler.cpp | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp index edefda4..59be506 100644 --- a/libkdepim/externalapphandler.cpp +++ b/libkdepim/externalapphandler.cpp @@ -709,26 +709,28 @@ bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QS QString channel; QString message2; QString parameters2; QString message; QString parameters; int client = KPimGlobalPrefs::instance()->mEmailClient; if (client == KPimGlobalPrefs::OTHER_EMC) { channel = KPimGlobalPrefs::instance()->mEmailOtherChannel; - message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage; - parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; + message = KPimGlobalPrefs::instance()->mEmailOtherMessage; + message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage2; + parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; + parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters2; } else { DefaultAppItem* dai = getDefaultItem(EMAIL, client); if (!dai) { qDebug("could not find configured email application."); return false; } channel = dai->_channel; message2 = dai->_message2; parameters2 = dai->_parameters2; @@ -736,36 +738,47 @@ bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QS parameters = dai->_parameters; } //first check if one of the mailers need the emails right in the message. message2 = translateMessage(message2, emails, urls); #ifdef DEBUG_EXT_APP_HANDLER qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1()); qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1()); #endif qDebug("%s --- %s %s --- %s %s", channel.latin1(), message.latin1(),message2.latin1(), parameters.latin1(), parameters2.latin1() ); //KMessageBox::sorry( 0, message2 ); QProcess * proc = new QProcess( this ); - QStringList list = QStringList::split( " ", message ); int i = 0; proc->addArgument( channel ); - while ( i < list.count ( ) ) { - //qDebug("add%sdd ",list[i].stripWhiteSpace().latin1() ); - proc->addArgument( list[i].stripWhiteSpace() ); + + if ( message.find (" " ) > 0 ) { + QStringList list = QStringList::split( " ", message ); + int i = 0; + while ( i < list.count ( ) ) { + //qDebug("add%sdd ",list[i].latin1() ); + proc->addArgument( list[i] ); + //KMessageBox::sorry( 0,list[i]); ++i; + } + } else { + proc->addArgument(message ); + //KMessageBox::sorry( 0, message ); + } + parameters2 = translateMessage(parameters2, urls, "" ); QString arg = "to='%1'"; arg = arg.arg( emails ) + ","+parameters2;; + //KMessageBox::sorry( 0,arg ); //qDebug("2add%sdd ",arg.latin1() ); proc->addArgument( arg); proc->launch(""); #endif return true; } /************************************************************************** * **************************************************************************/ @@ -808,33 +821,39 @@ bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& e #ifdef DEBUG_EXT_APP_HANDLER qDebug("5Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); qDebug("passing name(%s), emailadresses(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1()); #endif #ifndef DESKTOP_VERSION QCopEnvelope e(channel.latin1(), message.latin1()); //US we need no names in the To field. The emailadresses are enough passParameters(&e, parameters, name, emailadress); #else // DESKTOP_VERSION - //KMessageBox::sorry( 0, message ); + //KMessageBox::sorry( 0,channel ); QProcess * proc = new QProcess( this ); - QStringList list = QStringList::split( " ", message ); - int i = 0; proc->addArgument( channel ); - while ( i < list.count ( ) ) { + if ( message.find (" " ) > 0 ) { + QStringList list = QStringList::split( " ", message ); + int i = 0; + while ( i < list.count ( ) ) { //qDebug("add%sdd ",list[i].latin1() ); proc->addArgument( list[i] ); + //KMessageBox::sorry( 0,list[i]); ++i; + } + } else { + proc->addArgument(message ); + } parameters = translateMessage(parameters, name, emailadress); proc->addArgument( parameters ); proc->launch(""); #endif return true; } /************************************************************************** * **************************************************************************/ @@ -894,25 +913,25 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber ) //first check if one of the mailers need the emails right in the message. message = translateMessage(message, phonenumber, ""); #ifdef DEBUG_EXT_APP_HANDLER qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); #endif QCopEnvelope e(channel.latin1(), message.latin1()); //US we need no names in the To field. The emailadresses are enough - passParameters(&e, parameters, phonenumber, ""); + passParameters(&e, parameters, phonenumber, ""); #else KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) ); #endif return true; } /************************************************************************** * |