[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-24 12:17:22
Message-ID: 20101024121722.87FD6AC897 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1189270 by mart:
loadService in SimpleJavaScriptApplet
M +20 -0 simplejavascriptapplet.cpp
M +1 -0 simplejavascriptapplet.h
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/simplejavascriptapplet.cpp \
#1189269:1189270 @@ -506,6 +506,7 @@
bindI18N(m_engine);
global.setProperty("dataEngine", \
m_engine->newFunction(SimpleJavaScriptApplet::dataEngine));
global.setProperty("service", \
m_engine->newFunction(SimpleJavaScriptApplet::service)); + \
global.setProperty("loadService", \
m_engine->newFunction(SimpleJavaScriptApplet::loadService));
// Expose applet interface
const bool isPopupApplet = qobject_cast<Plasma::PopupApplet *>(applet());
@@ -610,6 +611,25 @@
return engine->newQObject(service, QScriptEngine::AutoOwnership);
}
+QScriptValue SimpleJavaScriptApplet::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);
+}
+
QScriptValue SimpleJavaScriptApplet::animation(QScriptContext *context, \
QScriptEngine *engine) {
if (context->argumentCount() != 1) {
--- trunk/KDE/kdebase/runtime/plasma/scriptengines/javascript/plasmoid/simplejavascriptapplet.h \
#1189269:1189270 @@ -89,6 +89,7 @@
static QScriptValue jsi18ncp(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);
static QScriptValue loadui(QScriptContext *context, QScriptEngine *engine);
static QScriptValue newPlasmaSvg(QScriptContext *context, QScriptEngine \
*engine);
static QScriptValue newPlasmaFrameSvg(QScriptContext *context, QScriptEngine \
*engine);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic