public KeyboardManagerViewModel(ISettingsUtils settingsUtils, ISettingsRepository <GeneralSettings> settingsRepository, Func <string, int> ipcMSGCallBackFunc, Func <List <KeysDataModel>, int> filterRemapKeysList) { if (settingsRepository == null) { throw new ArgumentNullException(nameof(settingsRepository)); } GeneralSettingsConfig = settingsRepository.SettingsConfig; // set the callback functions value to hangle outgoing IPC message. SendConfigMSG = ipcMSGCallBackFunc; FilterRemapKeysList = filterRemapKeysList; _settingsUtils = settingsUtils ?? throw new ArgumentNullException(nameof(settingsUtils)); if (_settingsUtils.SettingsExists(PowerToyName)) { // Todo: Be more resilient while reading and saving settings. Settings = _settingsUtils.GetSettings <KeyboardManagerSettings>(PowerToyName); // Load profile. if (!LoadProfile()) { _profile = new KeyboardManagerProfile(); } } else { Settings = new KeyboardManagerSettings(); _settingsUtils.SaveSettings(Settings.ToJsonString(), PowerToyName); } }
public KeyboardManagerViewModel() { dispatcher = Window.Current.Dispatcher; if (SettingsUtils.SettingsExists(PowerToyName)) { // Todo: Be more resillent while reading and saving settings. settings = SettingsUtils.GetSettings <KeyboardManagerSettings>(PowerToyName); // Load profile. if (!LoadProfile()) { profile = new KeyboardManagerProfile(); } } else { settings = new KeyboardManagerSettings(PowerToyName); SettingsUtils.SaveSettings(settings.ToJsonString(), PowerToyName); } if (SettingsUtils.SettingsExists()) { generalSettings = SettingsUtils.GetSettings <GeneralSettings>(string.Empty); } else { generalSettings = new GeneralSettings(); SettingsUtils.SaveSettings(generalSettings.ToJsonString(), string.Empty); } watcher = Helper.GetFileWatcher( PowerToyName, settings.Properties.ActiveConfiguration.Value + JsonFileType, OnConfigFileUpdate); }
public KeyboardManagerViewModel(Func <string, int> ipcMSGCallBackFunc, Func <List <KeysDataModel>, int> filterRemapKeysList) { // set the callback functions value to hangle outgoing IPC message. SendConfigMSG = ipcMSGCallBackFunc; FilterRemapKeysList = filterRemapKeysList; if (SettingsUtils.SettingsExists(PowerToyName)) { // Todo: Be more resilient while reading and saving settings. settings = SettingsUtils.GetSettings <KeyboardManagerSettings>(PowerToyName); // Load profile. if (!LoadProfile()) { profile = new KeyboardManagerProfile(); } } else { settings = new KeyboardManagerSettings(PowerToyName); SettingsUtils.SaveSettings(settings.ToJsonString(), PowerToyName); } if (SettingsUtils.SettingsExists()) { generalSettings = SettingsUtils.GetSettings <GeneralSettings>(string.Empty); } else { generalSettings = new GeneralSettings(); SettingsUtils.SaveSettings(generalSettings.ToJsonString(), string.Empty); } }
public KeyboardManagerViewModel(ISettingsUtils settingsUtils, ISettingsRepository <GeneralSettings> settingsRepository, Func <string, int> ipcMSGCallBackFunc, Func <List <KeysDataModel>, int> filterRemapKeysList) { if (settingsRepository == null) { throw new ArgumentNullException(nameof(settingsRepository)); } GeneralSettingsConfig = settingsRepository.SettingsConfig; // set the callback functions value to hangle outgoing IPC message. SendConfigMSG = ipcMSGCallBackFunc; FilterRemapKeysList = filterRemapKeysList; _settingsUtils = settingsUtils ?? throw new ArgumentNullException(nameof(settingsUtils)); if (_settingsUtils.SettingsExists(PowerToyName)) { try { Settings = _settingsUtils.GetSettings <KeyboardManagerSettings>(PowerToyName); } catch (Exception e) { Logger.LogError($"Exception encountered while reading {PowerToyName} settings.", e); #if DEBUG if (e is ArgumentException || e is ArgumentNullException || e is PathTooLongException) { throw; } #endif } // Load profile. if (!LoadProfile()) { _profile = new KeyboardManagerProfile(); } } else { Settings = new KeyboardManagerSettings(); _settingsUtils.SaveSettings(Settings.ToJsonString(), PowerToyName); } }