Initial code review of current code base

Thinking about this, it might be nice to encapsulate the os widget (consisting of the label, line edit and browse button) in it's own widget class (with a corresponding UI file) that handles the browsing, editing, etc. so the code here would just need to instantiate and set up a single widget for each OS in a simple vertical layout...

The same applies to other pages that end up manipulating lots of controls in a grid layout - would be much simpler to treat each row of controls as a single compound widget arranged in a vertical layout.