-rw-r--r-- | kaddressbook/kabcore.cpp | 94 |
1 files changed, 63 insertions, 31 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index a7ca0ce..2a54900 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -78,8 +78,14 @@ #include <kcmkabconfig.h> -//US#include <qpe/resource.h> // needed for Resource::loadPixmap //#include <qlabel.h> + + +#ifdef Q_WS_QWS +#include <qtopia/services.h> +#include <qtopia/qcopenvelope_qws.h> +#endif + #endif // KAB_EMBEDDED #include <kcmkabconfig.h> @@ -91,11 +97,17 @@ #include <resource.h> //US#include <qsplitter.h> +#include <qmap.h> +#include <qdir.h> +#include <qfile.h> #include <qvbox.h> #include <qlayout.h> #include <qclipboard.h> +#include <qtextstream.h> #include <libkdepim/categoryselectdialog.h> +#include <kabc/vcardconverter.h> + #include "addresseeutil.h" #include "undocmds.h" @@ -129,10 +141,7 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const mReadWrite( readWrite ), mModified( false ) #endif //KAB_EMBEDDED { -#ifdef KAB_EMBEDDED - //US we define here our own global actioncollection. - //mActionCollection = new KActionCollection(this); -#endif //KAB_EMBEDDED + mExtensionBarSplitter = 0; mIsPart = !parent->inherits( "KAddressBookMain" ); @@ -196,12 +205,13 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const connect( mIncSearchWidget, SIGNAL( fieldChanged() ), mJumpButtonBar, SLOT( recreateButtons() ) ); + connect( mDetails, SIGNAL( sendEmail( const QString& ) ), + SLOT( sendMail( const QString& ) ) ); + #ifndef KAB_EMBEDDED connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), mXXPortManager, SLOT( importVCard( const KURL& ) ) ); - connect( mDetails, SIGNAL( sendEmail( const QString& ) ), - SLOT( sendMail( const QString& ) ) ); connect( mDetails, SIGNAL( browse( const QString& ) ), SLOT( browse( const QString& ) ) ); @@ -221,12 +231,6 @@ KABCore::~KABCore() delete AddresseeConfig::instance(); mAddressBook = 0; KABC::StdAddressBook::close(); - -#ifdef KAB_EMBEDDED - //US we define here our own global actioncollection. - // delete mActionCollection; -#endif //KAB_EMBEDDED - } void KABCore::restoreSettings() @@ -451,38 +455,50 @@ void KABCore::setContactSelected( const QString &uid ) void KABCore::sendMail() { -#ifndef KAB_EMBEDDED sendMail( mViewManager->selectedEmails().join( ", " ) ); -#else //KAB_EMBEDDED - qDebug("KABCore::sendMail() ust be fixed"); -#endif //KAB_EMBEDDED } void KABCore::sendMail( const QString& email ) { -#ifndef KAB_EMBEDDED - kapp->invokeMailer( email, "" ); -#else //KAB_EMBEDDED - qDebug("KABCore::sendMail(const QString& email) ust be fixed"); -#endif //KAB_EMBEDDED +//US original kde implementation : kapp->invokeMailer( email, "" ); + +/*US original qtopia implementation + PimContact c = abList->currentEntry(); + QString name = c.fileAs(); + QString email = c.defaultEmail(); +#ifndef QT_NO_COP + QCopEnvelope e(Service::channel("Email"), "writeMail(QString,QString)"); + e << name << email; +#else +*/ + + +#ifndef QT_NO_COP + QCString channel = KABPrefs::instance()->mEmailChannel.latin1(); + qDebug("Using QCopEnvelope e(\"" + channel + "\", \"writeMail(QMap(QString,QString))\")"); + + QCopEnvelope e(channel, "writeMail(QString,QString)"); + //US we need no names in the To field. The emailadresses are enough + e << "" << email; +#else + KMessageBox::sorry( this, i18n( "This version does not support sending emails." ) ); +#endif } void KABCore::mailVCard() { -#ifndef KAB_EMBEDDED QStringList uids = mViewManager->selectedUids(); if ( !uids.isEmpty() ) mailVCard( uids ); -#else //KAB_EMBEDDED - qDebug("KABCore::mailVCard() must be fixed"); -#endif //KAB_EMBEDDED } void KABCore::mailVCard( const QStringList& uids ) { -#ifndef KAB_EMBEDDED QStringList urls; + 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 ) { @@ -492,6 +508,11 @@ void KABCore::mailVCard( const QStringList& uids ) QString dirName = tempDir.name(); tempDir.unlink(); +*/ + QString dirName = tmpdir + "/" + KApplication::randomString( 8 ); + + + QDir().mkdir( dirName, true ); for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { @@ -520,15 +541,26 @@ void KABCore::mailVCard( const QStringList& uids ) urls.append( fileName ); } } - +/*US kapp->invokeMailer( QString::null, QString::null, QString::null, QString::null, // subject QString::null, // body QString::null, urls ); // attachments -#else //KAB_EMBEDDED - qDebug("KABCore::mailVCard( must be fixed"); -#endif //KAB_EMBEDDED +*/ +#ifndef QT_NO_COP + QCString channel = KABPrefs::instance()->mEmailChannel.latin1(); + qDebug("Using QCopEnvelope e(\"" + channel + "\", \"writeMail(QMap(QString,QString))\")"); + + QMap<QString, QString> parameterMap; + parameterMap.insert("ATTACHMENT<n>", urls.join(", ")); + + QCopEnvelope e(channel, "writeMail(QMap(QString,QString))"); + e << parameterMap; +#else + KMessageBox::sorry( this, i18n( "This version does not support sending emails." ) ); +#endif + } |