public void LoadOptions() { string FileName = OptionsFileName; try { if (!File.Exists(FileName)) { try { File.Copy(OldOptionsFileName, FileName, true); } catch { } } if (!File.Exists(FileName)) { string language = "Русский"; try { var cp = Registry.CurrentUser.OpenSubKey("Software\\PascalABC.NET").GetValue("Installer Language").ToString(); if (cp == "1033") { language = "English"; } } catch (Exception ex) { //MessageBox.Show(ex.Message); } PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = language; CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO; return; } Hashtable Options = new Hashtable(StringComparer.CurrentCultureIgnoreCase); PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions(); PascalABCCompiler.StringResources.ReadStringsFromStreamAsXml(FileName, new StreamReader(FileName, VisualEnvironmentCompiler.DefaultFileEncoding), Options, adv_opt); string value; int val; if ((value = (string)Options[OptionsItemNameWorkDirectory]) != null) { WorkbenchStorage.WorkingDirectoryInOptionsFile = value; WorkbenchStorage.WorkingDirectory = PascalABCCompiler.Tools.ReplaceAllKeys(value, WorkbenchStorage.StandartDirectories); } if ((value = (string)Options[OptionsItemNameLanguage]) != null) { PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = value; CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO; } if ((value = (string)Options[OptionsItemNameMainFormLeft]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 0) { FormLeft = this.Left = val; } } if ((value = (string)Options[OptionsItemNameMainFormTop]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 0) { FormTop = this.Top = val; } } if ((value = (string)Options[OptionsItemNameMainFormWidth]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 100) { FormWidth = this.Width = val; } } if ((value = (string)Options[OptionsItemNameMainFormHeight]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 100) { FormHeight = this.Height = val; } } if ((value = (string)Options[OptionsItemNameMainFormMaximized]) != null) { _mainFormWindowStateMaximized = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameShowLinesNum]) != null) { UserOptions.ShowLineNums = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameEnableFolding]) != null) { UserOptions.EnableFolding = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameSaveSourceFilesIfComilationOk]) != null) { UserOptions.SaveSourceFilesIfComilationOk = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameAutoInsertCode]) != null) { UserOptions.AutoInsertCodeIsEnabledOnStartup = Convert.ToBoolean(value); tsAutoInsertCode.Checked = UserOptions.AutoInsertCodeIsEnabledOnStartup; mAUTOINSERTToolStripMenuItem.Checked = UserOptions.AutoInsertCodeIsEnabledOnStartup; } if ((value = (string)Options[OptionsItemNameMainFormTitle]) != null) { MainFormText = value; } if ((value = (string)Options[OptionsItemNameDeleteEXEAfterExecute]) != null) { UserOptions.DeleteEXEAfterExecute = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameDeletePDBAfterExecute]) != null) { UserOptions.DeletePDBAfterExecute = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameShowMathBracket]) != null) { UserOptions.ShowMathBraket = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameShowMatchOperatorBracket]) != null) { UserOptions.HighlightOperatorBrackets = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameEditorFontFamily]) != null) { UserOptions.CurrentFontFamily = Convert.ToString(value); } if ((value = (string)Options[OptionsItemNameEditorFontSize]) != null) { UserOptions.EditorFontSize = Convert.ToInt32(value); } if ((value = (string)Options[OptionsItemNameErrorsStrategy]) != null) { ErrorsManager.Strategy = (PascalABCCompiler.Errors.ErrorsStrategy)Convert.ToByte(value); if (ErrorsManager.Strategy == PascalABCCompiler.Errors.ErrorsStrategy.All) { ErrorsManager.Strategy = PascalABCCompiler.Errors.ErrorsStrategy.FirstSemanticAndSyntax; } } /*if ((value = (string)Options[OptionsItemNameErrorsCursorPosStrategy]) != null) * { * ErrorCursorPosStrategy = (VisualPascalABCPlugins.SourceLocationAction)Convert.ToByte(value); * if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.GotoEnd) * ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.GotoBeg; * else if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoEnd) * ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoBeg; * }*/ if ((value = (string)Options[OptionsItemNameShowOutputWindow]) != null) { BottomTabsVisible = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameRedirectConsoleIO]) != null) { UserOptions.RedirectConsoleIO = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameConvertTabsToSpaces]) != null) { UserOptions.ConverTabsToSpaces = true;// Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameGenerateDebugInfo]) != null) { WorkbenchServiceFactory.BuildService.CompilerOptions.Debug = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameTabIdent]) != null) { UserOptions.TabIndent = Convert.ToInt32(value); } if ((value = (string)Options[OptionsItemNameOutputDirectory]) != null) { UserOptions.OutputDirectory = value; } if ((value = (string)Options[OptionsItemNameUseOutputDirectory]) != null) { UserOptions.UseOutputDirectory = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNamePlayPauseButtonsVisibleInPanel]) != null) { PlayPauseButtonsVisibleInPanel = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNamePauseInRunModeIfConsole]) != null) { UserOptions.PauseInRunModeIfConsole = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameCodeCompletionHint]) != null) { UserOptions.CodeCompletionHint = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameCodeCompletionDot]) != null) { UserOptions.CodeCompletionDot = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameCodeCompletionParams]) != null) { UserOptions.CodeCompletionParams = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameCodeCompletionKeyPressed]) != null) { UserOptions.EnableSmartIntellisense = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameShowQuickClassBrowserPanel]) != null) { UserOptions.ShowQuickClassBrowserPanel = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameDefaultSourceFileNameFormat]) != null) { UserOptions.DefaultSourceFileNameFormat = value; } if ((value = (string)Options[OptionsItemNameAllowCodeCompletion]) != null) { UserOptions.AllowCodeCompletion = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameSkipStackTraceItemIfSourceFileInSystemDirectory]) != null) { UserOptions.SkipStackTraceItemIfSourceFileInSystemDirectory = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemNameCodeCompletionNamespaceVisibleRange]) != null) { UserOptions.CodeCompletionNamespaceVisibleRange = Convert.ToInt32(value); } if ((value = (string)Options[OptionsItemNameDockBottomPortion]) != null) { MainDockPanel.DockBottomPortion = Convert.ToDouble(value); } if ((value = (string)Options[OptionsItemNameDockLeftPortion]) != null) { MainDockPanel.DockLeftPortion = Convert.ToDouble(value); } if ((value = (string)Options[OptionsItemNameDockRightPortion]) != null) { MainDockPanel.DockRightPortion = Convert.ToDouble(value); } if ((value = (string)Options[OptionsItemUseDllForSystemModules]) != null) { UserOptions.UseDllForSystemUnits = Convert.ToBoolean(value); } if ((value = (string)Options[OptionsItemPABCDllChecked]) != null) { UserOptions.PABCDllChecked = Convert.ToBoolean(value); } int i = 0; while ((value = (string)Options[OptionsItemNameLastFile + (i++).ToString()]) != null) { AddLastFile(value); } i = 0; while ((value = (string)Options[OptionsItemNameLastProject + (i++).ToString()]) != null) { WorkbenchServiceFactory.ProjectService.AddLastProject(value); } /*foreach (string w in adv_opt.watch_list) * { * AddVariable(w,false); * }*/ System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO); } catch (Exception e) { } UserOptions.AllowCodeCompletion = UserOptions.CodeCompletionHint || UserOptions.CodeCompletionDot || UserOptions.CodeCompletionParams; }
public void LoadOptions() { string FileName = OptionsFileName; try { if (!File.Exists(FileName)) { try { File.Copy(OldOptionsFileName, FileName, true); } catch { } } if (!File.Exists(FileName)) { string language = "Русский"; try { var cp = Registry.CurrentUser.OpenSubKey("Software\\PascalABC.NET").GetValue("Installer Language").ToString(); if (cp == "1033") language = "English"; } catch(Exception ex) { //MessageBox.Show(ex.Message); } PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = language; CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO; return; } Hashtable Options = new Hashtable(StringComparer.CurrentCultureIgnoreCase); PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions(); PascalABCCompiler.StringResources.ReadStringsFromStreamAsXml(FileName, new StreamReader(FileName, VisualEnvironmentCompiler.DefaultFileEncoding), Options, adv_opt); string value; int val; if ((value = (string)Options[OptionsItemNameWorkDirectory]) != null) { WorkbenchStorage.WorkingDirectoryInOptionsFile = value; WorkbenchStorage.WorkingDirectory = PascalABCCompiler.Tools.ReplaceAllKeys(value, WorkbenchStorage.StandartDirectories); } if ((value = (string)Options[OptionsItemNameLanguage]) != null) { PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = value; CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO; } if ((value = (string)Options[OptionsItemNameMainFormLeft]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 0) FormLeft = this.Left = val; } if ((value = (string)Options[OptionsItemNameMainFormTop]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 0) FormTop = this.Top = val; } if ((value = (string)Options[OptionsItemNameMainFormWidth]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 100) FormWidth = this.Width = val; } if ((value = (string)Options[OptionsItemNameMainFormHeight]) != null) { val = Convert.ToInt32(value); if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 100) FormHeight = this.Height = val; } if ((value = (string)Options[OptionsItemNameMainFormMaximized]) != null) _mainFormWindowStateMaximized = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameShowLinesNum]) != null) UserOptions.ShowLineNums = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameEnableFolding]) != null) UserOptions.EnableFolding = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameSaveSourceFilesIfComilationOk]) != null) UserOptions.SaveSourceFilesIfComilationOk = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameMainFormTitle]) != null) MainFormText = value; if ((value = (string)Options[OptionsItemNameDeleteEXEAfterExecute]) != null) UserOptions.DeleteEXEAfterExecute = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameDeletePDBAfterExecute]) != null) UserOptions.DeletePDBAfterExecute = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameShowMathBracket]) != null) UserOptions.ShowMathBraket = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameShowMatchOperatorBracket]) != null) UserOptions.HighlightOperatorBrackets = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameEditorFontFamily]) != null) UserOptions.CurrentFontFamily = Convert.ToString(value); if ((value = (string)Options[OptionsItemNameEditorFontSize]) != null) UserOptions.EditorFontSize = Convert.ToInt32(value); if ((value = (string)Options[OptionsItemNameErrorsStrategy]) != null) { ErrorsManager.Strategy = (PascalABCCompiler.Errors.ErrorsStrategy)Convert.ToByte(value); if (ErrorsManager.Strategy == PascalABCCompiler.Errors.ErrorsStrategy.All) ErrorsManager.Strategy = PascalABCCompiler.Errors.ErrorsStrategy.FirstSemanticAndSyntax; } /*if ((value = (string)Options[OptionsItemNameErrorsCursorPosStrategy]) != null) { ErrorCursorPosStrategy = (VisualPascalABCPlugins.SourceLocationAction)Convert.ToByte(value); if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.GotoEnd) ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.GotoBeg; else if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoEnd) ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoBeg; }*/ if ((value = (string)Options[OptionsItemNameShowOutputWindow]) != null) BottomTabsVisible = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameRedirectConsoleIO]) != null) UserOptions.RedirectConsoleIO = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameConvertTabsToSpaces]) != null) UserOptions.ConverTabsToSpaces = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameGenerateDebugInfo]) != null) WorkbenchServiceFactory.BuildService.CompilerOptions.Debug = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameTabIdent]) != null) UserOptions.TabIndent = Convert.ToInt32(value); if ((value = (string)Options[OptionsItemNameOutputDirectory]) != null) UserOptions.OutputDirectory = value; if ((value = (string)Options[OptionsItemNameUseOutputDirectory]) != null) UserOptions.UseOutputDirectory = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNamePlayPauseButtonsVisibleInPanel]) != null) PlayPauseButtonsVisibleInPanel = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNamePauseInRunModeIfConsole]) != null) UserOptions.PauseInRunModeIfConsole = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameCodeCompletionHint]) != null) UserOptions.CodeCompletionHint = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameCodeCompletionDot]) != null) UserOptions.CodeCompletionDot = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameCodeCompletionParams]) != null) UserOptions.CodeCompletionParams = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameCodeCompletionKeyPressed]) != null) UserOptions.EnableSmartIntellisense = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameShowQuickClassBrowserPanel]) != null) UserOptions.ShowQuickClassBrowserPanel = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameDefaultSourceFileNameFormat]) != null) UserOptions.DefaultSourceFileNameFormat = value; if ((value = (string)Options[OptionsItemNameAllowCodeCompletion]) != null) UserOptions.AllowCodeCompletion = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameSkipStakTraceItemIfSourceFileInSystemDirectory]) != null) UserOptions.SkipStakTraceItemIfSourceFileInSystemDirectory = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemNameCodeCompletionNamespaceVisibleRange]) != null) UserOptions.CodeCompletionNamespaceVisibleRange = Convert.ToInt32(value); if ((value = (string)Options[OptionsItemNameDockBottomPortion]) != null) MainDockPanel.DockBottomPortion = Convert.ToDouble(value); if ((value = (string)Options[OptionsItemNameDockLeftPortion]) != null) MainDockPanel.DockLeftPortion = Convert.ToDouble(value); if ((value = (string)Options[OptionsItemNameDockRightPortion]) != null) MainDockPanel.DockRightPortion = Convert.ToDouble(value); if ((value = (string)Options[OptionsItemUseDllForSystemModules]) != null) UserOptions.UseDllForSystemUnits = Convert.ToBoolean(value); if ((value = (string)Options[OptionsItemPABCDllChecked]) != null) UserOptions.PABCDllChecked = Convert.ToBoolean(value); int i = 0; while ((value = (string)Options[OptionsItemNameLastFile + (i++).ToString()]) != null) AddLastFile(value); i = 0; while ((value = (string)Options[OptionsItemNameLastProject + (i++).ToString()]) != null) WorkbenchServiceFactory.ProjectService.AddLastProject(value); /*foreach (string w in adv_opt.watch_list) { AddVariable(w,false); }*/ System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO); } catch (Exception e) { } UserOptions.AllowCodeCompletion = UserOptions.CodeCompletionHint || UserOptions.CodeCompletionDot || UserOptions.CodeCompletionParams; }
private PascalABCCompiler.AdvancedOptions GetAdvancedOptions() { PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions(); return(adv_opt); }
private PascalABCCompiler.AdvancedOptions GetAdvancedOptions() { PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions(); return adv_opt; }