summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxportobject.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/xxportobject.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxportobject.cpp152
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