Index: akregator/src/akregator_part.h
===================================================================
--- akregator/src/akregator_part.h	(revision 782948)
+++ akregator/src/akregator_part.h	(working copy)
@@ -76,7 +76,7 @@
         typedef MyBasePart inherited;
 
         /** Default constructor.*/
-        Part(QWidget *parentWidget, QObject *parent, const QStringList&);
+        Part(QWidget *parentWidget, QObject *parent, const QVariantList&);
 
 	   /** Destructor. */
         ~Part();
Index: akregator/src/mainwindow.cpp
===================================================================
--- akregator/src/mainwindow.cpp	(revision 782948)
+++ akregator/src/mainwindow.cpp	(working copy)
@@ -99,12 +99,12 @@
     // this routine will find and load our Part.  it finds the Part by
     // name which is a bad idea usually.. but it's alright in this
     // case since our Part is made for this Shell
-    KLibFactory *factory = KLibLoader::self()->factory("akregatorpart");
+    KPluginFactory *factory = KPluginLoader("akregatorpart").factory();
     if (factory)
     {
         // now that the Part is loaded, we cast it to a Part to get
         // our hands on it
-        m_part = static_cast<Akregator::Part*>(factory->create(this, "KParts::ReadOnlyPart"));
+        m_part = dynamic_cast<Akregator::Part*>( factory->create<KParts::ReadOnlyPart>(this) );
 
         if (m_part)
         {
Index: akregator/src/akregator_part.cpp
===================================================================
--- akregator/src/akregator_part.cpp	(revision 782948)
+++ akregator/src/akregator_part.cpp	(working copy)
@@ -70,8 +70,8 @@
 
 namespace Akregator {
 
-typedef KParts::GenericFactory<Part> AkregatorFactory;
-K_EXPORT_COMPONENT_FACTORY( akregatorpart, AkregatorFactory )
+K_PLUGIN_FACTORY(AkregatorFactory, registerPlugin<Part>();) 
+K_EXPORT_PLUGIN(AkregatorFactory( "akregatorpart" ))
 
 BrowserExtension::BrowserExtension(Part *p, const char *name)
 	    : KParts::BrowserExtension( p)
@@ -85,7 +85,7 @@
     m_part->saveSettings();
 }
 
-Part::Part( QWidget *parentWidget, QObject *parent, const QStringList& )
+Part::Part( QWidget *parentWidget, QObject *parent, const QVariantList& )
     : MyBasePart(parent)
        , m_standardListLoaded(false)
        , m_shuttingDown(false)
Index: akregator/src/browserframe_p.cpp
===================================================================
--- akregator/src/browserframe_p.cpp	(revision 782948)
+++ akregator/src/browserframe_p.cpp	(working copy)
@@ -61,17 +61,17 @@
         }
 
         KService::Ptr ptr = offers.first();
-        KLibFactory* factory = KLibLoader::self()->factory( ptr->library().toLatin1() );
-        if (factory)
-        {
-            part = static_cast<KParts::ReadOnlyPart *>(factory->create(q, "KParts::ReadOnlyPart"));
-            part->setObjectName(ptr->name());
-            extension = KParts::BrowserExtension::childObject(part);
+        KPluginFactory* factory = KPluginLoader(*ptr).factory();
+        if (!factory)
+          return false;
+        part = factory->create<KParts::ReadOnlyPart>(q);
+        if (!part)
+          return false;
+        part->setObjectName(ptr->name());
+        extension = KParts::BrowserExtension::childObject(part);
             
-            layout->addWidget(part->widget());
-            connectPart();
-        }
-
+        layout->addWidget(part->widget());
+        connectPart();
         return true;
     }
     else
