Sonntag, 7. Juni 2009

KOffice Developer Meeting

I am just back from the KOffice Developer Meeting in Berlin, hosted by the nice folks at KDAB. Jaroslaw, Hanna and Alexandra already blogged about it. Since this was my first open source developer meeting and I am pretty new to the team, it was a very interesting experience. And I have to say, the koffice developers are an extremly nice bunch of people. Meeting all of them in person instead of only knowing them form IRC lets you feel to be a part of the team much more. On Friday there was mostly individual hacking until most people arrived, followed by a dinner in a nice Indian/Singapurian place.

On Saturday many interesting presentations about change tracking, the library organization, the next release, ... Better check out Hannas blog. A lot of hacking and discussion in the evening again, I got fixed a bug in the picture shape (in around 5 minutes after I posted it, thanks Marijn). I myself fixed some bugs in the way the formula shape uses flake, it is really good to have some experts sitting nearby. As a big surprise some guys from Nokia were there and four of us got free N810s. Thanks some much, what a cool device. Today again hacking and discussion, I left relatively early, while sitting in the train home to Dresden I added the ability to select text in the formula shape by double clicking. One item off from my todo list.

GSOC week2 and Hello Planet

Since this is the first post that hoepfully gets aggregated on Planet KDE a big Hello to everybody reading this over there. I am a GSOC student working on KFormula (the formula editor of KOffice). Everything about my project can be read in my last post.

So since already two weeks of GSOC passed without me blogging it is time for a status update. I am quite well in my schedule. There is navigation code now for almost all elements except Sub-/Superscript and Under-/overscript because they have some minor loading problems. avigation in formulas is quite complicated because you don't just have a linear structure like in text but a 2 dimensional one that consists of nested sub expressions. Consider the following example


When I press left, where should the cursor go? Behind the 1 or the 2 (I put it after the 2 and when the cursor is before the fraction and has to move right, I place it before the 1, but this is an relativelyvarbitrary choice).

The last days I worked on selection support. Now it is possible to select elements by clicking with the mouse while holding shift pressed, dragging with the mouse and by moving the cursor with the keyboard while holding shift pressed. A short demonstration can be seen in the following screencast:

The next week I plan to do some refactoring, implement cursor movement by double clicking and implement insertion and deletion at least for elements.