diff --git a/shell/scripting/containment.h b/shell/scripting/containment.h --- a/shell/scripting/containment.h +++ b/shell/scripting/containment.h @@ -76,7 +76,7 @@ void setWallpaperMode(const QString &wallpaperMode); Q_INVOKABLE QJSValue widgetById(const QJSValue ¶mId = QJSValue()) const; - Q_INVOKABLE QJSValue addWidget(const QJSValue &v = QJSValue(), qreal x = -1, qreal y = -1, qreal w = -1, qreal h = -1); + Q_INVOKABLE QJSValue addWidget(const QJSValue &v = QJSValue(), qreal x = -1, qreal y = -1, qreal w = -1, qreal h = -1, const QVariantList &args = QVariantList()); Q_INVOKABLE QJSValue widgets(const QString &widgetType = QString()) const; public Q_SLOTS: diff --git a/shell/scripting/containment.cpp b/shell/scripting/containment.cpp --- a/shell/scripting/containment.cpp +++ b/shell/scripting/containment.cpp @@ -173,7 +173,7 @@ return QJSValue(); } -QJSValue Containment::addWidget(const QJSValue &v, qreal x, qreal y, qreal w, qreal h) +QJSValue Containment::addWidget(const QJSValue &v, qreal x, qreal y, qreal w, qreal h, const QVariantList &args) { if (!v.isString() && !v.isQObject()) { return d->engine->newError(i18n("addWidget requires a name of a widget or a widget object")); @@ -194,7 +194,7 @@ containmentItem = d->containment.data()->property("_plasma_graphicObject").value(); if (containmentItem) { - QMetaObject::invokeMethod(containmentItem , "createApplet", Qt::DirectConnection, Q_RETURN_ARG(Plasma::Applet *, applet), Q_ARG(QString, v.toString()), Q_ARG(QVariantList, QVariantList()), Q_ARG(QRectF, geometry)); + QMetaObject::invokeMethod(containmentItem , "createApplet", Qt::DirectConnection, Q_RETURN_ARG(Plasma::Applet *, applet), Q_ARG(QString, v.toString()), Q_ARG(QVariantList, args), Q_ARG(QRectF, geometry)); } if (applet) { return d->engine->wrap(applet); @@ -205,7 +205,7 @@ //Case in which either: // * a geometry wasn't provided // * containmentItem wasn't found - applet = d->containment.data()->createApplet(v.toString()); + applet = d->containment.data()->createApplet(v.toString(), args); if (applet) { return d->engine->wrap(applet);