-rw-r--r-- | kabc/formatfactory.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/formatfactory.cpp b/kabc/formatfactory.cpp index 3ae1c27..cbb97a2 100644 --- a/kabc/formatfactory.cpp +++ b/kabc/formatfactory.cpp @@ -41,129 +41,129 @@ FormatFactory *FormatFactory::self() if ( !mSelf ) { //US factoryDeleter.setObject( mSelf, new FormatFactory ); mSelf = factoryDeleter.setObject( new FormatFactory ); } return mSelf; } FormatFactory::FormatFactory() { mFormatList.setAutoDelete( true ); // dummy entry for default format FormatInfo *info = new FormatInfo; info->library = "<NoLibrary>"; info->nameLabel = i18n( "vCard" ); info->descriptionLabel = i18n( "vCard Format" ); mFormatList.insert( "vcard", info ); #if 0 US lets enter all resources directly instead of using teh desktopfiles. QStringList list = KGlobal::dirs()->findAllResources( "data" ,"kabc/formats/*.desktop", true, true ); for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) { //US KSimpleConfig config( *it, true ); KConfig config( *it ); if ( !config.hasGroup( "Misc" ) || !config.hasGroup( "Plugin" ) ) continue; info = new FormatInfo; config.setGroup( "Plugin" ); QString type = config.readEntry( "Type" ); info->library = config.readEntry( "X-KDE-Library" ); config.setGroup( "Misc" ); info->nameLabel = config.readEntry( "Name" ); info->descriptionLabel = config.readEntry( "Comment", i18n( "No description available." ) ); mFormatList.insert( type, info ); } #endif //US we already have vcard as default format. info = new FormatInfo; info->library = i18n("microkabcformat_binary"); info->nameLabel = i18n( "Binary" ); info->descriptionLabel = i18n( "No description available." ); mFormatList.insert( "binary", info ); } FormatFactory::~FormatFactory() { mFormatList.clear(); } QStringList FormatFactory::formats() { QStringList retval; // make sure 'vcard' is the first entry retval << "vcard"; - QDictIterator<FormatInfo> it( mFormatList ); + Q3DictIterator<FormatInfo> it( mFormatList ); for ( ; it.current(); ++it ) if ( it.currentKey() != "vcard" ) retval << it.currentKey(); return retval; } FormatInfo *FormatFactory::info( const QString &type ) { if ( type.isEmpty() ) return 0; else return mFormatList[ type ]; } FormatPlugin *FormatFactory::format( const QString& type ) { FormatPlugin *format = 0; if ( type.isEmpty() ) return 0; if ( type == "vcard" ) { format = new VCardFormatPlugin; format->setType( type ); format->setNameLabel( i18n( "vCard" ) ); format->setDescriptionLabel( i18n( "vCard Format" ) ); return format; } FormatInfo *fi = mFormatList[ type ]; if (!fi) return 0; QString libName = fi->library; #ifndef DESKTOP_VERSION KLibrary *library = openLibrary( libName ); if ( !library ) return 0; void *format_func = library->symbol( "format"); if ( format_func ) { format = ((FormatPlugin* (*)())format_func)(); format->setType( type ); format->setNameLabel( fi->nameLabel ); format->setDescriptionLabel( fi->descriptionLabel ); } else { kdDebug( 5700 ) << "'" << libName << "' is not a format plugin." << endl; return 0; } #endif return format; } #ifndef DESKTOP_VERSION KLibrary *FormatFactory::openLibrary( const QString& libName ) { KLibrary *library = 0; QString path = KLibLoader::findLibrary( QFile::encodeName( libName ) ); if ( path.isEmpty() ) { kdDebug( 5700 ) << "No format plugin library was found!" << endl; return 0; |