Abstract viewer parts into qt-ui.