Give the variable a more meaningful name
Clean up code make it more organized
Set up all the tree models at the begining
Use the method from the base class
Move all view related code into the view
Field 'd_repository' should be nullable
Do not do reloading on repository notify

Currently, the navigation gets reloading twice everytime when the
history view is reloaded, it should only be reloaded on explicitly
invoked.
Do not trigger 'on_ref_activated' signal during reloading

Detach the model from the tree view first, then do the reloading of the
model. Otherwise, as the 'on_ref_activated' signal has been connected,
each time the model changes, the signal will be emitted, cause
unnecessary rendering of the commit list view.
Keep the selected navigation reference during reloading
Keep the scrolling position of navigation during reloading
Clean up the method access scope
Give the methods a more sensible name
Remove NavigationSide, no need for now
No need property 'available' anymore
Locate all the properties together
Use the right parent for the template
Reload the history view when repository changes
Remove unused method 'append_separator()'
Remove unused method 'remove_section()'
Follow the coding style