Huge change to how dialogs work. No longer fact and delete varieties, now more general and more useful.
Seperated the widgets directory into widgets and views which are specific to this application.
Changed foreign keys in database to be cascading. Fixed bug in FactListView concerning adding new sections, updated tests for this.
Fixed annoying error where I didn't save the file.
Changed the section pickers to use only one fact add dialog between them.
Added the ability to edit a section's name and to delete a section.
Added tests for editing and deleting facts.
Modified ExpandingFactWidget and SectionPickerWidget to handle wrapping of text better.
Added colours to fact types, which are shown on ExpandingFactWidgets. Added tests.
The fact statement and proof body text edits only show initially if they are empty. Added tests for this.
Modified ExpandingFactWidget to draw its image directly rather than use ResizableImage, this was for performance and the course page load time for a large course is 0.5s from 2s.
Added a notion of editing ordering to the database methods and model.
Removed code that handled edited structures that was really about reordering.
Added the ability to move courses, plus tests.
Added the ability to reorder proofs, also tests for this.
Added the ability to move facts but not sections and with no tests yet.
Added the ability to move sections.
Added tests for moving facts (not dealing with sections yet)
Made the test facts render their images to a separate directory and added an option to render all facts on startup incase some were lost.
Added tests for moving sections.