Welcome to The Document Foundation Planet

This is a feed aggregator that collects what LibreOffice and Document Foundation contributors are writing in their respective blogs.

To have your blog added to this aggregator, please mail the website@global.libreoffice.org mailinglist or file a ticket in Redmine.



Thursday
20 February, 2025


face

Berlin, 20 February 2025 – LibreOffice 24.8.5, the fifth minor release of the LibreOffice 24.8 family of the free open source, volunteer-supported office suite for Windows (Intel, AMD and ARM), MacOS (Apple and Intel) and Linux, is available on our download page.

LibreOffice is the only office suite that respects the privacy of the user, ensuring that the user is able to decide if and with whom to share the content they create. It even allows deleting user related info from documents. In addition, it has a feature set comparable to the leading product on the market.

Also, LibreOffice offers a range of interface options to suit different user habits, from traditional to modern, and makes the most of different screen sizes by using all the space available on the desktop to put the maximum number of features just a click or two away.

The biggest advantage over competing products is the LibreOffice Technology engine, the single software platform on which desktop, mobile and cloud versions of LibreOffice – including those from ecosystem companies – are based.

This allows LibreOffice to produce identical and fully interoperable documents based on two ISO standards: the open and neutral Open Document Format (ODT, ODS, ODP) and the closed and fully proprietary Microsoft OOXML (DOCX, XLSX, PPTX), which hides a large amount of artificial complexity, and can cause problems for users who are confident that they are using a true open standard.

End users looking for manuals can download the LibreOffice 24.8 guides from the following link: books.libreoffice.org/.

LibreOffice for Enterprise

For enterprise-class deployments, TDF strongly recommends the LibreOffice Enterprise family of applications from ecosystem partners, with three or five year backporting of security patches, other dedicated value-added features and Service Level Agreements: www.libreoffice.org/download/libreoffice-in-business/.

Every line of code developed by ecosystem companies for enterprise customers is shared with the community on the master code repository and improves the LibreOffice Technology platform. Products based on LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), mobile platforms (Android and iOS) and the cloud.

In fact, LibreOffice’s mature code base, rich feature set, strong support for open standards, excellent compatibility and LTS options make it the ideal solution for organisations looking to regain control of their data and break free from vendor lock-in.

LibreOffice 24.8.5 availability

LibreOffice 24.8.5 is available from www.libreoffice.org/download/. Minimum requirements for proprietary operating systems are Microsoft Windows 7 SP1 (no longer supported by Microsoft) and Apple MacOS 10.15. Products for Android and iOS are at www.libreoffice.org/download/android-and-ios/.

End users can get first-level technical support from volunteers on mailing lists and the Ask LibreOffice website: ask.libreoffice.org. They can support the project by donating at www.libreoffice.org/donate.

