Ejemplo n.º 1
0
        private static void SetSourceContentSettingsInfo(XElement settingsBundleRoot, SourceContentSettingsInfo sourceContentSettings)
        {
            foreach (var settingsBundle in settingsBundleRoot.Elements())
            {
                if (string.Compare(settingsBundle.Name.LocalName, "SettingsBundle", StringComparison.InvariantCultureIgnoreCase) == 0)
                {
                    foreach (var settingsGroup in settingsBundle.Elements())
                    {
                        if (string.Compare(settingsGroup.Name.LocalName, "SettingsGroup", StringComparison.InvariantCultureIgnoreCase) == 0)
                        {
                            if (!settingsGroup.HasAttributes)
                            {
                                continue;
                            }

                            var settingsBundleId = GetSettingsBundleAttributeValue(settingsGroup, "Id");
                            if (settingsBundleId != "SourceContentSettings")
                            {
                                continue;
                            }

                            SetSourceContentSettingsAttributes(settingsGroup, sourceContentSettings);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static void SetSourceContentSettingsAttributes(XElement settingsGroup, SourceContentSettingsInfo sourceContentSettings)
        {
            foreach (var setting in settingsGroup.Elements())
            {
                if (string.Compare(setting.Name.LocalName, "Setting", StringComparison.InvariantCultureIgnoreCase) == 0)
                {
                    if (!setting.HasAttributes)
                    {
                        continue;
                    }

                    foreach (var attribute in setting.Attributes())
                    {
                        if (string.Compare(attribute.Name.LocalName, "Id", StringComparison.InvariantCultureIgnoreCase) == 0 &&
                            string.Compare(attribute.Value, "AllowSourceEditing", StringComparison.InvariantCultureIgnoreCase) == 0)
                        {
                            bool.TryParse(setting.Value, out var value);
                            sourceContentSettings.AllowSourceEditing = value;
                        }

                        if (string.Compare(attribute.Name.LocalName, "Id", StringComparison.InvariantCultureIgnoreCase) == 0 &&
                            string.Compare(attribute.Value, "AllowMergeAcrossParagraphs", StringComparison.InvariantCultureIgnoreCase) == 0)
                        {
                            bool.TryParse(setting.Value, out var value);
                            sourceContentSettings.AllowMergeAcrossParagraphs = value;
                        }

                        if (string.Compare(attribute.Name.LocalName, "Id", StringComparison.InvariantCultureIgnoreCase) == 0 &&
                            string.Compare(attribute.Value, "EnableIcuTokenization", StringComparison.InvariantCultureIgnoreCase) == 0)
                        {
                            bool.TryParse(setting.Value, out var value);
                            sourceContentSettings.EnableIcuTokenization = value;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private static void AssignSourceContentSettings(XElement project, string generalSettingsBundleGuid, SourceContentSettingsInfo sourceContentSettings)
        {
            foreach (var element in project.Elements())
            {
                if (string.Compare(element.Name.LocalName, "SettingsBundles", StringComparison.InvariantCultureIgnoreCase) == 0)
                {
                    foreach (var settingsBundle in element.Elements())
                    {
                        if (string.Compare(settingsBundle.Name.LocalName, "SettingsBundle", StringComparison.InvariantCultureIgnoreCase) == 0)
                        {
                            var bundleGuid = GetSettingsBundleAttributeValue(settingsBundle, "Guid");

                            if (string.Compare(bundleGuid, generalSettingsBundleGuid, StringComparison.InvariantCultureIgnoreCase) == 0)
                            {
                                SetSourceContentSettingsInfo(settingsBundle, sourceContentSettings);
                            }
                        }
                    }
                }
            }
        }