Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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++);
                }
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public LanguageEventArgs(ResourceLanguage language)
 {
     Language = language;
 }
 public LanguageEventArgs([NotNull] ResourceLanguage language)
 {
     Language = language;
 }
 public ProjectFileEventArgs(ResourceLanguage language, ProjectFile projectFile)
 {
     Language    = language;
     ProjectFile = projectFile;
 }
Ejemplo n.º 9
0
 internal void OnProjectFileSaved([NotNull] ResourceLanguage language, [NotNull] ProjectFile projectFile)
 {
     ProjectFileSaved?.Invoke(this, new ProjectFileEventArgs(language, projectFile));
 }
Ejemplo n.º 10
0
 internal void OnLanguageChanged([NotNull] ResourceLanguage language)
 {
     LanguageChanged?.Invoke(this, new LanguageEventArgs(language));
 }
Ejemplo n.º 11
0
 public Node([NotNull] ResourceLanguage owner, [NotNull] XElement element)
 {
     Element = element;
     _owner  = owner;
 }
Ejemplo n.º 12
0
 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;
 }