-rw-r--r-- | libkdepim/externalapphandler.cpp | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp index edefda4..59be506 100644 --- a/libkdepim/externalapphandler.cpp +++ b/libkdepim/externalapphandler.cpp @@ -697,87 +697,100 @@ bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QS #endif QCopEnvelope e(channel.latin1(), message2.latin1()); //US we need no names in the To field. The emailadresses are enough passParameters(&e, parameters2, emails, urls); #else //qDebug("mtmc %s %s ", emails.latin1(), urls.latin1()); 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; message = dai->_message; 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 ); + + if ( message.find (" " ) > 0 ) { + QStringList list = QStringList::split( " ", message ); + int i = 0; while ( i < list.count ( ) ) { - //qDebug("add%sdd ",list[i].stripWhiteSpace().latin1() ); - proc->addArgument( list[i].stripWhiteSpace() ); + //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; } /************************************************************************** * **************************************************************************/ //calls the emailapplication and creates a mail with parameter emails as recipients bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress ) { QString channel; QString message; QString parameters; int client = KPimGlobalPrefs::instance()->mEmailClient; if (client == KPimGlobalPrefs::OTHER_EMC) @@ -796,58 +809,64 @@ bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& e } channel = dai->_channel; message = dai->_message; parameters = dai->_parameters; } #ifdef DESKTOP_VERSION //message = channel + " " +message + " \""+ parameters + "\""; #endif //first check if one of the mailers need the emails right in the message. message = translateMessage(message, name, emailadress); #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 ); + proc->addArgument( channel ); + if ( message.find (" " ) > 0 ) { QStringList list = QStringList::split( " ", message ); int i = 0; - proc->addArgument( channel ); 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; } /************************************************************************** * **************************************************************************/ //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); |