[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