Vcs and Projectmanagement

November 22, 2007 at 11:25 pm | Posted in KDevelop | 6 Comments

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.

KDevelop4 IDEAl mode, the projectmanager is “docked”, the problem reporter is auto-hide (click the image for the fullsize version).
KDevelop4 ideal mode

KDevelop4 history view, similar to what you get in a toolview in Eclipse (click the image for the fullsize version).
KDevelop4 Svn history dialog


  1. nice to see improvements here!

    About the Gui-mode: I hope the Gui-mode is configurable – as I would prefer Qt Dockwidgets.

    The Maximize-like-Eclipse I won’t need.
    Imho you need it only if you code in too long lines (above 80 chars) – which should be avoided anyway. (which is of course not true for people with a lower resolution – so making the gui-mode configurable is probably the best option)

  2. No, the Qt dockwidget mode is gone for good. We had support for multiple GUI modes in KDevelop3 and it turned out to be a real problem to get them all working properly.

    About the maximize, that has nothing to do with the code being longer than 80 chars, it has something to do with being able to maximize the output of your running application to more easily look at a backtrace. A toolview which shows you 10 lines (if you make it a large toolview) isn’t always enough. Same thing for memory view of the debugger if you want to look at images in memory (which some people want to do).

  3. It’s nice looking. Isn’t your font a little large? 🙂

    I’m especially looking for “DUChain Viewer” tab. Is syntax coloring enabled on your screenshot? Anyway more screenshots are better! I can’t wait to have deb packages of kde4 & kdevelop4!

  4. If you look at my xinerama post which included a screenshot, you’ll notice that I usually use different fonts anyway. But I removed my .kde4 sometime in between and haven’t reconfigured the fonts yet.

    The duchain viewer is IMHO more a tool for people that develop a language support plugin. Or at least last time I looked at it it didn’t provide that much useful information. More interesting is probably the classview (or hopefully codeview later on as it shouldn’t be limited to classes).

    Syntax highlighting is enabled, but the duchain didn’t finish parsing the files includes and thus the highlighting from the C++ part wasn’t active yet when I took the shot.

  5. Thanks apaku! I use KDevelop3 for my C++ small project but I’m looking very forward for 4th version. KWrite features combined with KDevelop’s should give a huge boost to C++ developing. Tonight I’ll try to kdesvnbuild for my own, last time it wasn’t successful.

  6. Kdevelop 3.x rocks, I use it everyday at work and for my free time projects. Glad to hear that there is progress going on for KDevelop 4, I am sure it will rock. Great job guys.

Sorry, the comment form is closed at this time.

Create a free website or blog at
Entries and comments feeds.

%d bloggers like this: