public pp_Settings() { InitializeComponent(); DataContext = this; __Assemblies = new AvailableAssembliesCollection(); foreach (var assembly in Document.Assemblies) { var assemblyItem = new AvailableAssemblyForTranslation(__Assemblies, assembly.Assembly); __Assemblies.Add(assemblyItem); } FillAssembliesToRemove(); }
private void FindAndCheck(TranslatedAssembly documentAssembly) { foreach (var assembly in __AvailableAssemblies) { if (assembly.Assembly.AssemblyFile == documentAssembly.Assembly.AssemblyFile) { assembly.IsSelected = true; return; } } var newAssembly = new AvailableAssemblyForTranslation(__AvailableAssemblies, documentAssembly.Assembly); newAssembly.IsMissing = true; newAssembly.IsSelected = true; __AvailableAssemblies.Add(newAssembly); }
public async Task <object> SearchForLocalizableAssemblies(IProgress <string> progress, CancellationToken cancelToken) { List <LocalizableAssembly> localizableAssemblies = new List <LocalizableAssembly>(); List <string> alreadyDefinedCultures = null; progress.Report(StringUtils.String("SearchingForAssemblies")); await Task.Run(() => { using (var appDomain = new LocalizationAppDomain(Document.PathToBinaries)) { foreach (var fullFilePath in Directory.EnumerateFiles(Document.PathToBinaries, "*.exe")) { CheckAndAddAssembly( localizableAssemblies, System.IO.Path.GetFileName(fullFilePath), Document.PathToBinaries, appDomain); } foreach (var fullFilePath in Directory.EnumerateFiles(Document.PathToBinaries, "*.dll")) { CheckAndAddAssembly( localizableAssemblies, System.IO.Path.GetFileName(fullFilePath), Document.PathToBinaries, appDomain); } alreadyDefinedCultures = FindTranslationCultures(localizableAssemblies); } }); __AvailableAssemblies.Clear(); if (localizableAssemblies.Count > 0) { DefaultCulture = new Culture(localizableAssemblies[0].DefaultCulture); } foreach (var assembly in localizableAssemblies) { if (assembly.DefaultCulture == DefaultCulture.CultureCode) { var selectedAssembly = new AvailableAssemblyForTranslation(__AvailableAssemblies, assembly); selectedAssembly.IsSelected = true; __AvailableAssemblies.Add(selectedAssembly); } } __TranslationCultures.Clear(); if (AddRemoveAssembliesOnly) { return(null); } if (alreadyDefinedCultures != null) { FillTranslationCultures(alreadyDefinedCultures); } return(null); }