Installing Plasma.Service *.operations file
Aaron J. Seigo
aseigo at kde.org
Thu Dec 23 00:40:59 CET 2010
On Wednesday, December 22, 2010, Thomas Olsen wrote:
> Except that it doesn't work until it's installed in
> ~/.kde/share/apps/plasma/services. I thought I had messed up my code but it
> works again after I copied it there.
no, that's quite wrong: packages should never install files outside of
themselves ...
bet the Python DataEngine bindings are messed up and don't check for the file
in the "services" location.
*looks*
yes, that's it. *grumble*
the Javascript bindings have a class called JavaScriptService which does this:
void JavaScriptService::registerOperationsScheme()
{
if (!m_dataEngine) {
return;
}
const QString path = m_dataEngine.data()->filePath("services", name() +
".operations");
if (path.isEmpty()) {
kDebug() << "Cannot find operations description:" << name() <<
".operations";
m_dataEngine.clear();
return;
}
QFile file(path);
setOperationsScheme(&file);
}
since the Service does not know about the DataEngine (and can't, at least not
in a reliable fasion; it can be told about the DataEngine, but only after its
too late .. and using the QObject hierarchy is just too error prone and would
invalidate valid use cases where the DataEngine isn't an ancestor), the
ScriptEngine needs to provide a service subclass that does as the above.
you may be able to work around that in your Python code by creating a
Plasma::Service subclass yourself which does the above? it realy does belong
in the Python ScriptEngine, in any case, but that's beyond my python mojo to
do :)
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20101222/1c3e7e0c/attachment.sig
More information about the Plasma-devel
mailing list