Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        public async void AddFile()
        {
            LocalizationResourceFile file = await CreateLocalizationResourceFile();

            LocalizationResourceFiles.Add(file);
        }