summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kresources/factory.cpp54
1 files changed, 33 insertions, 21 deletions
diff --git a/microkde/kresources/factory.cpp b/microkde/kresources/factory.cpp
index 2253de4..f82e94c 100644
--- a/microkde/kresources/factory.cpp
+++ b/microkde/kresources/factory.cpp
@@ -42,5 +42,5 @@ static KStaticDeleter< QDict<Factory> > staticDeleter;
Factory *Factory::self( const QString& resourceFamily )
{
-
+
Factory *factory = 0;
@@ -55,5 +55,5 @@ Factory *Factory::self( const QString& resourceFamily )
factory = new Factory( resourceFamily );
mSelves->insert( resourceFamily, factory );
- }
+ }
return factory;
@@ -65,6 +65,6 @@ Factory::Factory( const QString& resourceFamily ) :
//US so far we have three types available for resourceFamily "contact"
// and that are "file", "dir", "ldap"
-/*US
-
+/*US
+
KTrader::OfferList plugins = KTrader::self()->query( "KResources/Plugin", QString( "[X-KDE-ResourceFamily] == '%1'" )
.arg( resourceFamily ) );
@@ -75,7 +75,7 @@ Factory::Factory( const QString& resourceFamily ) :
mTypeMap.insert( type.toString(), *it );
}
-*/
+*/
-//US new
+//US new
PluginInfo* info = new PluginInfo;
info->library = "microkabc_file";
@@ -89,5 +89,5 @@ Factory::Factory( const QString& resourceFamily ) :
info->descriptionLabel = i18n( "Choose a directory with may files" );
mTypeMap.insert( "dir", info );
-
+
info = new PluginInfo;
info->library = "microkabc_ldap";
@@ -96,5 +96,5 @@ Factory::Factory( const QString& resourceFamily ) :
mTypeMap.insert( "ldap", info );
- //US add opie plugin only, if the library exists
+ //US add opie plugin only, if the library exists.
QString libname = "microkabc_opie";
QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
@@ -108,5 +108,5 @@ Factory::Factory( const QString& resourceFamily ) :
}
- //US add qtopia plugin only, if the library exists
+ //US add qtopia plugin only, if the library exists.
libname = "microkabc_qtopia";
path = KLibLoader::findLibrary( QFile::encodeName( libname ) );
@@ -119,5 +119,17 @@ Factory::Factory( const QString& resourceFamily ) :
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 );
+ }
+
}
@@ -131,7 +143,7 @@ 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 ) {
@@ -173,5 +185,5 @@ ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent )
}
return wdg;
-
+
}
@@ -181,10 +193,10 @@ QString Factory::typeName( const QString &type ) const
return QString();
-
+
//US KService::Ptr ptr = mTypeMap[ type ];
//US return ptr->name();
PluginInfo* pi = mTypeMap[ type ];
return pi->nameLabel;
-
+
}
@@ -202,10 +214,10 @@ QString Factory::typeDescription( const QString &type ) const
Resource *Factory::resource( const QString& type, const KConfig *config )
{
-
+
if ( type.isEmpty() || !mTypeMap.contains( type ) )
return 0;
-/*US load the lib not dynamicly. !!
+/*US load the lib not dynamicly. !!
KService::Ptr ptr = mTypeMap[ type ];
KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() );
@@ -222,5 +234,5 @@ Resource *Factory::resource( const QString& type, const KConfig *config )
return 0;
}
-
+
PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory );
@@ -230,7 +242,7 @@ Resource *Factory::resource( const QString& type, const KConfig *config )
return 0;
}
-
+
Resource *resource = pluginFactory->resource( config );
- if ( !resource ) {
+ if ( !resource ) {
//US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl;
qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1());
@@ -239,5 +251,5 @@ Resource *Factory::resource( const QString& type, const KConfig *config )
resource->setType( type );
-
+
return resource;
}