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);