private Settings()
{
if (File.Exists(SettingsPath)) {
try {
var fileData = File.ReadAllText(SettingsPath);
JsonConvert.PopulateObject(fileData, this);
_logger.Debug("Settings loaded");
}
catch (Exception ex) {
_logger.Error(ex, "Loading settings failed");
}
} else {
// migrate settings from registry
using (var key = Registry.CurrentUser.OpenSubKey(RegKey)) {
if (key != null) {
try {
UseTimeOfDay = ReadInteger(key, "UseTimeOfDay", 0) != 0;
MovieWindowsMode =
(MovieWindowsMode) ReadInteger(key, "MovieWindowsMode", (int) MovieWindowsMode.PrimaryScreenOnly);
_logger.Debug("Settings migrated from registry");
}
catch (Exception ex) {
_logger.Error(ex, "Migrating old settings from registry failed");
}
}
}
try {
Registry.CurrentUser.DeleteSubKey(RegKey);
_logger.Debug("Settings removed from registry");
}
catch (Exception ex) {
_logger.Error(ex, "Deleting old settings from registry failed");
}
}
}