So I merged the reworked Subversion plugin back into kdevelop’s trunk last week. The immediate consequences are
- less GUI, in particular no way to get a log between specific revisions, or a diff
- the context stuff from the new history widget is broken, due to different design ideas between VcsJob and KJob
However code-wise its a lot cleaner, IMHO. Much less low-level care-taking of memory pools, copying of char* and what not. On the other hand rapidsvn’s C++ library proved to be a bit incomplete, though it was relatively easy to extend the existing client.
On the brighter side, the new models and widgets in the plugin are already general enough to be moved to the vcs library so that any kdevelop4 plugin can easily ask a projects vcs support to fetch a log and have it displayed in a dialog. This will make it possible to have a generalized context menu in the project manager, so you’d have a “Vcs” submenu, instead of “Cvs”, “Subversion”, “Git”, “…” depending on which item you look at.
Other great news: KDevelop4 can now build, install and clean CMake and QMake projects. First I had checkboxes in front of each folder and target item in the project manager. But after about a week of seeing this I think this simply doesn’t work, its not obvious that the checkbox allows to select the items that “Build” should build. So I took up the suggestion from the kdevelop-devel list and added a detail view to the project manager again. For now its just a buildset view, you can add/remove items from the project manager to it and then have kdevelop build all items in it. Its also already hideable and has a preliminary switcher, so later other detail views can be added.
Currently I’m thinking about adding one that lists the non-project files in a folder that is selected in the projectmanagement view. There’s no way yet to add items to a project (the managers don’t implement that yet), so something like this is really needed when we want to start working with KDevelop4 (we == the kdev hackers).
Last but not least: I hope Hamish doesn’t shoot me for leaking this, but KDevelop4 got a new GUI mode. Or to be precise, it got its old one revamped. Yes thats right, KDevelop4 will have an IDEAl mode, that means toolbuttons and splitters instead of Qt dockwidgets, but it also means auto-hiding toolviews as we had in 3.3 and earlier. It already has a killer feature from Eclipse: Maximize, yes Sir thats right. KDevelop4 can maximize any of its toolviews with a simple click or a simple keyboard shortcut. I haven’t yet tested all features of the new Ui, but I already know it rocks. Thanks Hamish.
Ok, as I’ve written a lot today here are two screenshots from the current state of kdevelop4.