Outreachy : “Think about your audience”

·

2 min read

Hello Everyone 🤙🏼

The aim of this week’s blog post is to explain my Outreachy project to a newcomer to the LibreOffice community. So let's begin!

You’ve almost definitely heard of LibreOffice:

LibreOffice is an immensely popular and free open-source office suite. It's a project managed by The Document Foundation.

In the suite, you'll find everything you need for professional document creation: Writer is a comprehensive word processor for all types of documents; Calc is a user-friendly spreadsheet tool for data analysis and reporting; Impress is a presentation software for creating impactful slideshows; Draw is a tool for creating and editing vector graphics; Math is a dedicated program for easy construction of mathematical formulas; and Base is a robust database management application.

What's really great is the supportive and vibrant community around LibreOffice. People are always ready to lend a hand, especially helpful for those of us who are just starting out.

Development - The Document Foundation Wiki

Now, about my project:

LibreOffice's User Interface, the part you interact with, was originally developed with the VCL (Visual Class Library) toolkit. This toolkit is a set of tools that helps build the software's interface. One cool thing about VCL is that it allows LibreOffice to adapt its look to match your computer's desktop style through 'theming'. And VCL is quite flexible across different platforms, whether you're using Linux X11, Gtk3/4, Qt, or KDE using VCL plugins.

But in Qt based VCL plugins, LibreOffice doesn't use actual native Qt components. Instead, it imitates the look of Qt through its VCL widgets. While this makes LibreOffice look like it's using Qt, the actual functioning and behavior of its elements are entirely controlled by LibreOffice's own system.

A significant part of my project involves implementing necessary interfaces in the WELD API using native Qt widgets. These widgets will then be utilized by the Qt-based VCL plugins in LibreOffice

This should make LibreOffice interface looks and feels more like the regular interface of your computer, making it blend in better with other programs.

So, how's it going?

Pretty well! There was a learning curve at first with Qt and UI toolkits, but now I'm fully engaged and able to find the way. I've successfully implemented some Widgets, and I'm hoping they'll be included in LibreOffice soon.

Currently, I'm developing a Builder for Qt. This involves parsing existing GTK UI files and generating corresponding Qt widgets. This task is challenging as it requires understanding both GTK and Qt frameworks, and also modifying the existing VCL library. But more on that later!

Thanks for following along. See you next week! 🙂