Ejemplo n.º 1
0
 public void Configure(Configuration config)
 {
     Configure(new List<Configuration>(new Configuration[] { config }));
 }
Ejemplo n.º 2
0
        public void Configure()
        {
            if (Scintilla.IsDesignMode || Scintilla.IsInitializing)
                return;

            Configuration builtInDefault = null,
                builtInLang = null,
                customDefault = null,
                customLang = null,
                userDefault = null,
                userLang = null;

            if (_isBuiltInEnabled)
            {
                using (Stream s = GetType().Assembly.GetManifestResourceStream("DBDiff.Scintilla.Configuration.Builtin.default.xml"))
                    builtInDefault = new Configuration(s, "default", _useXmlReader);
                if (!string.IsNullOrEmpty(_language))
                    using (Stream s = GetType().Assembly.GetManifestResourceStream("DBDiff.Scintilla.Configuration.Builtin." + _language + ".xml"))
                        if (s != null)
                            builtInLang = new Configuration(s, _language, _useXmlReader);
            }

            if (_isUserEnabled)
            {
                string defPath = Path.Combine(userFolder, "default.xml");
                if (File.Exists(defPath))
                    userDefault = new Configuration(defPath, "default", _useXmlReader);

                if (!string.IsNullOrEmpty(_language))
                {
                    string langPath = Path.Combine(userFolder, _language + ".xml");
                    if (File.Exists(langPath))
                        userLang = new Configuration(langPath, _language, _useXmlReader);
                }
            }

            if (!string.IsNullOrEmpty(_customLocation))
            {
                string defPath = Path.Combine(_customLocation, "default.xml");
                if (File.Exists(defPath))
                    customDefault = new Configuration(defPath, "default", _useXmlReader);

                if (!string.IsNullOrEmpty(_language))
                {
                    string langPath = Path.Combine(_customLocation, _language + ".xml");
                    if (File.Exists(langPath))
                        customLang = new Configuration(langPath, _language, _useXmlReader);
                }
            }

            List<Configuration> configList = new List<Configuration>();
            if (_loadOrder == ConfigurationLoadOrder.BuiltInCustomUser)
            {
                if (builtInDefault != null)
                    configList.Add(builtInDefault);
                if (builtInLang != null)
                    configList.Add(builtInLang);

                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);

                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);
            }
            else if (_loadOrder == ConfigurationLoadOrder.BuiltInUserCustom)
            {
                if (builtInDefault != null)
                    configList.Add(builtInDefault);

                if (builtInLang != null)
                    configList.Add(builtInLang);

                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);

                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);
            }
            else if (_loadOrder == ConfigurationLoadOrder.CustomBuiltInUser)
            {
                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);

                if (builtInDefault != null)
                    configList.Add(builtInDefault);

                if (builtInLang != null)
                    configList.Add(builtInLang);

                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);
            }
            else if (_loadOrder == ConfigurationLoadOrder.CustomUserBuiltIn)
            {
                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);

                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);

                if (builtInDefault != null)
                    configList.Add(builtInDefault);

                if (builtInLang != null)
                    configList.Add(builtInLang);
            }
            else if (_loadOrder == ConfigurationLoadOrder.UserBuiltInCustom)
            {
                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);

                if (builtInDefault != null)
                    configList.Add(builtInDefault);

                if (builtInLang != null)
                    configList.Add(builtInLang);

                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);

            }
            else if (_loadOrder == ConfigurationLoadOrder.UserCustomBuiltIn)
            {
                if (userDefault != null)
                    configList.Add(userDefault);

                if (userLang != null)
                    configList.Add(userLang);

                if (customDefault != null)
                    configList.Add(customDefault);

                if (customLang != null)
                    configList.Add(customLang);

                if (builtInDefault != null)
                    configList.Add(builtInDefault);

                if (builtInLang != null)
                    configList.Add(builtInLang);
            }

            Configure(configList);
        }