summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-10-27 08:51:22 (UTC)
committer zautrix <zautrix>2005-10-27 08:51:22 (UTC)
commiteb83d8b5542de9ca0c421ad6aca2913b502bbe78 (patch) (side-by-side diff)
tree44827c23c1d72591d569ffa277feb75480041443
parentff68b29b914fc3fbc3aa777d3e3ceeb8a64ecc09 (diff)
downloadkdepimpi-eb83d8b5542de9ca0c421ad6aca2913b502bbe78.zip
kdepimpi-eb83d8b5542de9ca0c421ad6aca2913b502bbe78.tar.gz
kdepimpi-eb83d8b5542de9ca0c421ad6aca2913b502bbe78.tar.bz2
abc
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--microkde/kresources/factory.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/microkde/kresources/factory.cpp b/microkde/kresources/factory.cpp
index 5fbfa68..4843ce0 100644
--- a/microkde/kresources/factory.cpp
+++ b/microkde/kresources/factory.cpp
@@ -77,128 +77,141 @@ Factory::Factory( const QString& resourceFamily) :
for ( it = plugins.begin(); it != plugins.end(); ++it ) {
QVariant type = (*it)->property( "X-KDE-ResourceType" );
if ( !type.toString().isEmpty() )
mTypeMap.insert( type.toString(), *it );
}
*/
//US new
PluginInfo* info = new PluginInfo;
info->library = "microkabc_file";
info->nameLabel = i18n( "file" );
info->descriptionLabel = i18n( "One file" );
mTypeMap.insert( "file", info );
info = new PluginInfo;
info->library = "microkabc_dir";
info->nameLabel = i18n( "dir" );
info->descriptionLabel = i18n( "A directory with many files" );
mTypeMap.insert( "dir", info );
info = new PluginInfo;
info->library = "microkabc_ldap";
info->nameLabel = i18n( "ldap" );
info->descriptionLabel = i18n( "Connect to a directory server" );
mTypeMap.insert( "ldap", info );
//US add opie plugin only, if the library exists.
/*US
QString libname = "microkabc_opie";
QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
if ( !path.isEmpty() )
{
info = new PluginInfo;
info->library = libname;
info->nameLabel = i18n( "opie" );
info->descriptionLabel = i18n( "Opie PIM Addressbook." );
mTypeMap.insert( "opie", info );
}
*/
//US add qtopia plugin only, if the library exists.
QString libname = "microkabc_qtopia";
QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
if ( !path.isEmpty() )
{
info = new PluginInfo;
info->library = libname;
info->nameLabel = i18n( "qtopia" );
info->descriptionLabel = i18n( "Qtopia PIM Addressbook." );
mTypeMap.insert( "qtopia", info );
}
//US add sharp plugin only, if the library exists.
libname = "microkabc_sharpdtm";
path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
if ( !path.isEmpty() )
{
info = new PluginInfo;
info->library = libname;
info->nameLabel = i18n( "sharp" );
info->descriptionLabel = i18n( "Sharp DTM Addressbook." );
mTypeMap.insert( "sharp", info );
}
+ //LR add ol plugin only, if the library exists.
+ libname = "microkabc_olaccess";
+ path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
+ if ( !path.isEmpty() )
+ {
+ info = new PluginInfo;
+ info->library = libname;
+ info->nameLabel = i18n( "sharp" );
+ info->descriptionLabel = i18n( "Outlook Addressbook." );
+ mTypeMap.insert( "olaccess", info );
+ }
+
+
}
Factory::~Factory()
{
}
QStringList Factory::typeNames() const
{
//US method QMap::keys() not available yet. SO collect the data manually
//US return mTypeMap.keys();
QStringList result;
QMap<QString, PluginInfo*>::ConstIterator it;
for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) {
result << it.key().latin1();
// qDebug("Factory::typeNames() : %s ", it.key().latin1());
}
return result;
}
ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent )
{
if ( type.isEmpty() || !mTypeMap.contains( type ) )
return 0;
//US KService::Ptr ptr = mTypeMap[ type ];
//US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() );
PluginInfo* pi = mTypeMap[ type ];
KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() );
if ( !factory ) {
qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1());
kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl;
return 0;
}
PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory );
if ( !pluginFactory ) {
qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1());
kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl;
return 0;
}
ConfigWidget *wdg = pluginFactory->configWidget( parent );
if ( !wdg ) {
//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl;
qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1());
return 0;
}
return wdg;
}
QString Factory::typeName( const QString &type ) const
{
if ( type.isEmpty() || !mTypeMap.contains( type ) )
return QString();
//US KService::Ptr ptr = mTypeMap[ type ];
//US return ptr->name();
PluginInfo* pi = mTypeMap[ type ];