-rw-r--r-- | kaddressbook/kabcore.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index d6f0cee..6610288 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -462,15 +462,19 @@ void KABCore::setContactSelected( const QString &uid ) void KABCore::sendMail() { sendMail( mViewManager->selectedEmails().join( ", " ) ); } -void KABCore::sendMail( const QString& email ) +void KABCore::sendMail( const QString& emaillist ) { - bool result = ExternalAppHandler::instance()->mailToContacts(email); + // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... " + if (emaillist.contains(",") > 0) + ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null ); + else + ExternalAppHandler::instance()->mailToOneContact( emaillist ); } void KABCore::mailVCard() { @@ -480,26 +484,15 @@ void KABCore::mailVCard() } void KABCore::mailVCard( const QStringList& uids ) { QStringList urls; - QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); +// QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); -/*US - // Create a temp dir, so that we can put the files in it with proper names - KTempFile tempDir; - if ( tempDir.status() != 0 ) { - kdWarning() << strerror( tempDir.status() ) << endl; - return; - } - - QString dirName = tempDir.name(); - tempDir.unlink(); -*/ - QString dirName = tmpdir + "/" + KApplication::randomString( 8 ); + QString dirName = "/tmp/" + KApplication::randomString( 8 ); QDir().mkdir( dirName, true ); for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { @@ -510,12 +503,13 @@ void KABCore::mailVCard( const QStringList& uids ) QString name = a.givenName() + "_" + a.familyName() + ".vcf"; QString fileName = dirName + "/" + name; QFile outFile(fileName); + if ( outFile.open(IO_WriteOnly) ) { // file opened successfully KABC::VCardConverter converter; QString vcard; converter.addresseeToVCard( a, vcard ); @@ -526,13 +520,13 @@ void KABCore::mailVCard( const QStringList& uids ) outFile.close(); urls.append( fileName ); } } - bool result = ExternalAppHandler::instance()->mailAttachments(urls.join(", ")); + bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); /*US kapp->invokeMailer( QString::null, QString::null, QString::null, QString::null, // subject QString::null, // body |