mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 00:11:21 +00:00
Port from KParts::Factory to KPluginFactory. Cleanups.
svn path=/trunk/KDE/kdebase/apps/; revision=1214191
This commit is contained in:
parent
8cd3c32c33
commit
19b73be057
|
@ -64,7 +64,7 @@ if (X11_Xt_LIB)
|
|||
########### install files ###############
|
||||
|
||||
install( FILES khtml_plugins.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
||||
install( FILES nspluginpart.rc DESTINATION ${DATA_INSTALL_DIR}/plugin )
|
||||
install( FILES nspluginpart.rc DESTINATION ${DATA_INSTALL_DIR}/nsplugin )
|
||||
install( FILES org.kde.nsplugins.CallBack.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
|
||||
|
||||
add_subdirectory( test )
|
||||
|
|
|
@ -29,6 +29,7 @@ Java Plugin from SUN (Well, more like untested since KJava beats us to it)
|
|||
|
||||
Good test sites:
|
||||
http://www.shockwave.com/
|
||||
http://www.adobe.com/products/flashplayer/
|
||||
http://www.apple.com/trailers/
|
||||
http://www.djvuzone.org/
|
||||
http://www.tcl.tk/software/plugin/
|
||||
|
|
|
@ -139,19 +139,15 @@ QString PluginLiveConnectExtension::evalJavaScript( const QString & script )
|
|||
return nsplugin;
|
||||
}
|
||||
|
||||
K_EXPORT_PLUGIN(PluginFactory)
|
||||
|
||||
/**
|
||||
* We need one static instance of the factory for our C 'main'
|
||||
* function
|
||||
*/
|
||||
KComponentData *PluginFactory::s_instance = 0L;
|
||||
|
||||
KComponentData *PluginFactory::s_instance = 0;
|
||||
|
||||
PluginFactory::PluginFactory()
|
||||
: KPluginFactory("plugin", "nsplugin")
|
||||
{
|
||||
kDebug(1432) << "PluginFactory::PluginFactory";
|
||||
s_instance = 0;
|
||||
setComponentData(componentData());
|
||||
|
||||
registerPlugin<PluginPart>();
|
||||
|
||||
// preload plugin loader
|
||||
_loader = NSPluginLoader::instance();
|
||||
|
@ -164,40 +160,36 @@ PluginFactory::~PluginFactory()
|
|||
|
||||
_loader->release();
|
||||
|
||||
if (s_instance) {
|
||||
delete s_instance;
|
||||
s_instance = 0;
|
||||
}
|
||||
delete s_instance;
|
||||
s_instance = 0;
|
||||
}
|
||||
|
||||
KParts::Part * PluginFactory::createPartObject(QWidget *parentWidget, QObject *parent,
|
||||
const char *classname, const QStringList &args)
|
||||
{
|
||||
Q_UNUSED(classname)
|
||||
kDebug(1432) << "PluginFactory::create";
|
||||
KParts::Part *obj = new PluginPart(parentWidget, parent, args);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
const KComponentData &PluginFactory::componentData()
|
||||
{
|
||||
kDebug(1432) << "PluginFactory::instance";
|
||||
|
||||
if (!s_instance) {
|
||||
KAboutData about("plugin", 0, ki18n("plugin"), "1.99");
|
||||
KAboutData about("nsplugin", 0, ki18n("Netscape Plugin"), KDE_VERSION_STRING);
|
||||
s_instance = new KComponentData(about);
|
||||
}
|
||||
return *s_instance;
|
||||
}
|
||||
|
||||
K_EXPORT_PLUGIN(PluginFactory)
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
static int s_callBackObjectCounter;
|
||||
|
||||
PluginPart::PluginPart(QWidget *parentWidget, QObject *parent, const QStringList &args)
|
||||
: KParts::ReadOnlyPart(parent), _widget(0), _args(args),
|
||||
// KDE5: use static public KPluginFactory::variantListToStringList instead.
|
||||
static QStringList variantListToStringList(const QVariantList &list)
|
||||
{
|
||||
QStringList stringlist;
|
||||
Q_FOREACH(const QVariant& var, list)
|
||||
stringlist << var.toString();
|
||||
return stringlist;
|
||||
}
|
||||
|
||||
PluginPart::PluginPart(QWidget *parentWidget, QObject *parent, const QVariantList &args)
|
||||
: KParts::ReadOnlyPart(parent), _widget(0), _args(variantListToStringList(args)),
|
||||
_destructed(0L)
|
||||
{
|
||||
callbackPath = QString::fromLatin1("/Callback") + QString::number(s_callBackObjectCounter);
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#define __plugin_part_h__
|
||||
|
||||
#include <kparts/browserextension.h>
|
||||
#include <kparts/factory.h>
|
||||
#include <kpluginfactory.h>
|
||||
#include <kparts/part.h>
|
||||
#include <QWidget>
|
||||
#include <QPointer>
|
||||
|
@ -37,7 +37,7 @@ class PluginBrowserExtension;
|
|||
class PluginLiveConnectExtension;
|
||||
class PluginPart;
|
||||
|
||||
class PluginFactory : public KParts::Factory
|
||||
class PluginFactory : public KPluginFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -45,14 +45,9 @@ public:
|
|||
PluginFactory();
|
||||
virtual ~PluginFactory();
|
||||
|
||||
virtual KParts::Part * createPartObject(QWidget *parentWidget = 0, QObject *parent = 0,
|
||||
const char *classname = "KParts::Part",
|
||||
const QStringList &args = QStringList());
|
||||
|
||||
static const KComponentData &componentData();
|
||||
|
||||
private:
|
||||
|
||||
static KComponentData *s_instance;
|
||||
class NSPluginLoader *_loader;
|
||||
};
|
||||
|
@ -79,7 +74,7 @@ class PluginPart: public KParts::ReadOnlyPart
|
|||
Q_OBJECT
|
||||
public:
|
||||
PluginPart(QWidget *parentWidget, QObject *parent,
|
||||
const QStringList &args = QStringList());
|
||||
const QVariantList &args = QVariantList());
|
||||
virtual ~PluginPart();
|
||||
|
||||
// CallBack interface (DBus-exported)
|
||||
|
|
Loading…
Reference in a new issue