piątek, 19 sierpnia 2016

GSoC 2016 - Infrastructure for defining toolbars via .ui (Glade) files - Final report

My all commits can be found here: https://cgit.freedesktop.org/libreoffice/core/log/?qt=author&q=eszkadev%40gmail.com

Tasks from my proposal


Done:
  • Loading of different toolbar definitions in the Writer, Calc and Impress
  • NotebookBar and Classic mode switching
  • Mechanism to show/hide widgets depending on the context
  • Priorities for widgets to allow dynamic hiding according to screen size
  • Improved look of various widgets for their presentation in the toolbar

Not finished:
  • Mechanism to add new tabs for the extensions
  • Mechanism to customize the toolbar

Main changes


  • Controls converted to be used outside sidebar:
  • Possibility to change icon size in the Sidebar and Notebookbar [commit] [commit]

  • Sidebar panels converted to single widgets:
  • Container with widget priorities [commit]
    • widget groups are collapsed when there is no enough space, user can access them from a dropdown menu


  • Multiple Notebookbar implementations [commit]
    • user can switch to other view using menubar

  • Toolbar modes - tdf#101249 [commit]
    • User can switch between different modes: default, single toolbar, sidebar and notebookbar
  • Created custom widgets for better look:
    • SmallButton - button with reduced width [commit]
    • BigToolBox - container for large buttons with dropdown menu [commit]


    • NotebookbarToolBox - container with possibility to switch icon size to use in the Notebookbar


    • NotebookbarTabControl - TabControl with context dependent tabs and the file popup menu