private void Watch() { if (IsKeysValueValid && LocalizationResourceFiles.All(e => e.IsResxFileValid)) { if (_filesWatchers.Any()) { foreach (var filesWatcher in _filesWatchers) { filesWatcher.Dispose(); } _filesWatchers.Clear(); } foreach (var file in LocalizationResourceFiles) { var fw = new FileSystemWatcher { Path = file.Directory, Filter = $"{file.ResxFileName}*",//, EnableRaisingEvents = true, NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName }; fw.Changed += FileChanged; _filesWatchers.Add(fw); } IsWatching = true; } }
protected override void SolutionLoaded(IConfigurationFile config) { _loading = true; _config = config; if (config.TryGetValue(ConfigKeys.LocalizationWatcher_KeysFile, out string keysFile)) { KeysFile = keysFile; } if (config.TryGetValue(ConfigKeys.LocalizationWatcher_ResxFiles, out List <LocalizationResourceFileConfig> resourceFiles)) { LocalizationResourceFiles.ClearAndFill(resourceFiles.Select(CreateLocalizationResourceFile)); } Watch(); _loading = false; }
private bool File_FileLocationSet(LocalizationResourceFile file) { if (LocalizationResourceFiles.Count(e => e.ResxFile == file.ResxFile) > 1) { return(false); } if (_loading) { return(true); } _config.SetValue(ConfigKeys.LocalizationWatcher_ResxFiles, LocalizationResourceFiles.Select(e => new LocalizationResourceFileConfig { FileLocation = e.ResxFile }).ToList()); Watch(); return(true); }
public async void AddFile() { LocalizationResourceFile file = await CreateLocalizationResourceFile(); LocalizationResourceFiles.Add(file); }