Пример #1
0
        internal static void LoadIni()
        {
            int    num;
            bool   flag;
            object loadLock = IniSettings.LoadLock;

            Monitor.Enter(loadLock);
            try
            {
                try
                {
                    if (IniSettings.iniw != null)
                    {
                        IniSettings.iniw.Dispose();
                        IniSettings.iniw = null;
                    }
                    if (!Directory.Exists(IniSettings.SettingsFileDir))
                    {
                        Directory.CreateDirectory(IniSettings.SettingsFileDir);
                    }
                    IniFile nIFile         = IniSettings.GetINIFile();
                    string  pROCESSPATHKEY = "bDebugMode";
                    string  value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = false;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.DebugMode = flag;
                    pROCESSPATHKEY        = "sLanguage";
                    value = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    IniSettings.Language = value;
                    if (value != IniSettings.Language)
                    {
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, IniSettings.Language);
                    }
                    pROCESSPATHKEY = "bFindImage";
                    value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = false;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.FindImage = flag;
                    pROCESSPATHKEY        = "bFindAudio";
                    value = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = false;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.FindAudio = flag;
                    pROCESSPATHKEY        = "bDumpAudioByLevel";
                    value = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = true;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.DumpAudioByLevel = flag;
                    pROCESSPATHKEY = "bFindText";
                    value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = false;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.FindText = flag;
                    pROCESSPATHKEY       = "bDumpTextByLevel";
                    value = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = true;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.DumpTextByLevel = flag;
                    pROCESSPATHKEY = "bUseRegEx";
                    value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = true;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.UseRegEx = flag;
                    pROCESSPATHKEY       = "bUseTextPrediction";
                    value = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = true;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.UseTextPrediction = flag;
                    pROCESSPATHKEY = "bUseCopy2Clipboard";
                    value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !bool.TryParse(value, out flag))
                    {
                        flag = false;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, flag);
                    }
                    IniSettings.UseCopy2Clipboard = flag;
                    pROCESSPATHKEY = "iCopy2ClipboardTime(ms)";
                    value          = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    if (value == null || !int.TryParse(value, out num))
                    {
                        num = 250;
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, num);
                    }
                    IniSettings.Copy2ClipboardTime = num;
                    pROCESSPATHKEY          = IniSettings.PROCESSPATHKEY;
                    value                   = nIFile.GetValue("Translation", pROCESSPATHKEY, null);
                    IniSettings.ProcessPath = value;
                    if (value != IniSettings.ProcessPath)
                    {
                        nIFile.WriteValue("Translation", pROCESSPATHKEY, IniSettings.ProcessPath);
                    }
                    IniSettings.initialized = true;
                    try
                    {
                        Action <IniFile> action = IniSettings.LoadSettings;
                        if (action != null)
                        {
                            action(nIFile);
                        }
                    }
                    catch (Exception exception)
                    {
                        IniSettings.Error(string.Concat("LoadSettings:\n", exception.ToString()));
                    }
                    IniSettings.WatchTextFiles();
                }
                catch (Exception exception1)
                {
                    IniSettings.Error(string.Concat("LoadSettings:\n", exception1.ToString()));
                }
            }
            finally
            {
                Monitor.Exit(loadLock);
            }
        }