For this to work, the MainWindow constructor will need a version parameter that can be any of 3 values: the default empty meaning use the current settings, "2.0" or "3.0" and that would have to be passed to initialLoad code in the MainWindow constructor and eventually passed to CreateNewBook().
It would check the version and if empty it would look up the default in SettingsStore, otherwise it would use the provided version.
Similarly, New would either need to take a version parameter, or check its action to look how it was invoked.
On Windows and Linux, New once it knows the version could pass it along to CreateNewBook() directly.
I would have to check about any other calls to CreateNewBook() to see how they should be handled.
I will start making some changes to support all of this.
KevinH
|