/// <summary> /// Adds the language represented by the specified file. /// </summary> /// <param name="file">The file.</param> public void AddLanguage(ProjectFile file) { var cultureKey = file.GetCultureKey(Container.Configuration.NeutralResourcesLanguage); var resourceLanguage = new ResourceLanguage(this, cultureKey, file, Container.Configuration.DuplicateKeyHandling); _languages.Add(cultureKey, resourceLanguage); _resourceTableEntries.ForEach(entry => entry.Refresh()); Container.LanguageAdded(resourceLanguage.CultureKey); }
/// <summary> /// Adds the language represented by the specified file. /// </summary> /// <param name="file">The file.</param> public void AddLanguage([NotNull] ProjectFile file) { var cultureKey = file.GetCultureKey(Container.Configuration); var resourceLanguage = new ResourceLanguage(this, cultureKey, file); _languages.Add(cultureKey, resourceLanguage); _resourceTableEntries.ForEach(entry => entry.Refresh()); Container.LanguageAdded(resourceLanguage.CultureKey); }
public bool Update(ProjectFile file, [NotNullWhen(true)] out ResourceLanguage?updatedLanguage) { var duplicateKeyHandling = Container.Configuration.DuplicateKeyHandling; updatedLanguage = new ResourceLanguage(this, file.GetCultureKey(NeutralResourcesLanguage), file, duplicateKeyHandling); if (!UpdateEntry(updatedLanguage)) { updatedLanguage = null; return(false); } UpdateResourceTableEntries(); return(true); }
public void OnItemOrderChanged([NotNull] ResourceLanguage resourceLanguage) { if (resourceLanguage.CultureKey != CultureKey.Neutral) { return; } var index = 0; var entries = _resourceTableEntries.ToDictionary(entry => entry.Key); foreach (var key in resourceLanguage.ResourceKeys) { if (entries.TryGetValue(key, out var value)) { value.UpdateIndex(index++); } } }
private bool UpdateEntry(ResourceLanguage source) { var cultureKey = source.CultureKey; if (_languages.TryGetValue(cultureKey, out var target)) { if (target.IsContentEqual(source)) { return(false); } if (IsWinFormsDesignerResource) { foreach (var resourceKey in source.ResourceKeys) { source.SetComment(resourceKey, target.GetComment(resourceKey)); } } } _languages[cultureKey] = source; return(true); }
public LanguageEventArgs(ResourceLanguage language) { Language = language; }
public LanguageEventArgs([NotNull] ResourceLanguage language) { Language = language; }
public ProjectFileEventArgs(ResourceLanguage language, ProjectFile projectFile) { Language = language; ProjectFile = projectFile; }
internal void OnProjectFileSaved([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile) { ProjectFileSaved?.Invoke(this, new ProjectFileEventArgs(language, projectFile)); }
internal void OnLanguageChanged([NotNull] ResourceLanguage language) { LanguageChanged?.Invoke(this, new LanguageEventArgs(language)); }
public Node([NotNull] ResourceLanguage owner, [NotNull] XElement element) { Element = element; _owner = owner; }
internal bool IsContentEqual([NotNull] ResourceLanguage other) { return(_document.ToString(SaveOptions.DisableFormatting) == other._document.ToString(SaveOptions.DisableFormatting)); }
public ProjectFileEventArgs([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile) { Language = language; ProjectFile = projectFile; }