Skip to content
  • Marco Martin's avatar
    Port Plasma Desktop Scripting to QJSEngine · 033ad5ca
    Marco Martin authored
    Summary:
    Port plasma desktop scripting to qjsengine, removing every trace of QScript from plasma-workspace.
    The scripting is 100% API compatible.
    the bindings are partly done on the javascript part as some things are only possible there and not on the QJSEngine part:
    * setting AppInterface as the globalobject's __proto__ with property getters that are evaluated every time
    * setting functions that act as constructors (using newQMetaObject gives way more complex and uglier c++ code in Containment, as the scriptengine is not immediately accessible)
    * a QRectF wrapper which exposes all properties and methods that were exposed in the previous implementation
    
    Test Plan:
    * some manual api test from the interactive console
    * tested both from the desktop console and first start with some pretty complex layouts from lnf packages (the default one, netrunner, united, elpas)
    * tested every property/methos of the qrectf wrapper
    
    Reviewers: #plasma, davidedmundson
    
    Reviewed By:...
    033ad5ca