setFailedToLaunch has a weird asymmetric api: now launchErrorMessage is a string property.
failedToLaunch remains and is internally set true the first time a message is set (is not posssible to set it back to false)
the message is in turn used by the scriptengine for the user visible error message.
It is done in 2 places:
if the applet package is invalid (applet not found) the message is created by the containment
if the applet package is valid, but there is a parse error in the qml file the error message is generated by the scriptengine of the applet itself.
I'm still really not happy about how the error ui is generated.
It was not previously possible to use KConfig etc. from declarative
applets, because the relevant qScriptRegisterMetaType functions were not
called. This fixes that by calling registerNonGuiMetaTypes from
registerSimpleAppletMetaTypes.
thanks to emilsedgh for having the special super power of using precisely
what hasn't been properly implemented ... and then reporting it with
nice simple examples we can test with! THAT, my friends, is how it is done.
it seems to work for now, will keep the js scriptengine unchanged for a while to check for eventual problems.
if this work out will make the merge with the qml engine way easier
svn path=/trunk/KDE/kdebase/runtime/; revision=1185556
make appletInterface more generic it could work with QML too
simplejavascriptapplet inherits from an abstract ckass that provides just the virtuals of functions needed by appletinterface so a different scriptengine implementation can be used as well.
The behaviour of the current js bindings should be completely unchanged.
svn path=/trunk/KDE/kdebase/runtime/; revision=1185532