[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/runtime/plasma/scriptengines/javascript/plasmoid
From: Marco Martin <notmart () gmail ! com>
Date: 2010-10-23 17:30:11
Message-ID: 20101023173011.06721AC897 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1189005 by mart:
loadService() function to load services without dataengines.
will be propagated to the js appletscript too
M +20 -0 declarativeappletscript.cpp
M +1 -0 declarativeappletscript.h
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/declarativeappletscript.cpp \
#1189004:1189005 @@ -368,6 +368,7 @@
bindI18N(m_engine);
global.setProperty("dataEngine", \
m_engine->newFunction(DeclarativeAppletScript::dataEngine));
global.setProperty("service", \
m_engine->newFunction(DeclarativeAppletScript::service)); + \
global.setProperty("loadService", \
m_engine->newFunction(DeclarativeAppletScript::loadService));
//Add stuff from Qt
ByteArrayClass *baClass = new ByteArrayClass(m_engine);
@@ -423,6 +424,25 @@
return engine->newQObject(service, QScriptEngine::AutoOwnership);
}
+QScriptValue DeclarativeAppletScript::loadService(QScriptContext *context, \
QScriptEngine *engine) +{
+ if (context->argumentCount() != 1) {
+ return context->throwError(i18n("service() takes one argument"));
+ }
+
+ QString pluginName = context->argument(0).toString();
+
+ AppletInterface *interface = AppletInterface::extract(engine);
+ if (!interface) {
+ return context->throwError(i18n("Could not extract the Applet"));
+ }
+
+ Plasma::Service *service = Plasma::Service::load(pluginName, interface);
+
+ //kDebug( )<< "lets try to get" << source << "from" << dataEngine;
+ return engine->newQObject(service, QScriptEngine::AutoOwnership);
+}
+
void DeclarativeAppletScript::setEngine(QScriptValue &val)
{
if (val.engine() == m_engine) {
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/declarativeappletscript.h \
#1189004:1189005 @@ -67,6 +67,7 @@
static QScriptValue newPlasmaExtenderItem(QScriptContext *context, QScriptEngine \
*engine);
static QScriptValue dataEngine(QScriptContext *context, QScriptEngine *engine);
static QScriptValue service(QScriptContext *context, QScriptEngine *engine);
+ static QScriptValue loadService(QScriptContext *context, QScriptEngine *engine);
public Q_SLOTS:
void dataUpdated(const QString &name, const Plasma::DataEngine::Data &data);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic