[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/kioslave/man
From:       David Faure <faure () kde ! org>
Date:       2011-01-13 12:57:52
Message-ID: 20110113125752.A2F37AC8B3 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1214197 by dfaure:

Ported from KParts::Factory to KPluginFactory. Explained purpose of the class. Cleanups.


 M  +8 -40     kmanpart.cpp  
 M  +4 -26     kmanpart.h  


--- trunk/KDE/kdebase/runtime/kioslave/man/kmanpart.cpp #1214196:1214197
@@ -19,8 +19,8 @@
 
 #include "kmanpart.h"
 
-
 #include <kcomponentdata.h>
+#include <kpluginfactory.h>
 #include <kglobal.h>
 #include <kdebug.h>
 #include <klocale.h>
@@ -28,52 +28,20 @@
 #include <kaboutdata.h>
 #include <kdeversion.h>
 
-extern "C"
+static KAboutData createAboutData()
 {
-   KDE_EXPORT void* init_libkmanpart()
-   {
-      return new KManPartFactory;
+   return KAboutData("kmanpart", "kio_man", ki18n("KMan"), KDE_VERSION_STRING);
    }
-}
 
-KComponentData *KManPartFactory::s_instance = 0L;
-KAboutData* KManPartFactory::s_about = 0L;
+K_PLUGIN_FACTORY(KManPartFactory, registerPlugin<KManPart>();)
+K_EXPORT_PLUGIN(KManPartFactory(createAboutData()))
 
-KManPartFactory::KManPartFactory( QObject* parent )
-   : KParts::Factory( parent )
-{}
 
-KManPartFactory::~KManPartFactory()
-{
-   delete s_instance;
-   s_instance = 0L;
-   delete s_about;
-}
-
-KParts::Part* KManPartFactory::createPartObject( QWidget * parentWidget, QObject *,
-                                 const char* /*className*/,const QStringList & )
-{
-   KManPart* part = new KManPart(parentWidget);
-   return part;
-}
-
-const KComponentData &KManPartFactory::componentData()
-{
-   if( !s_instance )
-   {
-      s_about = new KAboutData( "kmanpart", 0,
-                                ki18n( "KMan" ), KDE_VERSION_STRING );
-      s_instance = new KComponentData(s_about);
-   }
-   return *s_instance;
-}
-
-
-KManPart::KManPart( QWidget * parent )
-: KHTMLPart( parent )
+KManPart::KManPart(QWidget * parentWidget, QObject* parent, const QVariantList&)
+: KHTMLPart(parentWidget, parent)
 ,m_job(0)
 {
-   setComponentData(KComponentData("kmanpart"));
+   setComponentData(KManPartFactory::componentData());
    m_extension=new KParts::BrowserExtension(this);
 }
 
--- trunk/KDE/kdebase/runtime/kioslave/man/kmanpart.h #1214196:1214197
@@ -21,46 +21,24 @@
 #ifndef KMANPART_H
 #define KMANPART_H
 
-#include <QByteArray>
+class QByteArray;
 
-#include <kparts/factory.h>
 #include <kparts/part.h>
 #include <kparts/browserextension.h>
 #include <khtml_part.h>
 #include <kio/job.h>
 #include <kio/jobclasses.h>
 
-class KComponentData;
-class KAboutData;
-
 /**
  * Man Page Viewer
- * \todo: Why is it needed? Why is KHTML alone not possible?
+ * This is needed so that we can open local files using the man: protocol transparently.
+ * Testcase: click on a man page file (e.g. makekdewidgets.1) in konqueror.
  */
-class KManPartFactory: public KParts::Factory
-{
-   Q_OBJECT
-   public:
-      KManPartFactory( QObject * parent = 0 );
-      virtual ~KManPartFactory();
-
-      virtual KParts::Part* createPartObject( QWidget * parentWidget,
-                                QObject* parent, const char * classname,
-                                const QStringList &args);
-
-      static const KComponentData &componentData();
-
-   private:
-      static KComponentData *s_instance;
-      static KAboutData * s_about;
-
-};
-
 class KManPart : public KHTMLPart
 {
    Q_OBJECT
    public:
-      KManPart( QWidget * parent );
+      KManPart( QWidget * parent, QObject*, const QVariantList& );
       KParts::BrowserExtension * extension() {return m_extension;}
 
    public Q_SLOTS:
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic