Last Week in KOffice — week 25 and 26

By boudewijn

I am writing this in a sweltering college room in Tampere, where we are having the annual KDE e.V. meeting. In response to the previous issue, it was suggested that it might be nice to group the activity by application, so let’s try that this time! (Note after writing: this about triples the time I need for Last Week in KOffice, so I’ll revert to work-done-by-person for the next issue.)

These two weeks saw 278 commits (excluding Krita), which is a pretty nice level of activity!

Cyrille Berger has also tagged KOffice 2.2.1. There are quite a number of nice bug fixes in there that improve on KOffice 2.2.0. It will be released next week!

Core stuff

The really cool think about KOffice is the amount of sharing that is done. It means that work on the core or the plugins benefits everyone. I’ll first mention Michael Drueing and Björn Breitmeyer who worked on making KOffice compile on Windows again — it’s an ongoing task in a world where all developers use Linux to develop on. The perils of software monoculture!

Marijn Kruisselbrink fixed the scaling of vector graphics, so display of wmf graphics should be much improved.

Google summer of code student Cyril Oblikov (also known as munknex on ric) has started committing his work — the mind-mapping tree plugin. This can put any KOffice shape in a tree and is very cool:

Thomas Zander made the visibility of the cursor when editing text more consistent — the cursor no longer blinks when backspacing, like it doesn’t blink when using the cursor keys.

Sven Langkamp fixed support for semi-transparent images in the image plugin, which is used to show raster images everywhere except in Krita. Sven also laid the groundwork for making it possible update resources like gradients or patterns (previously, you could load, remove, add and save, but not change the resources). This was needed to support the automatical creation of foreground/background based gradients. Support for that has landed in Krita. Sven then worked on several bugs in the flake library where not all properties of graphical objects were saved correctly, improving interoperablilty with OpenOffice.

Sebastian Sauer fixed the ugliness in the intial startup dialog, where the splitter between the templates and the template description would be too far to the left. Lovely polish!

Thorsten Zachmann improved the speed of loading vector paths. He also did a lot of performance optimizations when loading styles in text or presentation documents.

KWord

Matus Hanzes and Matus Uzak worked mainly on the .doc filter. Together they added support for floating tables. Matus Uzak together with Jean-Nicholas Artaud worked on support for bookmarks. He also worked on text wrapping and continuous section breaks in the filter. Matus Hanzes worked on the layout code to improve on support for anchors and drawing order.

Lassi Nieminen worked on the .docx filter: this now supports table border styles. He fixed a bug where a picture that was used twice wouldn’t be shown correctly,

Boudewijn Rempt fixed a crash in KWord that would happen when a text frame containing an embedded would be deleted and the text reflowed to another frame.

Thomas Zander improved performance when showing inline images by no longer relayouting all pages up to thepage where the image is shown.

Arjun Asthana committed the first version of filter to load DICOM reports. This kind of file is used extensively in the medical world.

KSpread

There was lots of activity in KSpread, with KSpread maintainer Marijn Kruisselbrink working on the excel filter, fixing the positioning of embedded objects, adding support for grouped rows and columns to the xls filter, fixing the parsing for the CHOOSE formula, fixing the reading invalid .xls files, the parsing of the default row heigh, a crash with password-protected files, support for urls in documents, and loading the right/bottom borders. For .xlsx files, Marijn also fixed the loading of urls, and then made sure urls actually work. Marijn improved the loading peformance of KSpread when loading sheets with lots of formatting.

Stefan Nikolaus was really active, fixing almost too many things to mention. He fixed recalculation on loading, sheet navigation, selection handling, problems with the (function) autocompletion popup, the default cell height when a cell has two lines, crashes in the table shape, some repainting issues, saving of wrapping and vertical text to OpenDocument, the “Consolidate…” action, drag-and-drop, permutations and much, much more. It’s so great to see Stefan back in form after a long absence!

Sebastian Sauer fixed a crash when exporting to CSV and several crash bugs, painting of column and row labels,

KPresenter

