Index ¦ Archives ¦ RSS > Tag: en

Change tracking improvements in LibreOffice Writer spellcheck popup

Estimated read time: 1 minutes

If you ever had to review a document that had change tracking enabled in LibreOffice Writer, you might have noticed an odd behaviour: if e.g. the inserted text has a spelling error, it’s not easy to reject that change. The reason for this is that in case of spelling errors, right mouse click activates the spellcheck popup menu, which lacked the change tracking operations previously.

As you can see in the above screenshot, this is no longer an issue: LibreOffice 4.2 will have the previous change, next change, accept change and reject change operations in the spellcheck popup menu as well.

In one sentence, with LibreOffice 4.2, Writer allows to reject a spelling error it detected itself. ;-)


LibreOffice Conference 2013, Milan

Estimated read time: 1 minutes

This year’s LibreOffice conference was held in Milan, Italy. Links to my slides:

Why so many talks? I couldn’t decide what topic to pick up (git or Writer filters), so I did both, the rest — those weren’t sessions where I spoke for 30+ minutes, so those don’t really count. :-)

Regarding the number of attendees, draw your own conclusions from the group picture, made on 26th — probably more than 100 attendees, counting all days.

Thanks for the organizers for this beautiful event — and also the sponsors, including Google (free food/beer during one hackathon) and CloudOn (fee free/beer during the other hackathon + tablets for the best commits)!

My pictures are available here.

For Hungarian readers, Gábor Kelemen (maintainer of the LibreOffice Hungarian translation) also provided blog posts for the first and second day, also libreoffice.hu had a related article.


'Select All' improvements in LibreOffice Writer 4.2

Estimated read time: 1 minutes

LibreOffice Writer had an old limitation we inherited from OpenOffice.org times: if a document started with a table, it wasn’t possible to select the whole document text. There were various bugreports for this problem: one from more than 2 years ago, an other from 2002 (!) — and I’m happy to post screenshots about how I improved this in LibreOffice 4.2 (before and after):

If you want to try this out yourself, get a daily build and play with it. :-)

That’s all for today, thanks for you attention.


Open Day 2 @ Budapest

Estimated read time: 1 minutes

On Monday, KAMI once again organized an event called "Open Day 2" here at Budapest, to promote free software like Mozilla projects and LibreOffice. I was also invited as a speaker, giving overview of what happened in LibreOffice-land during the past few months. My slides are here.

Thanks for nice evening, it was good to talk again to other free software contributors like our Hungarian Firefox and LibreOffice translator, etc. :-)


OOXML floating table improvements in LibreOffice Writer 4.2

Estimated read time: 1 minutes

I’m posting here a few screenshots showing improvements I’ve recently implemented in our DOCX import and export filter, done in the 4.2 development cycle. Note that final 4.2 is still far from being released, so this is not a complete list. :-) In each case I’m providing a screenshot showing how it looks now on 4.2, how it looked before and the reference layout. Click on the images to get a larger image:

  • document with paragraph shadow (test doc):

OK, this has nothing to do with floating tables. But I promise the rest is all related to that. ;-)

  • document with floating table (test doc):

  • document with floating table and special margins (test doc):

  • the same document after roundtrip (load, save and load again):

If you want to try these out yourself, get a daily build and play with it! :-) If something goes wrong, report it to us in the Bugzilla, so we can try fix it before 4.2 gets branched off. And remember, there are lots more improvements coming in LibreOffice 4.2 (even if some of them is not yet documented), stay tuned! ;-)


Using a git push tree

Estimated read time: 3 minutes

I just checked, I created my git push tree more than a year ago, but yesterday I was reminded that this technique isn’t really documented anywhere, so let me describe it.

Some background: for the LibreOffice codebase, we decided to do all micro-features directly on the master branch. This means that we typically rebase our local master branch against origin/master, then push it. The benefit of this is that code gets wider testing quickly and the commit history is not polluted with meaningless merge commits.

The problem: one drawback of the above situation is that after you pull, some changes of other developers in the lower layers may trigger a full rebuild, typically wasting about an hour of your life (or more, in case of slower machines).

Push tree is one hack to avoid this problem. Using a push tree, you have two separate repositories locally, you update your main one less regularly, and when you have a commit to push, you push it from the push tree to be able to avoid pulling in your main tree.

Here is how to do it. To set this up:

git clone --reference /path/to/master ssh://logerrit/core master-push

Then to use it, instead of git pull -r && git push in your master tree, do these:

