in my opinion viewer.cpp should just forward all menu actions to some navigation class, which then knows what to do.

ideally, we could build an API through which each component (e.g. navigation) can register menu items, their hotkeys and a callback, but i guess that is out of scope for this pull request ;)

just try to move as much code as possible from this class to a navigation class.