About project

100 Paper Cuts project aims for improving user interface, implementing enhancement requests and solving most-annoying issues on the UX side of LibreOffice. 100 Paper Cuts is a list of bugs and enhancement requests relating to LibreOffice’s user experience: https://wiki.documentfoundation.org/100_Paper_Cuts

Goal

Main goal was to solve as many bugs as I can, but at least 5 bugs, during GSoC.

My Work

  • In ‘Format > Page Style… > Area’ Tab, Mouseover effect added to the palettes on Color, Gradient, Bitmap, Pattern and Hatch sections.

  • Fixed opposite cropping issue on flipped images in Writer

  • In Writer, 3 issues about comment section fixed:

    • comment section scrolls to top of its view when clicking inside a comment view.

    • clicking inside a comment view, scrolls the view to old cursor location automatically (if old cursor out of the visible area)

    • comment section scrolls automatically to the old selected text (if it’s out of visible area) when clicking inside the Writer canvas view

  • In “Properties sidebar > Cell Appearance”, Calc shows preview of the selected cell borders. This feature also added for diagonal borders.

  • Calc: added diagonal borders in Toolbar>Borders

    • added diagonal left, diagonal right border and criss-cross border icon to Borders tab
    • added diagonal left and diagonal right borders feature
    • implemented removing diagonal borders when set “no border”
    • added criss-cross line feature
    • added a unit test for diagonal borders

Commits

Bugs

Whats left to do or can be done?

  • tdf#51665: (WIP) Support diagonal borders in Writer-Tables
    • https://gerrit.libreoffice.org/c/core/+/120262
    • This bug has 2 step: a) implement diagonal borders, b) draw them.
    • I’m workink on this bug for ~4 weeks and it is Work in Progress. Writer-Tables doesn’t have diagonal borders feature. I implemented RES_BOX_TLBR attribute and added SID_ATTR_BORDER_DIAG_TLBR for now. After that, we should try to draw them. I’m trying to draw diagonal LEFT border first. If we can draw that, then it becomes easy to apply all the changes to diagonal RIGHT border.
    • If we can add diagonal borders feature, we can also implement criss-cross border feature.
    • In addition to drawing diagonal borders, we should also be able to change their color and style. To apply these 3 things (drawing, color, style), we have to change a lot of things in the codebase. Therefore I think tdf#51665 can be a standalone GSoC project itself :)

  • tdf#84099 - Calc can’t handle very high rows
    • Scrolling in spreadsheets on Calc is designed to snap to rows. Therefore, this makes it hard to work with spreadsheets with large row heights. This annoying issue is not only specific for vertical scroll but also affects horizontal scroll. If we can add smooth scroll feature, it will likely solve the height issue on both rows and columns.

  • tdf#90253 - Drawing a textbox in Impress doesn’t retain its height
    • And, this is another bug that I want to work on it.

Summary

  • total bugs : 8
  • fixed : 5
  • WIP : 1
  • worked on but couldn’t fix : 2

I learned lots of things even from the bugs that I couldn’t fix. At least, I informed the LibreOffice community about my research and shared the code pointers by commenting on the bug page. Therefore, someone who will work on the bugs that I commented, can easily see the code pointers and my works on it.

***

I’m very happy that we all reached the end of GSoC. During that time, I know that I had a responsibility for doing everything that I can. Therefore I worked hard, tried to get familiar with the LibreOffice community and worked on as many bugs as I can.

I learned a lot of things during the GSoC. Although GSoC is finished, I will definitely continue to contribute to LibreOffice. I am really happy to be a part of the LibreOffice community and GSoC.

Thanks

I’m really thankful to LibreOffice and Google for providing us this such a great opportunity which helped me gain this amazing experience!

I always tried to be active on IRC #libreoffice-dev channel, and I want to thank for everybody who helped me about my questions.

And most importantly, greatly thankful to Muhammet Kara and Heiko Tietze which were my mentors throughout the GSoC period. They always guided me everything about my questions. Thank you so much for your guidance, code reviews, time and everything.

Thanks to everyone in the LibreOffice community for their help, I learned a lot from you :)

All weekly GSoC reports

Useful links: