diff --git a/scriptengines/javascript/simplebindings/appletinterface.cpp b/scriptengines/javascript/simplebindings/appletinterface.cpp index ee77b88d0..0e98b6920 100644 --- a/scriptengines/javascript/simplebindings/appletinterface.cpp +++ b/scriptengines/javascript/simplebindings/appletinterface.cpp @@ -349,6 +349,22 @@ void AppletInterface::debug(const QString &msg) kDebug() << msg; } +QObject *AppletInterface::findChild(const QString &name) const +{ + if (name.isEmpty()) { + return 0; + } + + foreach (QGraphicsItem *item, applet()->childItems()) { + QGraphicsWidget *widget = dynamic_cast(item); + if (widget && widget->objectName() == name) { + return widget; + } + } + + return 0; +} + void AppletInterface::gc() { QTimer::singleShot(0, m_appletScriptEngine, SLOT(collectGarbage())); diff --git a/scriptengines/javascript/simplebindings/appletinterface.h b/scriptengines/javascript/simplebindings/appletinterface.h index 080a9bb84..962ff879c 100644 --- a/scriptengines/javascript/simplebindings/appletinterface.h +++ b/scriptengines/javascript/simplebindings/appletinterface.h @@ -224,6 +224,7 @@ enum QtScrollBarPolicy { Q_INVOKABLE bool hasExtension(const QString &extension) const; Q_INVOKABLE void debug(const QString &msg); + Q_INVOKABLE QObject *findChild(const QString &name) const; Plasma::DataEngine *dataEngine(const QString &name);