Review Request 124168: [Cantor] Port plugin load mechanism to new KDE Frameworks 5 way

Aleix Pol Gonzalez aleixpol at kde.org
Wed Jun 24 19:35:44 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124168/#review81731
-----------------------------------------------------------



src/assistants/differentiate/CMakeLists.txt (line 8)
<https://git.reviewboard.kde.org/r/124168/#comment56048>

    I suggest just using json, rather than translating at compile-time. It doesn't buy you anything.
    
    Also you can consider using kcoreaddons_add_plugin macro.


Also I'd suggest to look into how it was done in kdeconnect-kde, it's a simple implementation of what you want to do.

- Aleix Pol Gonzalez


On June 24, 2015, 9:06 p.m., Filipe Saraiva wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124168/
> -----------------------------------------------------------
> 
> (Updated June 24, 2015, 9:06 p.m.)
> 
> 
> Review request for KDE Edu, Aleix Pol Gonzalez, Alexander Rieder, and Sebastian Kügler.
> 
> 
> Repository: cantor
> 
> 
> Description
> -------
> 
> There is a new way to load plugins in KDE Frameworks 5 way. I ported Cantor plugins support to it. Now Cantor is using K_PLUGIN_FACTORY_WITH_JSON, the plugin path is the same of Qt5 ($QT_PLUGIN_PATH) and different types of Cantor plugins are installed in different subdirectories (backends in backends in ${KDE_INSTALL_PLUGINDIR}/cantor/backends, assistants in ${KDE_INSTALL_PLUGINDIR}/cantor/assistants, and panels in ${KDE_INSTALL_PLUGINDIR}/cantor/panels). KPluginInfo was changed to KPluginMetaData too.
> 
> To do it I followed the documentation and [this post](http://vizzzion.org/blog/2013/08/kde-frameworks-5-plugin-factory-guts/) about KDE Frameworks 5 plugins by sebas.
> 
> 
> Diffs
> -----
> 
>   src/CMakeLists.txt 50f26be 
>   src/assistants/advancedplot/CMakeLists.txt 53da352 
>   src/assistants/advancedplot/advancedplotassistant.cpp a1a21ae 
>   src/assistants/differentiate/CMakeLists.txt 3c722a1 
>   src/assistants/differentiate/differentiateassistant.cpp c8bafb1 
>   src/assistants/importpackage/CMakeLists.txt 3db01e2 
>   src/assistants/importpackage/importpackageassistant.cpp e0a9b50 
>   src/assistants/integrate/CMakeLists.txt 23d97fc 
>   src/assistants/integrate/integrateassistant.cpp 601c6b2 
>   src/assistants/linearalgebra/creatematrix/CMakeLists.txt 8829d06 
>   src/assistants/linearalgebra/creatematrix/creatematrixassistant.cpp 3336604 
>   src/assistants/linearalgebra/eigenvalues/CMakeLists.txt b487099 
>   src/assistants/linearalgebra/eigenvalues/eigenvaluesassistant.cpp e4f0cd9 
>   src/assistants/linearalgebra/eigenvectors/CMakeLists.txt 4c6d086 
>   src/assistants/linearalgebra/eigenvectors/eigenvectorsassistant.cpp d8e02b2 
>   src/assistants/linearalgebra/invertmatrix/CMakeLists.txt 7e19591 
>   src/assistants/linearalgebra/invertmatrix/invertmatrixassistant.cpp 9799c6d 
>   src/assistants/plot2d/CMakeLists.txt 2b02874 
>   src/assistants/plot2d/plot2dassistant.cpp 11d9db8 
>   src/assistants/plot3d/CMakeLists.txt bbcac18 
>   src/assistants/plot3d/plot3dassistant.cpp 6b2e764 
>   src/assistants/runscript/CMakeLists.txt 280a237 
>   src/assistants/runscript/runscriptassistant.cpp bb8147d 
>   src/assistants/solve/CMakeLists.txt 2c25598 
>   src/assistants/solve/solveassistant.cpp 7ad1254 
>   src/backends/R/CMakeLists.txt 5e44b3c 
>   src/backends/R/rbackend.cpp a0d9e6a 
>   src/backends/kalgebra/CMakeLists.txt 46a5440 
>   src/backends/kalgebra/kalgebrabackend.cpp 5d7fac9 
>   src/backends/lua/CMakeLists.txt 082f37b 
>   src/backends/lua/luabackend.cpp 30e258e 
>   src/backends/maxima/CMakeLists.txt ca48d90 
>   src/backends/maxima/maximabackend.cpp 86843ef 
>   src/backends/null/CMakeLists.txt 69ffff3 
>   src/backends/null/nullbackend.cpp 602fd49 
>   src/backends/octave/CMakeLists.txt ee3ea92 
>   src/backends/octave/octavebackend.cpp 9842364 
>   src/backends/python2/CMakeLists.txt 02115ee 
>   src/backends/python2/python2backend.cpp 61662ff 
>   src/backends/python3/CMakeLists.txt 6937480 
>   src/backends/python3/python3backend.cpp c83f631 
>   src/backends/qalculate/CMakeLists.txt e0f1c3a 
>   src/backends/qalculate/plotassistant/CMakeLists.txt efdd2d2 
>   src/backends/qalculate/plotassistant/qalculateplotassistant.cpp 1d0ae83 
>   src/backends/qalculate/qalculatebackend.cpp da866ab 
>   src/backends/sage/CMakeLists.txt 131ad07 
>   src/backends/sage/sagebackend.cpp b1a1ef5 
>   src/backends/scilab/CMakeLists.txt 4ce8200 
>   src/backends/scilab/scilabbackend.cpp 0d47595 
>   src/cantor_part.cpp 2e3d36d 
>   src/lib/CMakeLists.txt 9e33924 
>   src/lib/assistant.h f337591 
>   src/lib/assistant.cpp 60c521f 
>   src/lib/backend.cpp 5e64fe7 
>   src/lib/panelplugin.h ebb02fe 
>   src/lib/panelplugin.cpp 1fa61d0 
>   src/lib/panelpluginhandler.cpp 8c73405 
>   src/panelplugins/helppanel/CMakeLists.txt d8f785f 
>   src/panelplugins/helppanel/helppanelplugin.cpp 4611576 
>   src/panelplugins/variablemgr/CMakeLists.txt 88f66d1 
>   src/panelplugins/variablemgr/variablemanagerplugin.cpp 6a7b448 
> 
> Diff: https://git.reviewboard.kde.org/r/124168/diff/
> 
> 
> Testing
> -------
> 
> * Build ok;
> * The plugins are loaded correctly;
> * Select some backend and see the Cantor loading assistants and panels;
> * Utilized some assistants, panels and backends, looks like correct.
> 
> 
> Thanks,
> 
> Filipe Saraiva
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20150624/a5599c63/attachment-0001.html>


More information about the kde-edu mailing list