author | ulf69 <ulf69> | 2004-08-10 01:34:22 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-08-10 01:34:22 (UTC) |
commit | c9d570427f3d5bead7bee1301514a2d4b82836ea (patch) (side-by-side diff) | |
tree | 8d25f388217c591b7dac1db6c26d0777e6459352 /kaddressbook | |
parent | 4f05a9fcbb9e54184aef93883886aaf865104463 (diff) | |
download | kdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.zip kdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.tar.gz kdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.tar.bz2 |
enhancements to configure external apps like email and phones through a
generalized interface
-rw-r--r-- | kaddressbook/kabcore.cpp | 53 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kcmkabconfig.cpp | 20 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kcmkabconfig.h | 10 |
3 files changed, 28 insertions, 55 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 4303cab..fe4841a 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -76,32 +76,34 @@ #include <kresources/kcmkresources.h> #include <ktoolbar.h> //#include <qlabel.h> #ifndef DESKTOP_VERSION #include <qtopia/services.h> #include <qtopia/qcopenvelope_qws.h> #include <qpe/ir.h> #endif #endif // KAB_EMBEDDED #include "kcmconfigs/kcmkabconfig.h" #include "kcmconfigs/kcmkdepimconfig.h" +#include "kpimglobalprefs.h" +#include "externalapphandler.h" #include <kresources/selectdialog.h> #include <kmessagebox.h> #include <picture.h> #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> @@ -454,55 +456,33 @@ void KABCore::setContactSelected( const QString &uid ) //mActionBeam->setEnabled( selected ); if (mActionBeamVCard) mActionBeamVCard->setEnabled( selected ); mActionWhoAmI->setEnabled( selected ); mActionCategories->setEnabled( selected ); } void KABCore::sendMail() { sendMail( mViewManager->selectedEmails().join( ", " ) ); } void KABCore::sendMail( const QString& email ) { -//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 + bool result = ExternalAppHandler::instance()->mailToContacts(email); } void KABCore::mailVCard() { QStringList uids = mViewManager->selectedUids(); if ( !uids.isEmpty() ) mailVCard( uids ); } void KABCore::mailVCard( const QStringList& uids ) { QStringList urls; QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); @@ -537,52 +517,43 @@ void KABCore::mailVCard( const QStringList& uids ) QFile outFile(fileName); if ( outFile.open(IO_WriteOnly) ) { // file opened successfully KABC::VCardConverter converter; QString vcard; converter.addresseeToVCard( a, vcard ); QTextStream t( &outFile ); // use a text stream t.setEncoding( QTextStream::UnicodeUTF8 ); t << vcard; outFile.close(); urls.append( fileName ); } } + + bool result = ExternalAppHandler::instance()->mailAttachments(urls.join(", ")); + + /*US kapp->invokeMailer( QString::null, QString::null, QString::null, QString::null, // subject QString::null, // body QString::null, urls ); // attachments */ -#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 - } /** Beams the "WhoAmI contact. */ void KABCore::beamMySelf() { KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); if (!a.isEmpty()) { QStringList uids; uids << a.uid(); beamVCard(uids); } else { @@ -1184,37 +1155,39 @@ QString KABCore::getNameByPhone( const QString &phone ) ownerName = (*iter).formattedName(); found = true; } } } return ownerName; #else //KAB_EMBEDDED qDebug("KABCore::getNameByPhone finsih method"); return ""; #endif //KAB_EMBEDDED } void KABCore::openConfigDialog() { - KABPrefs* prefs = KABPrefs::instance(); - KCMultiDialog* ConfigureDialog = new KCMultiDialog( prefs, "PIM", this ,"kabconfigdialog", true ); - KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); + KABPrefs* kab_prefs = KABPrefs::instance(); + KPimGlobalPrefs* kpim_prefs = KPimGlobalPrefs::instance(); + + KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); + KCMKabConfig* kabcfg = new KCMKabConfig( kab_prefs, ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); ConfigureDialog->addModule(kabcfg ); - KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Pim")) , "KCMKdeLibConfig" ); + KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( kpim_prefs, ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); ConfigureDialog->addModule(kdelibcfg ); connect( ConfigureDialog, SIGNAL( applyClicked() ), this, SLOT( configurationChanged() ) ); connect( ConfigureDialog, SIGNAL( okClicked() ), this, SLOT( configurationChanged() ) ); saveSettings(); ConfigureDialog->showMaximized(); if ( ConfigureDialog->exec() ) KMessageBox::information( this, i18n("If you configured \nExtensions,\nplease restart!\n") ); delete ConfigureDialog; } void KABCore::openLDAPDialog() diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.cpp b/kaddressbook/kcmconfigs/kcmkabconfig.cpp index 26398f8..b460a81 100644 --- a/kaddressbook/kcmconfigs/kcmkabconfig.cpp +++ b/kaddressbook/kcmconfigs/kcmkabconfig.cpp @@ -26,63 +26,63 @@ #ifndef KAB_EMBEDDED #include <kaboutdata.h> #endif //KAB_EMBEDDED #include <kdebug.h> //#include <klocale.h> //#include <stdlib.h> #include "kabconfigwidget.h" #include "kcmkabconfig.h" #include "kabprefs.h" #include "kprefs.h" extern "C" { - KCModule *create_kabconfig( QWidget *parent, const char * ) { - return new KCMKabConfig( parent, "kcmkabconfig" ); + KCModule *create_kabconfig( KABPrefs* prefs, QWidget *parent, const char * ) { + return new KCMKabConfig( prefs, parent, "kcmkabconfig" ); } } -KCMKabConfig::KCMKabConfig( QWidget *parent, const char *name ) - : KCModule( parent, name ) +KCMKabConfig::KCMKabConfig( KABPrefs* prefs, QWidget *parent, const char *name ) + : KCModule( prefs, parent, name ) { //abort(); QVBoxLayout *layout = new QVBoxLayout( this ); mConfigWidget = new KABConfigWidget( this, "mConfigWidget" ); layout->addWidget( mConfigWidget ); layout->setSpacing( 0 ); layout->setMargin( 0 ); connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) ); } -void KCMKabConfig::load(KPrefs* prefs) +void KCMKabConfig::load() { - mConfigWidget->restoreSettings((KABPrefs*)prefs); + mConfigWidget->restoreSettings((KABPrefs*)getPreferences()); } -void KCMKabConfig::save(KPrefs* prefs) +void KCMKabConfig::save() { - mConfigWidget->saveSettings((KABPrefs*)prefs); + mConfigWidget->saveSettings((KABPrefs*)getPreferences()); } -void KCMKabConfig::defaults(KPrefs* prefs) +void KCMKabConfig::defaults() { - mConfigWidget->defaults((KABPrefs*)prefs); + mConfigWidget->defaults((KABPrefs*)getPreferences()); } #ifndef KAB_EMBEDDED const KAboutData* KCMKabConfig::aboutData() const { KAboutData *about = new KAboutData( I18N_NOOP( "kcmkabconfig" ), I18N_NOOP( "KAddressBook Configure Dialog" ), 0, 0, KAboutData::License_GPL, I18N_NOOP( "(c), 2003 Tobias Koenig" ) ); about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" ); return about; } #endif //KAB_EMBEDDED diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.h b/kaddressbook/kcmconfigs/kcmkabconfig.h index b4858c1..1cb6ad3 100644 --- a/kaddressbook/kcmconfigs/kcmkabconfig.h +++ b/kaddressbook/kcmconfigs/kcmkabconfig.h @@ -14,34 +14,34 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, permission is given to link this program with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ #ifndef KCMKABCONFIG_H #define KCMKABCONFIG_H #include <kcmodule.h> class KABConfigWidget; -class KPrefs; +class KABPrefs; class KCMKabConfig : public KCModule { Q_OBJECT public: - KCMKabConfig( QWidget *parent = 0, const char *name = 0 ); + KCMKabConfig( KABPrefs* prefs, QWidget *parent = 0, const char *name = 0 ); - virtual void load(KPrefs* prefs); - virtual void save(KPrefs* prefs); - virtual void defaults(KPrefs* prefs); + virtual void load(); + virtual void save(); + virtual void defaults(); private: KABConfigWidget *mConfigWidget; }; #endif |