Category Archives: KDE

Kate progress, Git and happy new year ;)

As Dominik already points out in his blog, Kate has made nice progress for KDE 4.6.

Some of the latest fixes, like for some nasty search bug didn’t make it in RC1, btw., I was too lame with Git -> SVN syncs.
Anyway, I have now synced and backported to KDE 4.6 branch all pending fixes.

For the next KDE SC release 4.7 (here you go, I wrote SC :)), I hope this syncing will no longer be necessary.
At least Kate app + part + KWrite should then be only in the kate.git.
I can live with ktexteditor remaining in kdelibs, if removing that and still keeping BC and SC would be too much work. But part and app are at most runtime dependencies anyway.

Last but not least, I wish you all a good start into a happy new year ;)

KDevelop 4.2 Beta 1 released

Hey all,

I’m happy to announce the immediate availability of KDevelop 4.2 Beta 1. This is a testing version and any kind of feedback would be welcome and appreciated. Please use our bugtracker. You can download the sources or wait for your distribution to create packages.

Note: Anyone who runs KDE 4.6 or later needs this version (or any later). This is because the SmartRange interface in Kate got nuked and replaced with MovingRange interface. Many thanks to David Nolden for more or less single handedly porting KDevelop to this new architecture.

The good news doesn’t end here though, KDevelop 4.2 ships with lots of notable changes and new features:

  • MovingRange` support (Thanks to David Nolden)
  • Grep Plugin rewrite with replace functionality (Thanks to Silvere Lestang, Julien Desgats, Benjamin Port)
  • QtHelp plugin now supports arbitrary .qch files (Thanks to Benjamin Port)
  • ManPage plugin (Thanks to Benjamin Port, Yannick Motta)
  • new look for code assistants (Thanks to Olivier JG)
  • filter for the project model view (Thanks to Eugene Agafonov)
  • improved “Problems” toolview, along with “TODO/FIXME” browsing (Thanks to Dmitry Risenberg)
  • better standards compliance in the C++ macro implementation (Thanks to Dmitry Risenberg)
  • argument dependent lookup for the C++ plugin (Thanks to Ciprian Ciubotariu)
  • open with external application by default (esp. useful for Qt Designer .ui files)
  • PHP: rainbow colors for all vars (and no nested functions or similar), esp. useful for scripts without Classes/Functions
  • code cleanup for working sets
  • better handling of locked sessions (locked session gets activated or the user gets asked whether he wants to remove the lock file)
  • improved Snippets editing usability

Along with these big changes, lots of small improvements have been made and we will continue to polish and harden out this branch in order to give you a stable, fast KDevelop 4.2 soon. Considering the impact and amount of changes, testing would be very welcome in order to prevent regressions and similar in the final 4.2 version.

Bye and thanks again to all contributors who made this possible. I’m especially thrilled to welcome so many new people, well done!

KDevelop 4.2 Beta 1 released

Hey all,

I’m happy to announce the immediate availability of KDevelop 4.2 Beta 1. This is a testing version and any kind of feedback would be welcome and appreciated. Please use our bugtracker. You can download the sources or wait for your distribution to create packages.

Note: Anyone who runs KDE 4.6 or later needs this version (or any later). This is because the SmartRange interface in Kate got nuked and replaced with MovingRange interface. Many thanks to David Nolden for more or less single handedly porting KDevelop to this new architecture.

The good news doesn’t end here though, KDevelop 4.2 ships with lots of notable changes and new features:

  • MovingRange` support (Thanks to David Nolden)
  • Grep Plugin rewrite with replace functionality (Thanks to Silvere Lestang, Julien Desgats, Benjamin Port)
  • QtHelp plugin now supports arbitrary .qch files (Thanks to Benjamin Port)
  • ManPage plugin (Thanks to Benjamin Port, Yannick Motta)
  • new look for code assistants (Thanks to Olivier JG)
  • filter for the project model view (Thanks to Eugene Agafonov)
  • improved “Problems” toolview, along with “TODO/FIXME” browsing (Thanks to Dmitry Risenberg)
  • better standards compliance in the C++ macro implementation (Thanks to Dmitry Risenberg)
  • argument dependent lookup for the C++ plugin (Thanks to Ciprian Ciubotariu)
  • open with external application by default (esp. useful for Qt Designer .ui files)
  • PHP: rainbow colors for all vars (and no nested functions or similar), esp. useful for scripts without Classes/Functions
  • code cleanup for working sets
  • better handling of locked sessions (locked session gets activated or the user gets asked whether he wants to remove the lock file)
  • improved Snippets editing usability

