Widget Layout: Enabling our dialogs to look beautiful, with no code change
Demonstration and presentation of converting archaic fixed position dialog layouts to a container based optimal size layout with visual editing
Details of the Talk
Dialogs in LibreOffice are horrifically ugly, mostly because all widgets contained within them and the dialog themselves are typically fixed size and sized to contain the text of the longest translation. The other reason they are ugly is because they are so painful to edit.
The working solution demonstrated here is to:
- Add container layout support to LibreOffice Visual Class Library similar to the model used by GTK
- Extend, adapt and integrate existing support for determining the optimal size for a widget
- Add support to load dialogs from the XML .ui format used by GTK. Which enables the reuse of glade as a visual UI editor for LibreOffice
- Provide a mechanism where an old layout-unaware dialog can be converted into a layout-aware dialog without any code change
- Converter tool from existing .src to first-draft .ui
The upshot is that a dialog can be converted to using widget layout by dropping a new .ui file in the right place and it "just works". Any converted dialog can be extended and improved by direct editing of the .ui file with glade