/// <summary> /// Scan for all dicitionaries (default resx files, without culture identification) /// </summary> private void ScanForDefaultDictionaries() { Dictionaries.Clear(); var culturInfoList = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.Name.Length > 0); _resourceDirectory = SelectedProjectDirectory.GetDirectories("Resources").Single(); var resxFiles = _resourceDirectory.GetFiles("*.resx"); foreach (FileInfo resxFile in resxFiles) { if (culturInfoList.Any(ci => resxFile.Name.EndsWith(ci.Name + ".resx"))) { continue; } Dictionaries.Add(resxFile.Name.Replace(".resx", String.Empty)); } if (Dictionaries.Any()) { string lastUsedDictionary = AppRegistry.GetValue(RegistryKeys.SelectedDictionary); if (String.IsNullOrEmpty(lastUsedDictionary)) { SelectedDictionary = Dictionaries.First(); } else { SelectedDictionary = Dictionaries.First(dict => dict == lastUsedDictionary); } } }
/// <summary> /// Called, when the solution directory changes /// </summary> private void SolutionDirectoryChangedCallback() { AppRegistry.SetValue(RegistryKeys.SolutionPath, SolutionPath); ProjectDirectories = new ObservableCollection <DirectoryInfo>( SolutionDirectory.GetFiles("*.csproj", SearchOption.AllDirectories) .Select(f => f.Directory) .ToList() ); string lastProjectUsed = AppRegistry.GetValue(RegistryKeys.SelectedProject); if (String.IsNullOrEmpty(lastProjectUsed)) { return; } SelectedProjectDirectory = ProjectDirectories.FirstOrDefault(dir => dir.FullName == lastProjectUsed); }
public MainViewModel() { IsScanInactive = true; SolutionPath = AppRegistry.GetValue(RegistryKeys.SolutionPath); }