Enterprise deploying LibreOffice can also donate, although the best solution for their needs would be to look for the enterprise optimized versions of the software (with Long Term Support


Wednesday
19 February, 2025


[en] Michael Meeks: 2025-02-19 Wednesday

12:38 UTC

face
  • Sync with Dave on comic stories. Partner call.
  • Published the next strip: looking at donations
    The Open Road to Freedom - strip#6 - donations
  • Lunch with Julia.

Tuesday
18 February, 2025


[en] Michael Meeks: 2025-02-18 Tuesday

21:00 UTC

face
  • Planning call - managed to fit it inside an hour this week by some radical update-it-and-read-through-it-first-ness.
  • Mail chew, lunch, sync with Karen, slides; monthly management meeting. Partner call in the evening. Dinner, E-mail bits, watched House with J.

Monday
17 February, 2025


[en] Michael Meeks: 2025-02-17 Monday

21:00 UTC

face
  • Up early, out for a run with J. mail chew, 1:1 with Miklos, Lunch with E. Marketing content call, sync with Pedro & Eloy, admin. Dinner, up late working on a contract.

face

Ndidi Folasade Ogboi

Tell us a bit about yourself!

I live in Lagos, Nigeria, and I spend my time dabbling into user experience design with research, although these days, I’m diving deeper into research. I’m a big fan of books, especially well-written fiction. Music is also a huge part of my life. Let’s just say I love anything that sounds good and sing-alongs during work.

What are you working on in the LibreOffice project right now?

I am an Outreachy intern working on improving the LibreOffice Writer templates with guidance from my mentor, Heiko Tietze. I have spent the last month understanding the community’s pain points by carrying out a survey, analysing their responses and working to create functional templates that they need. Currently, I am iterating on priority templates like DIN 5008 Business Letter, resume and academic writing templates.

I am also doing some more research on template standards and reflecting on how to create templates that would help users. My top priority is to understand styling and implement it in the templates I am creating and also curate template contents that fits into prospective user preferences.

Why did you choose to join the project, and how was the experience?

During my Outreachy contribution phase, I had a list of open-source projects I could choose from, but at the time, I wanted to test the limits of my capacity. As a UX designer with no coding background, the first task for this project was to submit a patch on Gerrit.

Every other contributor left the task obviously because of the task complexity and I remember one of my mentors, Ilmari telling me that the competition had become less tense due to the number of contributors dropping the project. It was a challenge that pushed me out of my comfort zone as it was my first time interacting with code. That was it for me. Completing that task gave me a sense of achievement and made me even more excited to continue with the project.

Ah, it was challenging at first. I also dealt with anxiety because there was so much to do and I didn’t know where to start but later, the bits started coming together. Luckily for me, I have a mentor who has been supportive since I started the project back in December and who has made my experience seamless. Whenever I face a blocker, I know I have a mentor who is always ready to provide me with resources and connect me with other members of the community that have resources that would be useful for each project phases.

Anything else you plan to do in the future? What does LibreOffice really need?

I have decided to continue contributing to adding more templates to Writer and helping improve other aspects of user experience through user research and design after my internship ends. I like it here. Working on templates in Writer is challenging no doubt – but I think I like the way it stretches


face

LibreOffice inherits a gigantic code base from its ancestors, StarOffice and OpenOffice. Here I discuss some notes for the newcomers on how to better understand the existing LibreOffice code, and improve the patches.

Studying the Existing Code

As said, LibreOffice is a huge code base, containing ~10 million lines of mostly C++ code. There are different assumptions, conventions and coding styles across ~200 modules that LibreOffice has.

Therefore, it is important to first, study the existing code, through reading and debugging LibreOffice source code, to understand the things that it does, and the way you can implement your ideas, including bug fixes and adding new features.

And although implementing some ideas seem to be straightforward at first sight, it is meaningful to study the details.

Quality Assurance Point of View

First of all, you should understand the thing that you want to implement. No matter if it is a bug, a new feature, or just an EasyHack, you should understand what is requested, what works and what does not work. This requires careful reading of the Bugzilla pages.

User Point of View

Then, you should try to run LibreOffice to understand the exact place in the application where you want to change. LibreOffice user interface has thousands of dialog boxes, so you need to make sure that you understand the thing that you want to do.

Developer Point of View

And at last, you get into implementing something in the code. Here are some questions that you can ask yourself about the details, when reading the existing code:

  • Why this statement is here, in the first place? (detail-oriented view)
    • You can use git blame to see the last author of a specific line
    • You can use git log to study the details by knowing the commit hash
    • What can this part of code actually does?
    • Can I see its effect?
git log

git log

Or, you may be interested in the code behavior in the big picture:

  • What does the code do as a whole? (holistic view)
  • There are many other statements, functions and other constructs in the code. What do they do?
  • What is the overall goal of the code?
  • Can I test that in action?

You can do some small changes, before even getting into implementing your idea:

  • What happens if I remove it? (small changes)
  • Does the removal prevent the code from working?
  • Is it incomplete, or does it actually do something useful, which
  • will be absent if I remove it?

Then, you can work on the actual implementation. Ask yourself:

  • How can I implement the idea in its simplest form? (straightforward change)
  • Does it have side effects?
  • How can I make sure every thing else works as before?
  • How can I write a test for it?

After understanding some of the basic details about the way things work, you may go into improving your implementation.

  • How can I make it better? (sophisticated change)
  • Can I make the code more robust where it is brittle?
  • Can I complete the

Sunday
16 February, 2025


[en] Michael Meeks: 2025-02-16 Sunday

21:00 UTC

face
  • All Saints, played bass poorly as normal; Robert spoke to finish Colossians 1. Home for pizza lunch.
  • Rested, J. out to pick-up E. from her GenR8 youth work weekend. Out to run the evening service.
  • Back for dinner & early bed.

Saturday
15 February, 2025


[en] Michael Meeks: 2025-02-15 Saturday

21:00 UTC

face
  • Up late, enjoyed some time with J. got the mini chainsaw onto some overenthusiastic foliage strangled by ivy.
  • Lunch, worked on a talk for the Sunday evening service. Some movie watching action in the evening.

Friday
14 February, 2025


[en] Michael Meeks: 2025-02-14 Friday

21:00 UTC

face
  • Up earlyish, to the venue. Got setup, chewed mail between recording, lunch in the canteen & recording - lots of good things to show there.
  • To the airport with Ludovic, flight delayed, home extremely late.

Thursday
13 February, 2025


[en] Michael Meeks: 2025-02-13 Thursday

21:00 UTC

face
  • Up rather early; drove to STN, flew to Berlin. Sales call in the Taxi. Met up with the Nextcloud'ers, presentation practice, and out for a pleasant dinner in the evening with Frank, Ludovic, Jos & Birthe.

face

LibreOffice 25.2 banner

One week ago, we announced LibreOffice 25.2, our brand new major release. It’s packed with new features, and has many improvements to compatibility and performance too. So, what has happened in the week since then? Let’s check out some stats…

647,961 downloads

These are just stats for our official downloads page, of course – many Linux users will have acquired the new release via their distribution’s package repositories.

11,313 views, shares and likes on social media

Combining our Mastodon, Bluesky, X/Twitter and Facebook posts about the announcement, and all the likes, shares, views and comments, we get 11,313. Thanks to everyone who spread the word on social media! 😊

528 upvotes on Reddit

On release day, we organised an “ask us anything” event on Reddit. Members of The Document Foundation and LibreOffice community joined in the discussions and answered questions from users and potential contributors.

Huge thanks to our worldwide community of volunteers, and certified developers, for all their work on this release!


Wednesday
12 February, 2025


[en] Michael Meeks: 2025-02-12 Wednesday

21:00 UTC

face

Tuesday
11 February, 2025


[en] Michael Meeks: 2025-02-11 Tuesday

21:00 UTC

face
  • Planning call, sync with Karen, Andras & partners. Out for a run in the afternoon with J. - lovely. Worked late trying to dig back through piled-up E-mail.

face

General Activities

  1. Olivier Hallot (TDF) added help pages for new Calc functions TOROW(), TOCOL(), WRAPROWS(), WRAPCOLS(), EXPAND(), TAKE() and DROP(), added dark mode support to the help interface, improved help for PDF/UA, did cleanups in the Xapian-based search in online help, added help for tables styles in Writer and improved help related to printing
  2. Dione Maddern added a help page for Cell Appearance Sidebar deck
  3. Stanislav Horáček did some cleanups in help
  4. Gábor Kelemen (allotropia) added a detailed list of allowed PDF password characters into help and improved the developer tools for finding unneeded includes and UI strings that might need to be translatable
  5. Tomaž Vajngerl (Collabora) continued working on PDF 2.0 support and document themes and fixed an Excel compatibility issue with empty values of defined names
  6. Miklós Vajna, Andras Timar, Henry Castro, Gökay Şatır, Attila Szűcs, Szymon Kłos and Pranam Lashkari (Collabora) worked on LOKit used by Collabora Online
  7. Xisco Faulí (TDF) implemented new Calc functions, TOCOL, TOROW, WRAPCOLS, WRAPROWS, TAKE, DROP, EXPAND and CHOOSEROWS, added support for setuptools and pip in Python scripting, upgraded many dependencies, added some unit tests and did many code stability improvements
  8. Michael Stahl (allotropia) continued improving the correctness of HTML import regarding formatting and fixed issues with table splitting in Writer’s layout
  9. Mike Kaganski (Collabora) fixed an issue with opening newly-created database forms, fixed Basic isNumeric() function giving incorrect results, fixed an installation issue affecting Active Directory setups on Windows, fixed issues with allowed characters in file name when exporting as PDF, fixed wrong number of results being reported when going over 1000 while executing Find All in Calc, fixed inability to pass a Date object to an UNO API method, fixed an issue with handling of Variant types in Basic, made handling of conditional formatting with colour conditions more robust when moving columns, made intercepting .uno:Open command work again, fixed a crash related to regular expressions in Basic and made SQL queries handle negative values
  10. Caolán McNamara (Collabora) fixed crashes, fixed many issues found by static analysers and did code cleanups and optimisations
  11. Stephan Bergmann (allotropia) worked on the WASM build. He also adapted the code to compiler changes and did code cleanups
  12. Noel Grandin (Collabora) improved the speed of inserting rotated images to Writer. He also did many code cleanups and optimisations
  13. Justin Luth (Collabora) fixed DOCX import issues with frames before tables getting anchored to a table cell instead of an empty paragraph and missing header properties in page styles
  14. Michael Weghorn (TDF) continued cleaning up and reorganising accessibility-related code, did refactoring in Linux printer code and fixed some crashes. He also worked on using native widgets in Qt UIs
  15. Balázs Varga (allotropia) fixed import of cropped vector graphic objects in PPTX files, improved warnings related to allowed characters in the PDF password input dialog, made it possible to show or hide the text in some password dialogs (more to be included), fixed broken cropped SVG

Monday
10 February, 2025


[en] Michael Meeks: 2025-02-10 Monday

21:00 UTC

face
  • Up earlyish, parent/teacher call with E. mail chew, lots of 1:1's in a row all day, another parent/teacher call at lunch. Worked late.

Sunday
09 February, 2025


[en] Michael Meeks: 2025-02-09 Sunday

21:00 UTC

face
  • All Saints in the morning, played bass with Rick on drums. Back for home-made pizza lunch with N. and E. rested variously, played games with them; fond farewell of N. going back to Loughborough.
  • Caught up with M&D in the evening, and watched a rather weird film.

Saturday
08 February, 2025


[en] Michael Meeks: 2025-02-08 Saturday

21:00 UTC

face
  • Picked up E. from near Ely, and had a nice brunch with J&N&E. at Ben's Yard. Home, sung with N. playing the guitar for a bit, and relaxed with NYT games with J.
  • Watched About Time fun, bed early.

Friday
07 February, 2025


[en] Michael Meeks: 2025-02-07 Friday

21:00 UTC

face
  • Morning calls, contract review, updated blog: renumbering to accomodate missed 31st January.
  • Lunch with Julia, encouraged (trigger warning) to see my old Scout leader finally jailed. Started on the mail backlog.
  • Relaxed by poking some more at performance bits - discovered and filed an unhelpful new DOM element leak. Wondering why my Bitwarden bootstrap-autofill.js is visible in profiling - the plague of autofill it seems - need some more attributes to reduce over-enthusiasm there.
  • N. home for the weekend - so lovely to see her.

Thursday
06 February, 2025


[en] Michael Meeks: 2025-02-06 Thursday

21:00 UTC

face
  • Tech planning call. Poked at a performance problem with Szymon, Caolan & Chris Lord. It turns out doing expensive things in the JS keystroke handler can totally starve the browser of ever achieving anything: fun - not updating avatar images on each keystroke - makes life much better.
  • Worked on a statement of work, and intersecting contractuals through the afternoon - lots of sitting still in one place.
  • Published the next strip:
    The Open Road to Freedom - strip#4 - community road building
  • Dinner, and home group in the evening. Pleased by the Lectio 365 devotional app from 24-7 prayer - somewhat comic intro video.

face

La nueva versión principal ofrece un gran número de mejoras en la interfaz de usuario y la accesibilidad, además de las habituales funciones de interoperabilidad

Berlín, 6 de febrero de 2025 – LibreOffice 25.2, la nueva versión principal de la …


face


Nova osrednja izdaja ponuja veliko število izboljšav vmesnika in dostopnosti, pa tudi običajnih funkcionalnosti medopravilnosti.

Berlin, 6. februar 2025 – LibreOffice 25.2, nova osrednja izdaja najboljšega odprtokodnega pisarniškega paketa za Windows (Intel, AMD in ARM), macOS (Apple in Intel) in Linux, ki jo podpirajo prostovoljci, je na voljo na naslovu https://sl.libreoffice.org/prenos LibreOffice je najboljši pisarniški paket za tiste uporabnike, ki želijo ohraniti nadzor nad svojimi lastnimi programskimi orodji in dokumenti, da zaščitijo svojo zasebnost in digitalno življenje pred komercialnim vmešavanjem in strategijami povzročanja odvisnosti velikih tehnoloških podjetij.

LibreOffice je edini pisarniški paket, zasnovan na potrebah uporabnika, ne le na pojavni všečnosti. Ponuja številne možnosti vmesnika, ki ustrezajo različnim navadam uporabnikov, od tradicionalnih do sodobnih, in kar najbolje izkorišča zaslone različnih mer, saj optimizira prostor, ki je na voljo na namizju, tako da je čim večje število funkcij le klik ali dva stran. Je tudi edino programje za ustvarjanje dokumentov, ki lahko vsebujejo osebne ali zaupne podatke, a tudi spoštuje zasebnost uporabnikov, s čimer zagotavlja, da se uporabnik lahko odloči, če in s kom je pripravljen deliti vsebino, ki jo je ustvaril, zahvaljujoč standardiziranemu in odprtemu zapisu, ki se ne uporablja kot orodje za povzročanje odvisnosti uporabnikov, ki vsiljuje periodične posodobitve programja. Vse to z naborom funkcionalnosti, primerljivim s tistim vodilnega programja na tržišču in daleč zmogljivejšim od vsega, kar ponujajo preostali tekmeci.

LibreOffice je edinstven zaradi platforme LibreOffice Technology, edine na tržišču, ki omogoča skladen razvoj namiznih, mobilnih in oblačnih različic – tudi tistih, ki jih ponujajo podjetja iz ekosistema – ki lahko izdela identične in povsem združljive dokumente na osnovi dveh obstoječih standardov ISO: odprtem zapisu ODF ali Open Document Format (ODT, ODS in ODP), in lastniški vrsti datotek Microsoft OOXML (DOCX, XLSX in PPTX). Slednje v sebi skrivajo mnogo umetne (in nepotrebne) zavezane kompleksnosti, kar lahko povzroča težave uporabnikom, ki so prepričani, da uporabljajo standardiziran zapis.

Končnim uporabnikom je na voljo tudi tehnična pomoč prve ravni prostovoljcev na uporabniških dopisnih seznamih ter spletišču Ask LibreOffice: https://ask.libreoffice.org

Novosti v LibreOffice 25.2


ZASEBNOST

  • Če je potrjena možnost odstranitve zasebnih podatkov pri shranjevanju, se osebni podatki ne bodo izvozili (imena avtorjev in časovni žigi, trajanje urejanja, ime tiskalnika in njegove nastavitve, predloga dokumenta, avtorji in datumi komentarjev ter sledi sprememb).
OSRČJE / SPLOŠNO
  • LibreOffice 25.2 lahko bere in zapisuje dokumente v zapisu ODF različice 1.4.
  • Mnogo izboljšav medopravilnosti z lastniškimi vrstami dokumentov OOXML.
  • Zdaj lahko samodejno podpisujete dokumente, ko določite privzeto potrdilo.
  • Windows 7 in 8/8.1 sta opuščeni platformi in podpora zanju bo odstranjena z različico 25.8.
  • Razširitve in funkcionalnosti, ki se zanašajo na Python, ne delujejo na sistemih Windows 7.
WRITER
  • Izboljšave upravljanja sprememb dokumentov, še posebej

face

The new major release provides many user interface and accessibility improvements, plus the usual interoperability features

Berlin, 6 February 2025 – LibreOffice 25.2, the new major release of the free, volunteer-supported office suite for Windows (Intel, AMD and ARM), macOS (Apple Silicon and Intel) and Linux is available on our download page. LibreOffice is the best office suite for users who want to retain control over their individual software and documents, thereby protecting their privacy and digital life from the commercial interference and the lock-in strategies of Big Tech.

LibreOffice is the only office suite designed to meet the actual needs of the user – not just their eyes. It offers a range of interface options to suit different user habits, from traditional to modern, and makes the most of different screen sizes, optimising the space available to put the maximum number of features just a click or two away.

It is also the only software for creating documents (that may contain personal or confidential information) that respects the user’s privacy, ensuring that the user can decide if and with whom to share the content they create, thanks to the standard and open format that is not used as a lock-in tool, forcing periodic software updates. All this with a feature set that is comparable to the leading software on the market and far superior to that of any competitor.

What makes LibreOffice unique is the LibreOffice Technology Platform, the only one on the market that allows the consistent development of desktop, mobile and cloud versions – including those provided by companies in the ecosystem – capable of producing identical and fully interoperable documents based on the two available ISO standards: the open ODF or Open Document Format (ODT, ODS and ODP) and the proprietary Microsoft OOXML (DOCX, XLSX and PPTX). The latter hides a huge number of artificial (and unnecessary) lock-in complexities that create problems for users convinced they are using a standard format.

End users can get first-level technical support from volunteers on the user mailing lists and the Ask LibreOffice website: https://ask.libreoffice.org. LibreOffice Writer Guide can be downloaded from https://books.libreoffice.org/en/.

New Features of LibreOffice 25.2

PRIVACY

  • LibreOffice can remove all personal information associated to any document (author names and timestamps, editing time, printer name and configuration, document template, author and date for comments and tracked changes).

CORE/GENERAL

  • LibreOffice 25.2 can read and write ODF version 1.4.
  • Many interoperability improvements with proprietary OOXML documents.
  • It is now possible to automatically sign documents after defining a default certificate.
  • Windows 7 and 8/8.1 are deprecated platforms, and support will be removed in version 25.8.
  • Extensions and features relying on Python will not work on Windows 7.

WRITER

  • Improvements to Track Changes management, to manage large number of changes in long documents.
  • Comments are now tracked in the Navigator when you move the focus into comments, while resizing the area containing comments now shows a visual guide.
  • Added options

Wednesday
05 February, 2025


[en] Michael Meeks: 2025-02-05 Wednesday

21:00 UTC

face
  • Partner call, sync with Dave, catch-up with marketing on content, J. brought lunch, Hack-week round-up call, admin, sales catch-up call, sync with Philippe.
  • Band practice, call with Thorsten, bed.

face

LibreOffice at the Univention Summit 2025

The northern German state of Schleswig-Holstein is moving 30,000 PCs from Microsoft Windows and Office to Linux and LibreOffice. At the recent Univention Summit 2025 which took place on January 23 and 24 in Bremen, the LibreOffice project was present and met with the people overseeing the migration.

LibreOffice at the Univention Summit 2025

500 people attended the event, a mixture of Free and Open Source Software (FOSS) providers and users from the public and private sectors. Many people who attended the LibreOffice stand were from foundations, state and federal organisations, as well as large companies that have plans to deploy FOSS.

Some of the topics at the stand were the Open Document Format 1.4, integration into third-party software, and training and support. Dirk Schrödter, Schleswig-Holstein’s Minister for Digitalisation, attended the stand and was informed about the upcoming LibreOffice 25.2 release. And the state’s CIO Sven Thomsen also joined us too.

We’re looking forward to following the migration to Linux and LibreOffice, and other federal states and organisations going the same path.

LibreOffice at the Univention Summit 2025

(Image credits: Staatsministerium.SH and Felix Kronlage-Dammers)


Tuesday
04 February, 2025


[en] Michael Meeks: 2025-02-04 Tuesday

21:00 UTC

face
  • Planning call, sync with Miklos & Quikee, catch up with Karen, chewed through E-mail, contract review etc. much of the day. Bed early.

Monday
03 February, 2025


face

Print editions of several LibreOffice 24.2 user guides were published in 2024. You can buy them from Lulu.com. Free PDFs, as always, are available from the LibreOffice website.

Calc (May 2024)
Impress (July 2024)
Draw (August 2024)
Writer (March 2024)


Friday
31 January, 2025


face

LibreOffice QA Team on Matrix-style code background

LibreOffice is used by 200 million people around the world. Every major release goes through extensive testing, with Alpha, Beta and Release Candidate versions – and there are regular monthly minor updates to fix issues too. The QA Team analyses bug reports from users, and here’s an example of how quickly they work when everything goes to plan:

  • 2025-01-21 21:14:02 UTC: Bug report submitted.
  • 2025-01-23 18:16:53 UTC: raal from the QA Team looks at the bug report and rules out Linux.
  • 2025-01-25 06:05:46 UTC: Saburo confirms that the error occurs on Windows. And – which is extremely helpful – finds the commit that has caused the error.
  • 2025-01-25 08:08:16 UTC: raal informs the affected developer.
  • 2025-01-25 09:54:38 UTC: Mike Kaganski provides a bug fix.
  • 2025-01-25 11:35:15 UTC: After the bug fix has been successfully built and tested on all supported operating systems, it is included in the next daily build of LibreOffice.

Learn more about the QA Team, and give them a hand to gain experience in the world of QA


Thursday
30 January, 2025


face

When you want to interact with users, sometimes simple dialog boxes are sufficient: a simple yes or no, or some info box. But in other cases, you may need more complex message boxes. Here I discuss how to use VCL Weld to create a custom one.

Simple Message Box

You can create a simple message box, using predefined templates like Info box using a code snippet like this:

std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent, VclMessageType::Question, VclButtonsType::YesNo, u"Are you sure?"_ustr));
xInfoBox->run();

