logic: Application settings migration system

* Added version number to ApplicationSettings
* Added SettingsMigrator for defining migration rules for different ApplicationSettings versions
* Migrate ApplicationSettings when loading
This commit is contained in:
Eberhard Graether
2016-08-25 12:40:54 +02:00
parent cc8ea7c8fb
commit 03bbce45c9
13 changed files with 489 additions and 23 deletions
+5
View File
@@ -10,9 +10,14 @@ class ApplicationSettings
{
public:
static std::shared_ptr<ApplicationSettings> getInstance();
static const size_t VERSION;
ApplicationSettings();
~ApplicationSettings();
bool load(const FilePath& filePath);
bool operator==(const ApplicationSettings& other) const;
int getMaxRecentProjectsCount() const;