summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorulf69 <ulf69>2004-08-10 01:34:22 (UTC)
committer ulf69 <ulf69>2004-08-10 01:34:22 (UTC)
commitc9d570427f3d5bead7bee1301514a2d4b82836ea (patch) (side-by-side diff)
tree8d25f388217c591b7dac1db6c26d0777e6459352 /kaddressbook
parent4f05a9fcbb9e54184aef93883886aaf865104463 (diff)
downloadkdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.zip
kdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.tar.gz
kdepimpi-c9d570427f3d5bead7bee1301514a2d4b82836ea.tar.bz2
enhancements to configure external apps like email and phones through a
generalized interface
Diffstat (limited to 'kaddressbook') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp53
-rw-r--r--kaddressbook/kcmconfigs/kcmkabconfig.cpp20
-rw-r--r--kaddressbook/kcmconfigs/kcmkabconfig.h10
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