And, this is the result, which is very simple, without any title bar:

Yes / No message box

Yes / No message box

There are other predefined types, which can be used in different scenarios:

enum class VclMessageType
{
    Info,
    Warning,
    Question,
    Error,
    Other
};

But, if you want custom message boxes, you should be using weld mechanism, with its CreateBuilder function.

Custom Message Boxes

Below is the code from the source code sfx2/source/doc/QuerySaveDocument.cxx, which is inside sfx2 (framework) module. This dialog box is accessible across different modules, including Writer, Calc and Draw/Impress.

Let’s look into the code:

short ExecuteQuerySaveDocument(weld::Widget* _pParent, std::u16string_view _rTitle)
{
    ...
    std::unique_ptr<weld::Builder> xBuilder(
        Application::CreateBuilder(_pParent, u"sfx/ui/querysavedialog.ui"_ustr));
    std::unique_ptr<weld::MessageDialog> xQBox(
        xBuilder->weld_message_dialog(u"QuerySaveDialog"_ustr));
    xQBox->set_primary_text(xQBox->get_primary_text().replaceFirst("$(DOC)", _rTitle));
    return xQBox->run();
}

The code is using a UI file, named sfx/ui/querysavedialog.ui to create a message dialog, and then change the title of it.

QuerySaveDialog

