From ecad3fb2714701c9d91a6a402991dbc11b42aef0 Mon Sep 17 00:00:00 2001 From: Richard Dale Date: Wed, 5 Nov 2008 20:32:51 +0000 Subject: [PATCH] * Add package() and mainScript() methods to the scripting dataengine class * Fix expected load path for a scripting dataengine and change from 'plasma/engines' to 'plasma/dataengines' to be in line with the 'dataengine' type option of the plasmapkg tool CCMAIL: kde-bindings@kde.org svn path=/trunk/KDE/kdelibs/; revision=880550 --- dataengine.cpp | 2 +- scripting/dataenginescript.cpp | 13 +++++++++++++ scripting/dataenginescript.h | 12 ++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/dataengine.cpp b/dataengine.cpp index 97071455a..cc489be29 100644 --- a/dataengine.cpp +++ b/dataengine.cpp @@ -459,7 +459,7 @@ DataEnginePrivate::DataEnginePrivate(DataEngine *e, KService::Ptr service) if (!api.isEmpty()) { const QString path = KStandardDirs::locate("data", - "plasma/engines/" + dataEngineDescription.pluginName() + '/'); + "plasma/dataengines/" + dataEngineDescription.pluginName() + '/'); PackageStructure::Ptr structure = Plasma::packageStructure(api, Plasma::DataEngineComponent); structure->setPath(path); diff --git a/scripting/dataenginescript.cpp b/scripting/dataenginescript.cpp index bfa5a681f..89b7deb24 100644 --- a/scripting/dataenginescript.cpp +++ b/scripting/dataenginescript.cpp @@ -20,6 +20,7 @@ #include "dataenginescript.h" #include "dataengine.h" +#include "package.h" namespace Plasma { @@ -73,6 +74,18 @@ Service *DataEngineScript::serviceForSource(const QString &source) return d->dataEngine->serviceForSource(source); } +QString DataEngineScript::mainScript() const +{ + Q_ASSERT(d->dataEngine); + return d->dataEngine->package()->filePath("mainscript"); +} + +const Package *DataEngineScript::package() const +{ + Q_ASSERT(d->dataEngine); + return d->dataEngine->package(); +} + void DataEngineScript::setData(const QString &source, const QString &key, const QVariant &value) { diff --git a/scripting/dataenginescript.h b/scripting/dataenginescript.h index f09094c22..9b7e0fccd 100644 --- a/scripting/dataenginescript.h +++ b/scripting/dataenginescript.h @@ -98,6 +98,18 @@ public: virtual Service *serviceForSource(const QString &source); protected: + /** + * @return absolute path to the main script file for this plasmoid + */ + QString mainScript() const; + + /** + * @return the Package associated with this plasmoid which can + * be used to request resources, such as images and + * interface files. + */ + const Package *package() const; + void setData(const QString &source, const QString &key, const QVariant &value); void setData(const QString &source, const QVariant &value);