April 18, 2011

April Update on Calligra

Update on Calligra!

Following the first Calligra developer mini conference^W^Wsprint, the pace of development has remained extremely brisk. Cyrille Berger, Boudewijn Rempt and Inge Wallin are still on track working on the first snapshot release, while Eugene is looking at the feedback on his Calligra logo designs and may well have something really cool real soon now! And the Calligra mentors have been wrangling over ranking the many, many excellent Google Summer of Code proposals we received – for Calligra, easily twice as many as we got last year, when we were still KOffice!


We’re still in a stage, though, where we need to simply do lots of coding to come up to scratch. And lots of coding is exactly what’s being done. So another very technical update!

As the Commit Digest regularly reports, work is ongoing on improving all the Microsoft Office filters on a regular basis. This will probably have to continue until doomsday, but like a penny saved, every improvement make the filters just a little bit better. And by now, they are pretty good already.

Arjen Hiemstra’s huge “find” branch has landed. This is a complete refactoring of the old code we used for finding text in a document. Now we have a modern integrated search bar, incremental search and some very nice highlighting options. Still some work to be done – the search bar is only integrated in Words, some options need to be implemented, but those are almost Junior Jobs, and could be a good way to get started hacking on Calligra.

[caption id=”attachment_1919” align=”aligncenter” width=”341” caption=”Find bar in Words”][/caption]

Sebastian Sauer joined Casper Boemann working on the text layout engine rewrite, as Casper joined Sebastian in Berlin. While we still use QTextLayout and friends, all the old KOffice code is scrapped and replaced by a reliable, testable library. Casper and Sebastian hope to be able to merge this branch into master in the first week of May…

Mani Chandrasekar picked where Boudewijn left off and created a working ePub import filter for words. The goal here is to have a nice and comfortable system for working with ebooks, loading, editing and exporting them.

Boudewijn Rempt after the sprint implemented deferred shape plugin loading. This fixes a long-standing issue with our architecture: applications would load the whole set of shapes (fine-grained objects that can show a particular kind of content, like images) on startup. Since that set includes some shapes that can embed a particular application, like the Tables spreadsheet shape, that means that on startup an application more or less loads all parts of all Calligra applications. A bit of a waste of memory in most cases, so we implemented two-step plugin loading: the first tells the system what is available, and only on real use, we really load the real plugin, which loads all the libraries.

While all talk of KDE 5 is beyond the pale – no such thing will happen for years, KDE 4 is flexible enough that we can use it as our platform for the foreseeable future – work on Kexi’s modern menu implementation continued strongly.

Yue Liu committed automated layouting for Flow, which uses libavoid.

With all the talk about Active KDE, Calligra isn’t going to be left behind. Shantanu Tushar is busy implementing a Qt Quick-based UX for Calligra, and managed to get panning to work.

And finally (though much more has happened, also in Krita) Ganesh Paramasivam’s change tracking branch has been merged into master. Ganesh was sponsored until April 1st by NLnet to implement change tracking following the ODF 1.2 specification. Fortunately, he hasn’t disappeared, but has been actively fixing any issues we’ve been finding after the merge, which was huge!