What is Customization Suppport ?
LibreOffice introduced NotebookBar user interface in version 6.2 . Customization Support allows users a customize NotebookBar by changing the visibility of buttons.
What is done ?
I proposed to create a basic Customization dialog that would allow the user to show/hide items in the NotebookBar.You can find the dialog at Tools->Customize -> NotebookBar(tab).
Backend Engine
The customization feature was previously available for traditional toolbars. Toolbars have .xml files whereas Notebookbar has .ui files. This problem didn’t allow us to reuse the code.
The solution was to modify the .ui files. Then, store and reload them from the user directory. We also stored the modified data in registry modifications.xcu so that configurations can be retrieved if there is a version update. Code
Libxml2 is used to parse the .ui files.
Customization Dialog
The class SvxNotebookbarConfigPage is inherited from SvxConfigPage. SvxConfigPage is a base class for all the customization dialog in LibreOffice. Code
Future Work
There are many features still locked and need to finish. Also,
- The use registrymodifications.xcu to retrieve the configuration and use them during an update is not complete.
- It would be better to open the customization dialog based on the tab opened in the Notebookbar interface.
Notebookbar extension patches : Gerrit