Along with these big changes, lots of small improvements have been made and we will continue to polish and harden out this branch in order to give you a stable, fast KDevelop 4.2 soon. Considering the impact and amount of changes, testing would be very welcome in order to prevent regressions and similar in the final 4.2 version.

Bye and thanks again to all contributors who made this possible. I’m especially thrilled to welcome so many new people, well done!

KDevelop and Kate advancements over the last weeks

Hey all,

I didn’t blog in a long while so I thought I’d dump some notable things I did over the last weeks. It’s probably neither complete nor thorough - you should try it all out to see it for yourself :)

Kate

Lets start small with my Kate contributions. I really concentrate on KDevelop nowadays since Kate works quite well for me and I don’t have many itches to scratch anymore :) So, what did I do these last weeks? Mostly cleanup and performance work, especially regarding MovingRanges which of course is mostly needed for a good experience in the upcoming KDevelop 4.2. With the help of Dominik Haumann I also went through our indentation unit tests and made sure we expect all currently failing test cases, as well as fixing those I could. Now we (finally!) have a passing test suite and get noticed about introduced regressions. Awesome!

KDevelop

Of course I still concentrate my contributions on KDevelop and related plugins. What I find quite interesting is that I’m now for over two months in a “polish-and-bugfixing”-mode, without adding much new features. I think that shows that I’m quite satisfied with the existing features, just not with the way they are integrated. E.g. the Kate performance improvements above were done in order to make “reformat source” not hang the IDE for a couple of seconds anymore, in KDevelop 4.2 it will only be like one second for really big source files. I’ve also tackled our black sheep, the “launch configuration” dialog. I didn’t rewrite it, but I did some polishing and have some more ideas to hopefully get it into a useable state. Oh, I just remember: I also spent some time on the “Snippets” plugin, restructured the editor dialogs a bit and made them use Katepart as well, for syntax highlighting and proper editor features :)

I generally care about small things nowadays, like e.g. that all widgets have a proper tooltip. This is also something where you all could help: If you find a widget in KDevelop master (4.2) that has no tooltip, please notify me! I’ve added those e.g. to the outline and quickopen toolbar widgets among others.

And since KDevelop 4.1 was in beta stage I’ve fixed lots of bugs and continue to do that. I triage each new bug for KDevelop/KDevplatform, request feedback and valgrind logs and try to fix whatever I can. Even now I can safely assume that KDevelop 4.2 will be more stable than 4.1, even though we did lots of architectural changes in the platform, esp. regarding MovingRanges.

And now to the last and to me most pleasing part: New features! Remember how I said I didn’t do lots of feature development at all these past days? This is basically true, instead I let others do the work :) We really get more and more patches and merge requests by other people, and I did merge quite some changes already. We have an improved “find in files” plugin now, and the French students are working hard on giving it replace functionality as well! We already merged their improved QtHelp plugin that gives you the ability to integrate arbitrary .qch files into KDevelop, e.g. the KDE Api documentation. They also work on [man integration](, which will be a joy for all STD C / C++ developers.

Furthermore we now have a “Filter…” line edit above the project manager view, “Argument Dependent Lookup” for the C++ plugin, a much improved “Problems” toolview, with the ability to show TODOs etc. pp.

This is just from the last few weeks, and it’s work done by many new contributors. It’s really very cool to see this happening.

Oh, and I personally worked a bit on the QMake support for KDevelop, I’m not sure whether I will manage to get this into a usable state for KDevelop 4.2, but I already use it at work.

Which brings me to the last part of this blog post, release schedules! I’ll finally release a KDevelop 4.1.1 bug fix version next week, and will make sure that there is a 4.2 release just before / shortly after the KDE 4.6 release in January. The big “issue” there is that KDevelop 4.1 will not work with KDE 4.6+, since there are no SmartRanges in Kate from 4.6 anymore. So a big fat warning to any adventurous tester out there: If you want to try KDE 4.6 betas, remember that you’ll have to get KDevelop master (== 4.2) as well somehow!

So, that’s it for now, have a nice sunday everyone :)