internal static void Load() { 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); } }