AUG
11
2009

Refactor 'em All

The week before last into GSoC, and this is how things are:

Sadly I had very little time to work on the project last week because I had to be out of town for the most part. Despite of this setback though, there was a significant improvement, which is the user review widget. What this means is: Screenshot time!

Here I will be using the half-complete Private Implementation(Which takes a class, and converts it's private members to the PIMPL idiom) generator.

First off Is the selection of a context in a class:

(UPDATE: This image is apparently not displaying in a lot of cases, here is the link: Image)

Then either selecting the Private Implementation under Code, or using the Hotkey, the private implementation dialog pops up:

After setting the options, the generator runs, and the changes widget will pop up. If KDevelop is compiled with Kompare support (Which is only available if you have trunk KDE ATM), then the changes widget will start displaying the differences between the original file, and the generated one:

If you want to edit any part of the file(Or if you don't have Kompare support enabled), then by Clicking on the Edit button, the Kompare widget will switch over to a Kate widget, giving you freedom to edit the generated file before it is saved to the disk:

Clicking on the View button will now update the comparison between the original file, and the user edited file, all without a single write to the disk:

By clicking Ok, the changes will be commited to the disk.

Last week of GSoC will be used to finish up the generator, and documentation on the tools available for automatic code generation.

Comments

The number of times I've had to do that bit of refactorization is just too annoying.

A bit of a bugger that Kompare part requires trunk (4.4, I presume). I don't mind running KDevelop from svn (soon git, I hope :D ) but kdelibs is a bit too critical for me to run directly from svn.

Anyway, great work!


By esbenmosehansen at Tue, 08/11/2009 - 08:24

I don't know what your use case is, but for what it's worth I've been running all of KDE from SVN for nearly a year now, and the number of problems I've had (besides occasional compilation issues -- in which case i just keep using the previous revision, no big problem) is very close to zero. Or at least, I cannot remember a single one.

With some projects, building from SVN/CVS/git just means you get the bugfixes sooner.


By Gábor Lehel at Mon, 08/17/2009 - 13:55