cd /path/to/master
git show -s <1>
cd /path/to/master-push
git pull -r
git cherry-pick $sha1 <2>
git push
  1. copy the sha1 hash from the output

  2. replace $sha1 with the sha1 hash you got in the previous step

(There is a trick here, given that master-push already references the original tree, you can go ahead with cherry-pick directly, without fetching branches from your master tree.)

And that’s it, you were able to push without waiting for a long rebuild!

Note: of course this technique has some drawbacks as well, so use with care. Keep in mind the followings:

  • If your local master is not up-to-date enough, you’ll get conflicts while cherry-picking. I usually update my master tree once a day in the morning. If you have a slower machine, do it once a week in the night, or so.

  • Even if you don’t get conflicts, there can be cases when the result of the cherry-pick in the push tree won’t be what you want. Chances that this happens is pretty low if your master tree is not super-old, see the previous note.

  • An other non-technical but social reason to still update your master tree regularly is that if everyone uses an infrequently updated master tree, then nobody will fix breakages caused by others on origin/master. So updating your real tree infrequently is a bit unfair to other developers.

Other than these, I can just recommend using a push tree, it helped me many times not to loose focus in the middle of the day. (And as we all know, pushing all your risky changes on Friday afternoon is also a bad idea. :-) )


OOXML improvements in LibreOffice Writer 4.1

Estimated read time: 1 minutes

See here for a 3.6/4.0 version of this post.

I’m posting here a few screenshots showing improvements in our DOCX filter, done in the 4.1 development cycle. In each case I’m providing a link to the test document, a screenshot showing how it looked before and how it now looks on 4.1. Click on the images to get a larger image:

  • document with a complex groupshape: multiple shapes had text (test doc):

  • document with tabs over the margin (test doc):

  • document with rotated text: content should not fit the cell size (test doc):

  • document with numbering, where bullets are pictures (test doc):

If you want to try these out yourself, get a daily build and play with it! :) If something goes wrong, report it to us in the Bugzilla, so we can try fix it in the next 4.1 bugfix release. And remember, there are lots more improvements coming in LibreOffice 4.1, stay tuned!


SUSE Conference 2013 @ Budapest

Estimated read time: 1 minutes

Yesterday Novell Hungary organized SUSE Conference 2013 here at Budapest. As you can see above Andras held a LibreOffice-related presentation there — and we also ran a LibreOffice booth. As it was requested, we set up quite some (publicly available) Android demos:

  • Impress remote

  • LibreOffice4Android (document viewer) on my phone (I needed a fix to get it running on a non-tablet, though)

  • The desktop app on a tablet — thanks goes to the organizers who provided that for us!

About 200 visitors attended the conference, which counts as a great success in this category. :-)


LibreOffice Hamburg Hackfest 2013

Estimated read time: 2 minutes

This year, LibreOffice’s Hamburg hackfest happened last weekend, with more than 20 attendees. Thanks to the sponsors, we had free drink and food during the whole hackfest. ;-)

My original plan was to add support for tables inside text frames in Writer, when importing from RTF. At the end I managed to do that, though not the way I originally wanted to implement that feature. :-)

Here is how this looked with the RTF importer we inherited from OpenOffice.org (LO 3.4), and then with the new RTF import filter (LO 3.6):

Here is how this looks like in latest master, and how it should look like:

Other than that, there were a few other topics I hacked on:

  • various additional fixes for fdo#58819, so watermark is exported (with correct size, position, rotation, opacity, etc.), and reasonably imported

  • the last character of the git hash is no longer missing from the about dialog (commit)

  • number of leaking files when running the writer filter tests is now down to 2 from 527 (commit)

  • RTF import of text frame’s AutoSize property (commit)

  • File → Properties → Security → Record Changes is now imported and exported in the RTF filter (commit)

  • finally added UI for fine dashing — so not only existing documents are rendered correctly, but you can create such documents as well (commit)

You can see some photos here.

Last, but not at least, thank you Eike and Bjoern for organizing this event! :-)


Free Software Conference and Exhibition 2013

Estimated read time: 1 minutes

The Free Software Conference and Exhibition 2013 — organized by FSF.hu — was held yesterday @ Budapest. I gave a talk about hacking on Writer file format problems (slides), this time in Hungarian.

After the talk I also held a one-hour workshop, showing how to start hacking on LO in practice:

We (with Andras Timar and Tamas Zolnai) also ran the LibreOffice booth. This year speakers got a free t-shirt and lunch, thanks for the organizers! :)

© Miklos Vajna. Built using Pelican. Theme by Giulio Fidente on github.