Some notes on my last change:
I've used extensively serialization both XML and Binary to load/save structures.
As I'm used to MVVM I do like to have the Data classes separated (that is only the representation of the data without methods) from the Model class where the data class is included and there are the methods to alter the data (i.e. load/save/init, etc...)
Obviously in the full model then there is the View class that interacts with the model.
It's a super flexible model, mandatory (or strongly suggested) on WP, W8 etc...
NOTE: this means that if you add a new settings you have to add it in the Data Class (both internal field and property), in the Model Class (as exception a stub property) and in the default XML files
Also note that not to change 20000000000000 occurrences of Settings. I've left stubs properties in the Settings Model class to access the Settings Data Class.
This is why there is a new folder called "XML Serialization" under EmberAPI... they are the data classes.
In the old code instead I've found some parts that use serialization but they mix up the Data with the Model so in the data class you have even the methods.
As is not a substantial issue I've left those classes as they are (for now
)
Also I've added the correct sequence in the Application StartEvent -> load settings -> show splash form -> load main window so now we have some nice visual feedback on what's going on, for this reason I've added some additional strings...
Note that the frmMain-load is the point that now requires more time! during startup... not a lot I can do there!
Finally I've updated and put back the initialize and dbupdate procedures that are based on XML files to keep and trace the SQL commands. Much better then the hardcoded ones in the DB.
Hoping this helps...
Feel free to ask if something is not clear