Usually, I start my blog post with a small text, but today I'll show you a screenshot:
This screenshot shows the QML/JS KDevelop plugin working as usual, highlighting declarations and uses, finding types, and displaying nice tool-tips. The code-completion also works even if it is not visible on the screenshot. What is interesting is the look of KDevelop: do you see the flatter theme? The colors that are a bit different than usual? This difference is appearance comes from the fact that this is not the usual KDevelop, this is KDevelop 5, based on Qt5 and on the shiny new KDE Frameworks 5.
The KDevelop team has done an amazing job and KDevelop works very well in its KF5 version. In fact, I'm using it right now, on real code. What is new is that the QML/JS plugin now also works on KDevelop5. I'm at the wonderful Randa meeting, and with the help of several KDE developers, I was able to very quickly port the QML/JS plugin to the latest KDevelop. You can find the KF5 version of the plugin in the frameworks
branch of kde:kdev-qmljs
.
Now that all the power of Qt5 and the KDE Frameworks 5 is available, new features will be possible. They will mostly concern the helper widgets (that will finally start to be useful, for instance by displaying a font dialog allowing you to choose a font family instead of guessing (or opening LibreOffice to see the list)), but having the plugin based on Qt5 will also enable the recognition of Plasma 5 QML packages installed system-wide. In fact, this support was not possible before because the system-wide path in which those plugins are installed is only known to Qt5, and has to be retrieved using QCoreApplication::libraryPaths
. The plugin therefore needs to link against Qt5 in order to use this method.
Here are some more screenshots, showing the helper widgets ported to QtQuick 2 (and QtQuick.Controls, providing the slider):
It is only the beginning of the Randa meeting and many more things are still to come! There are many discussions ongoing, and it is wonderful to meet KDE developers in real life and to talk with them. Exchanging ideas is very easy (it basically consists of shouting a question across the room), and we get the occasion to discuss with people working on very different projects. This is very interesting!