QuerySaveDialog

If you look into the include file, include/vcl/weld.hxx inside Builder class, you may see functions like weld_… that are suitable to find various different UI elements from the UI, by mentioning the element ID. For example, to find a label with the ID equal to lable_id, you do this:

std::unique_ptr<weld::Label> m_pTextLabel label = m_xBuilder->weld_label(u"label_id"_ustr)

Result

This is the result, when you try to close an unsaved document.

QuerySaveDialog running

QuerySaveDialog running

Alternative Ways

This is not the only way you can create nice dialog boxes using VCL weld mechanism. There are some predefined message boxes that look nice which use weld mechanism, and are available for use via relevant C++ classes.

An interesting one here, is the QueryDialog, which is created by a factory method design pattern.

It uses a predefined dialog, using cui/uiconfig/ui/querydialog.ui as the UI file, and it contains a nice stock image! You can test it easily, by modifying a LibreOffice example, minweld.

IMPL_LINK_NOARG(TipOfTheDayDialog, OnNextClick, weld::Button&, void)
{
    VclAbstractDialogFactory* pFact = VclAbstractDialogFactory::Create();
    auto pDlg = pFact->CreateQueryDialog(getDialog(), u"Tips"_ustr, u"Tip of the day"_ustr, u"Are you sure you want to see the next tip of the day?"_ustr, false);
    sal_Int32 nResult = pDlg->Execute();
    pDlg->disposeOnce();

    if(nResult == RET_YES)
    {
        ++m_nCounter;
        m_pTextLabel->set_label(u"Here you will see tip of the day #"_ustr
+ OUString::number(m_nCounter) + ".");
    }
}

Assuming that you have a working build of LibreOffice, you can simply run the minweld workbench by invoking


face

The histogram says it all.

First, rapid growth between 2011 and 2014 to 30 million downloads, despite the fierce hostility of the project created to kill LibreOffice.

Then a few years of stagnation, at a time when it seemed that desktop office suites were destined to die, and fashion was driving users to the cloud.

Then the upswing, when even the most fashionable users realised that desktop office suites would never die and would coexist with the cloud.

In 2019, a series of attacks on the download counter – no data is collected other than the click on the DOWNLOAD button – led to a barely credible increase (the figure you see has already been cleaned up as much as possible).

After 2019, a slow but inexorable growth to over 35 million downloads – and 400 million downloads since 2011, with an average of 28.6 million downloads per year – in 2024.

Thanks to everyone: those who developed LibreOffice, those who helped improve it, and those who downloaded it to use it.

Click here to download LibreOffice

Older blog entries ->