Diffstat (limited to 'kaddressbook/xxportobject.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/xxportobject.cpp | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/kaddressbook/xxportobject.cpp b/kaddressbook/xxportobject.cpp new file mode 100644 index 0000000..42ab0fb --- a/dev/null +++ b/kaddressbook/xxportobject.cpp @@ -0,0 +1,152 @@ +/* + This file is part of KAddressbook. + Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + 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. +*/ + +/* +Enhanced Version of the file for platform independent KDE tools. +Copyright (c) 2004 Ulf Schenk + +$Id$ +*/ + +#include <qmap.h> +#include <qsignalmapper.h> + +#include <kaction.h> +#include <kmessagebox.h> + +#include "kabcore.h" + +#include "xxportobject.h" + +class XXPortObject::XXPortObjectPrivate +{ + public: + QSignalMapper *mExportMapper; + QSignalMapper *mImportMapper; +}; + +XXPortObject::XXPortObject( KABC::AddressBook *ab, QWidget *parent, + const char *name ) + : QObject( parent, name ), mAddressBook( ab ), mParentWidget( parent ), + d( new XXPortObjectPrivate ) +{ + d->mExportMapper = new QSignalMapper( this ); + d->mImportMapper = new QSignalMapper( this ); + + connect( d->mExportMapper, SIGNAL( mapped( const QString& ) ), + SLOT( slotExportActivated( const QString& ) ) ); + connect( d->mImportMapper, SIGNAL( mapped( const QString& ) ), + SLOT( slotImportActivated( const QString& ) ) ); +} + +XXPortObject::~XXPortObject() +{ + delete d; + d = 0; +} + +bool XXPortObject::exportContacts( const KABC::AddresseeList&, const QString& ) +{ + // do nothing + return false; +} + +KABC::AddresseeList XXPortObject::importContacts( const QString& ) const +{ + // do nothing + return KABC::AddresseeList(); +} + +void XXPortObject::createImportAction( const QString &label, const QString &data ) +{ +#ifdef KAB_EMBEDDED + KABCore* kabcore = (KABCore*)mParentWidget; +#endif //KAB_EMBEDDED + + QString id = "file_import_" + identifier() + ( data.isEmpty() ? QString( "" ) : "_" + data ); +#ifndef KAB_EMBEDDED + KAction *action = new KAction( label, 0, d->mImportMapper, SLOT( map() ), actionCollection(), id.latin1() ); +#else //KAB_EMBEDDED + KAction *action = new KAction( label, 0, d->mImportMapper, SLOT( map() ), kabcore->actionCollection(), id.latin1() ); +#endif //KAB_EMBEDDED + + d->mImportMapper->setMapping( action, ( data.isEmpty() ? QString( "<empty>" ) : data ) ); + +#ifndef KAB_EMBEDDED + setXMLFile( identifier() + "_xxportui.rc" ); +#endif //KAB_EMBEDDED + +#ifdef KAB_EMBEDDED + action->plug((QWidget*)kabcore->getImportMenu()); +#endif //KAB_EMBEDDED + +} + +void XXPortObject::createExportAction( const QString &label, const QString &data ) +{ +#ifdef KAB_EMBEDDED + KABCore* kabcore = (KABCore*)mParentWidget; +#endif //KAB_EMBEDDED + + QString id = "file_export_" + identifier() + ( data.isEmpty() ? QString( "" ) : "_" + data ); +#ifndef KAB_EMBEDDED + KAction *action = new KAction( label, 0, d->mExportMapper, SLOT( map() ), actionCollection(), id.latin1() ); +#else //KAB_EMBEDDED + KAction *action = new KAction( label, 0, d->mExportMapper, SLOT( map() ), kabcore->actionCollection(), id.latin1() ); +#endif //KAB_EMBEDDED + + d->mExportMapper->setMapping( action, ( data.isEmpty() ? QString( "<empty>" ) : data ) ); + +#ifndef KAB_EMBEDDED + setXMLFile( identifier() + "_xxportui.rc" ); +#endif //KAB_EMBEDDED + +#ifdef KAB_EMBEDDED + action->plug((QWidget*)kabcore->getExportMenu()); +#endif //KAB_EMBEDDED + +} + +KABC::AddressBook *XXPortObject::addressBook() const +{ + return mAddressBook; +} + +QWidget *XXPortObject::parentWidget() const +{ + return mParentWidget; +} + +void XXPortObject::slotExportActivated( const QString &data ) +{ + emit exportActivated( identifier(), ( data == "<empty>" ? QString::null : data ) ); +} + +void XXPortObject::slotImportActivated( const QString &data ) +{ + emit importActivated( identifier(), ( data == "<empty>" ? QString::null : data ) ); +} + +#ifndef KAB_EMBEDDED +#include "xxportobject.moc" +#endif //KAB_EMBEDDED |