Benjamin Port has been very active on his Google Summer of Code project, working especially on adding animation to the text shape, so you can animate the appearance of items in a list, for instance, but also translations and rotation for any object on the slide. Animation in KPresenter is defined by the OpenDocument standard which references the SMIL standard — and implementing SMIL is a lot of work, but Benjamin has already added support for many SMIL features. And we’re not even half-way through the Summer of Code!

Jean-Nicholas Artaud fixed a lot of bugs in the handling of shortcuts in KPresenter. He also fixed a bug where at the end of the presentation all the effects were still visible in the presentation editing mode. It’s great to see Jean-Nicholas continuing work on KPresenter!

Lots of work has been done on the pptx filter: Inge Wallin improved slide layouts and added support for background images and colors. He also made nested graphical styles work. Lassi Nieminen added initial support for OLE objects to the .pptx filter. Sebastian Sauer improved support for templates and slide numbering. Carlos Licea improved the logic for detecting whether a text frame is a placeholder or contains real text — which is a bit complicated since by default text frames contain dummy “Latin” text.

Sebastian and Carlos worked together to improve the loading of lists in all OfficeOpen-based file formats (i.e., Micrsoft Office 2007).

FreOffice

FreOffice is the mobile version of KOffice. It provides word processing, spreadsheet and presentation viewing capabilities on the Maemo platform. Anyone with a Nokia N900 should have it installed! It uses kword, kpresenter and kspread internally.

Until now, FreOffice was only a document viewer. However, Ajay Pratap Pundhir and his mates have added editing capabilities to the wordprocessing and presentation modules of FreOffice. This is already pretty advanced — see the YouTube video. The spreadsheet module will follow!

Sugnan Prabhu added a cool slide preview/nagigation mode for the presentation part:

Gopalakrishna Bhat added a drawing and highlighting tool to the presentation module. This is a first cut implementation that makes it possible to draw the slide you’ve shown on screen using the N900. Already the N900 is probably the most frequent phone at Akademy, but next year, it, or its successor should also be the most used presentation device! Just bring enough tv-out dongles!

Likewise, there’s also a scribble function. These two functionalities also exist in the desktop version, written by Jean-Nicholas Artaud, and now have found their way to the mobile version. The fun thing here is that you can synchronize the presentation running on your N900 and on your laptop, and use your N900 to manage the presentation on your desktop.

KPlato

Dag Anders improved the legend display for charts included in a project plan, fixed a crash when using planes in a cartesian grid and made sure the right plane isused. Then he integrated the new KoReport library with KPlato and fixed the scripting plugin.

Kexi

Adam Pigg started adding scripting and searching to the report module for Kexi and KPlato. He also implemented export to ODT files for reports.

Bug Triaging

Nokia has moved all the bugs they found in KOffice but which were stored in the Maemo bug database to bugs.kde.org. Nandita and Achala have been managing these Maemo-KOffice bugs for some time already, but will now start doing the same for the KOffice bugsin bugs.kde.org. Both have been testing KOffice and the mobile variants of KOffice for over a year now — but it’s still not to late to say hello!

Conclusion

I’m not promising anything, mind, but I am working on putting KOffice in the OpenSUSE build service and I hope to be able to publish a KOffice installer for most current Linux distributions together with Last Week in Krita — then you can immediately play with all the cool stuff the developers are cranking out!

2 Responses to “Last Week in KOffice — week 25 and 26”

  1. greg batmarx Says:

    Hi!
    I would like to comment for the excellent paste mechanism that functions with kword 2.2!
    It is 10 times faster than this of the openoffice and maybe even faster than this of ms office!
    I copy-pasted from the internet texts of mine, that are tens of pages big ,in the kword and it did happen in a time of few seconds.
    Congratulations and keep up the good work!

    I am trying to learn programming so that in the future I could help you…
    (using gnu/linux/64 bit kubuntu and this comment will appear in the thread of the official release of koffice 2.2 too)

    greg

  2. Ammar_Dento Says:

    Thank you for your work! Open source is great & your work is great! I wish i know something about programming so i can help you :)