Friday 22 June 2018

LibreOffice color selector as GTK widgets

Here's what the native GTK widget mode for the color picker looks like at the moment under Wayland. A GtkMenuButton displaying a color preview of the currently selected color and a GtkPopover containing the color selection widgetry.

While under X, because there the GtkPopover is constrained to its parents size, falling back to using a GtkWindow to contain the widgetry

Monday 16 April 2018

Some Native GTK Dialogs in LibreOffice

When the GTK3 backend is active in current LibreOffice master (towards 6.1) some of the dialogs are now comprised of fully native GTK dialogs and widgetery. Instead of VCL widgetery themed to look like GTK, they're the real thing.

So for these dialogs this means f.e that the animated effects for radio and checkbuttons work, that the scrolling is overlay scrolling, and that the visual feedbacks that scrolling has reached its limit, or that available content is outside the scrolling region are shown. In the above demo, the GtkNotebook is the real thing.
I'm particularly pleased with the special character dialog because it has a custom character grid widget which comes with accessibility support which remains working when reworked as a native gtk widget with custom drawing and interaction callbacks.

Sunday 4 March 2018

native GTK3 message dialogs

In LibreOffice 6.1, when the GTK3 backend is in use, the message dialogs are now native GTK3 message dialogs rather than vcl message dialogs using GTK theming.

So they are now true GTK dialogs and they look like...

while before they looked like...

We have 475 message dialogs directly instantiated in LibreOffice and 89 indirectly instantiated via GtkBuilder .ui files.

We've changed the format our dialog, etc. translations are stored in from our own legacy custom format to the more commonplace gettext .mo format. In the case of a message dialog described via a GtkBuilder .ui file, we now use GTK's own GtkBuilder to load the .ui, and GTK's own gettext integration to localize it from our new .mo format translations.