summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxportmanager.cpp
Unidiff
Diffstat (limited to 'kaddressbook/xxportmanager.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxportmanager.cpp70
1 files changed, 23 insertions, 47 deletions
diff --git a/kaddressbook/xxportmanager.cpp b/kaddressbook/xxportmanager.cpp
index 6cfa9cb..20cde49 100644
--- a/kaddressbook/xxportmanager.cpp
+++ b/kaddressbook/xxportmanager.cpp
@@ -30,4 +30,5 @@ $Id$
30 30
31#include <qlayout.h> 31#include <qlayout.h>
32#include <qlist.h>
32 33
33#include <kabc/addressbook.h> 34#include <kabc/addressbook.h>
@@ -41,7 +42,10 @@ $Id$
41#include <ktrader.h> 42#include <ktrader.h>
42#else //KAB_EMBEDDED 43#else //KAB_EMBEDDED
43#include "xxport/csv_xxport.h" 44extern "C"
44#include "xxport/kde2_xxport.h" 45{
45#include "xxport/vcard_xxport.h" 46 void* init_kaddrbk_csv_xxport();
47 void* init_kaddrbk_kde2_xxport();
48 void* init_kaddrbk_vcard_xxport();
49}
46#endif //KAB_EMBEDDED 50#endif //KAB_EMBEDDED
47 51
@@ -187,37 +191,24 @@ void XXPortManager::loadPlugins()
187 } 191 }
188 192
189 XXPortObject *obj = xxportFactory->xxportObject( mCore->addressBook(), mCore );
190 if ( obj ) {
191 mCore->addGUIClient( obj );
192 mXXPortObjects.insert( obj->identifier(), obj );
193 connect( obj, SIGNAL( exportActivated( const QString&, const QString& ) ),
194 this, SLOT( slotExport( const QString&, const QString& ) ) );
195 connect( obj, SIGNAL( importActivated( const QString&, const QString& ) ),
196 this, SLOT( slotImport( const QString&, const QString& ) ) );
197 }
198 }
199
200#else //KAB_EMBEDDED 193#else //KAB_EMBEDDED
201//lets load the export/import stubs directly. Is dynamic loading necessary for KA/Pi? 194 QList<XXPortFactory> factorylist;
202 195 factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_csv_xxport()));
203 // CVS import/export 196 factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_kde2_xxport()));
204 XXPortFactory *xxportFactory = new CSVXXPortFactory(); 197 factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_vcard_xxport()));
205 198
206 XXPortObject *obj = xxportFactory->xxportObject( mCore->addressBook(), mCore ); 199 //now add the opie import library dynamically
207 if ( obj ) { 200 KLibFactory *factory = KLibLoader::self()->factory( "kaddrbk_opie_xxport" );
208 mCore->addGUIClient( obj ); 201 if ( factory ) {
209 mXXPortObjects.insert( obj->identifier(), obj ); 202 XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory );
210 connect( obj, SIGNAL( exportActivated( const QString&, const QString& ) ), 203 factorylist.append(xxportFactory);
211 this, SLOT( slotExport( const QString&, const QString& ) ) );
212 connect( obj, SIGNAL( importActivated( const QString&, const QString& ) ),
213 this, SLOT( slotImport( const QString&, const QString& ) ) );
214 } 204 }
215 205
206 QListIterator<XXPortFactory> it(factorylist);
207 for ( ; it.current(); ++it )
208 {
209 XXPortFactory *xxportFactory = it.current();
210#endif //KAB_EMBEDDED
216 211
217 212 XXPortObject *obj = xxportFactory->xxportObject( mCore->addressBook(), mCore );
218 // KDE2 import/export
219 xxportFactory = new KDE2XXPortFactory();
220
221 obj = xxportFactory->xxportObject( mCore->addressBook(), mCore );
222 if ( obj ) { 213 if ( obj ) {
223 mCore->addGUIClient( obj ); 214 mCore->addGUIClient( obj );
@@ -228,20 +219,5 @@ void XXPortManager::loadPlugins()
228 this, SLOT( slotImport( const QString&, const QString& ) ) ); 219 this, SLOT( slotImport( const QString&, const QString& ) ) );
229 } 220 }
230
231
232
233 // VCARD import/export
234 xxportFactory = new VCardXXPortFactory();
235
236 obj = xxportFactory->xxportObject( mCore->addressBook(), mCore );
237 if ( obj ) {
238 mCore->addGUIClient( obj );
239 mXXPortObjects.insert( obj->identifier(), obj );
240 connect( obj, SIGNAL( exportActivated( const QString&, const QString& ) ),
241 this, SLOT( slotExport( const QString&, const QString& ) ) );
242 connect( obj, SIGNAL( importActivated( const QString&, const QString& ) ),
243 this, SLOT( slotImport( const QString&, const QString& ) ) );
244 } 221 }
245#endif //KAB_EMBEDDED
246 222
247} 223}