diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index 7c53c51352..d68703a6e2 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -231,7 +231,8 @@ type {$IFDEF SYN_LAZARUS} TSynEditorOption2 = ( eoCaretSkipsSelection, // Caret skips selection on VK_LEFT/VK_RIGHT - eoAlwaysVisibleCaret // Move caret to be always visible when scrolling + eoAlwaysVisibleCaret, // Move caret to be always visible when scrolling + eoEnhanceEndKey // end key jumps to visual/hard line end whichever is nearer ); TSynEditorOptions2 = set of TSynEditorOption2; {$ENDIF} @@ -456,6 +457,7 @@ type procedure DoBlockIndent; procedure DoBlockUnindent; procedure DoHomeKey(Selection: boolean); + procedure DoEndKey(Selection: boolean); procedure DoLinesDeleted(FirstLine, Count: integer); procedure DoLinesInserted(FirstLine, Count: integer); procedure DoTabKey; @@ -6557,7 +6559,6 @@ begin begin MoveCaretHorz(CharsInWindow, Command = ecSelPageRight); end; -{begin} //mh 2000-10-19 ecLineStart, ecSelLineStart: DoHomeKey(Command=ecSelLineStart); {begin @@ -6566,18 +6567,7 @@ begin fLastCaretX := CaretX; end;} ecLineEnd, ecSelLineEnd: - begin - {$IFDEF SYN_LAZARUS} - MoveCaretAndSelectionPhysical(CaretXY, - LogicalToPhysicalPos(Point(1 + Length(LineText), CaretY)), - Command = ecSelLineEnd); - {$ELSE} - MoveCaretAndSelection(CaretXY, Point(1 + Length(LineText), CaretY), - Command = ecSelLineEnd); - {$ENDIF} - fLastCaretX := CaretX; - end; -{end} //mh 2000-10-19 + DoEndKey(Command=ecSelLineEnd); // vertical caret movement or selection ecUp, ecSelUp: begin @@ -9147,6 +9137,53 @@ begin MoveCaretAndSelection(OldPos, NewPos, Selection); end; +procedure TCustomSynEdit.DoEndKey(Selection: boolean); +// jump to start of line (x=1), +// or if already there, jump to first non blank char +// or if blank line, jump to line indent position +// if eoEnhanceHomeKey and behind alternative point then jump first +var + s: string; + LastNonBlank: Integer; + LineEnd: LongInt; + OldPos: TPoint; + NewPos: TPoint; +begin + OldPos := LogicalCaretXY; + NewPos := OldPos; + s := LineText; + + if not (eoEnhanceEndKey in fOptions2) and (CaretX <> Length(s)+1) then begin + // not at end of real line -> jump to end of line + NewPos.X := Length(s)+1; + end else begin + // calculate line end position + LastNonBlank := -1; + if s <> '' then begin + // search first non blank char pos + LastNonBlank := Length(s); + while (LastNonBlank > 0) and (s[LastNonBlank] in [#32, #9]) do + dec(LastNonBlank); + end; + if LastNonBlank >=1 then begin + // this line is not blank + LineEnd := LastNonBlank + 1; + end else begin + // this line is blank + // -> use automatic line indent + LineEnd := GetLineIndentProposal(CaretY,true); + end; + + NewPos.X:=LineEnd; + if (eoEnhanceEndKey in fOptions2) and (OldPos.X <> Length(s)+1) and (OldPos.X >= NewPos.X) + then begin + NewPos.X := Length(s)+1; + end; + end; + + MoveCaretAndSelection(OldPos, NewPos, Selection); +end; + {$IFDEF SYN_COMPILER_4_UP} function TCustomSynEdit.ExecuteAction(ExeAction: TBasicAction): boolean; begin diff --git a/ide/editoroptions.pp b/ide/editoroptions.pp index 08493b6b74..13b2c586bf 100644 --- a/ide/editoroptions.pp +++ b/ide/editoroptions.pp @@ -1467,6 +1467,8 @@ begin SynEditOptName := 'CaretSkipsSelection'; eoAlwaysVisibleCaret: SynEditOptName := 'AlwaysVisibleCaret'; + eoEnhanceEndKey: + SynEditOptName := 'EnhanceEndKey'; else SynEditOptName := ''; end; @@ -1638,6 +1640,8 @@ begin SynEditOptName := 'CaretSkipsSelection'; eoAlwaysVisibleCaret: SynEditOptName := 'AlwaysVisibleCaret'; + eoEnhanceEndKey: + SynEditOptName := 'EnhanceEndKey'; else SynEditOptName := ''; end; diff --git a/ide/frames/editor_general_options.lfm b/ide/frames/editor_general_options.lfm index 1730ba73e7..8433f7de07 100644 --- a/ide/frames/editor_general_options.lfm +++ b/ide/frames/editor_general_options.lfm @@ -3,18 +3,19 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame Width = 459 ClientHeight = 516 ClientWidth = 459 + TabOrder = 0 Visible = False - DesignLeft = 66 - DesignTop = 87 + DesignLeft = 23 + DesignTop = 23 object BlockIndentLabel: TLabel[0] AnchorSideLeft.Control = BlockIndentComboBox AnchorSideLeft.Side = asrBottom AnchorSideBottom.Control = BlockIndentComboBox AnchorSideBottom.Side = asrCenter Left = 112 - Height = 14 - Top = 192 - Width = 82 + Height = 16 + Top = 197 + Width = 92 Anchors = [akLeft, akBottom] BorderSpacing.Around = 6 Caption = 'BlockIndentLabel' @@ -26,9 +27,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideBottom.Control = TabWidthsComboBox AnchorSideBottom.Side = asrCenter Left = 342 - Height = 14 - Top = 192 - Width = 77 + Height = 16 + Top = 197 + Width = 86 Anchors = [akLeft, akBottom] BorderSpacing.Around = 6 Caption = 'TabWidthsLabel' @@ -42,7 +43,7 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideRight.Side = asrBottom Left = 180 Height = 3 - Top = 6 + Top = 7 Width = 279 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 180 @@ -50,10 +51,8 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame object UndoGroupLabel: TLabel[3] AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner - Left = 0 - Height = 14 - Top = 0 - Width = 80 + Height = 16 + Width = 91 Caption = 'UndoGroupLabel' ParentColor = False end @@ -63,9 +62,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Control = UndoLimitComboBox AnchorSideTop.Side = asrCenter Left = 342 - Height = 14 - Top = 23 - Width = 72 + Height = 16 + Top = 24 + Width = 85 BorderSpacing.Around = 6 Caption = 'UndoLimitLabel' ParentColor = False @@ -74,10 +73,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideLeft.Control = Owner AnchorSideTop.Control = GroupUndoCheckBox AnchorSideTop.Side = asrBottom - Left = 0 - Height = 14 - Top = 64 - Width = 80 + Height = 16 + Top = 66 + Width = 91 BorderSpacing.Top = 6 Caption = 'ScrollGroupLabel' ParentColor = False @@ -90,7 +88,7 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideRight.Side = asrBottom Left = 180 Height = 3 - Top = 70 + Top = 73 Width = 279 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 180 @@ -99,10 +97,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideLeft.Control = Owner AnchorSideTop.Control = ScrollPastEndLineCheckBox AnchorSideTop.Side = asrBottom - Left = 0 - Height = 14 - Top = 128 - Width = 115 + Height = 16 + Top = 132 + Width = 126 BorderSpacing.Top = 6 Caption = 'IndentsTabsGroupLabel' ParentColor = False @@ -115,7 +112,7 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideRight.Side = asrBottom Left = 180 Height = 3 - Top = 134 + Top = 139 Width = 279 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 180 @@ -124,10 +121,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideLeft.Control = Owner AnchorSideTop.Control = BlockIndentComboBox AnchorSideTop.Side = asrBottom - Left = 0 - Height = 14 - Top = 216 - Width = 86 + Height = 16 + Top = 222 + Width = 98 BorderSpacing.Top = 6 Caption = 'MouseGroupLabel' ParentColor = False @@ -140,7 +136,7 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideRight.Side = asrBottom Left = 180 Height = 3 - Top = 222 + Top = 229 Width = 279 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 180 @@ -149,10 +145,9 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideLeft.Control = Owner AnchorSideTop.Control = MouseLinksCheckBox AnchorSideTop.Side = asrBottom - Left = 0 - Height = 14 - Top = 280 - Width = 87 + Height = 16 + Top = 288 + Width = 97 BorderSpacing.Top = 6 Caption = 'CursorGroupLabel' ParentColor = False @@ -165,7 +160,7 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideRight.Side = asrBottom Left = 180 Height = 3 - Top = 286 + Top = 295 Width = 279 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 180 @@ -177,12 +172,10 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideBottom.Control = TabWidthsComboBox Left = 6 Height = 21 - Top = 189 + Top = 195 Width = 100 - AutoComplete = False BorderSpacing.Left = 6 BorderSpacing.Top = 3 - Ctl3D = False ItemHeight = 13 Items.Strings = ( '1' @@ -190,7 +183,6 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame '4' '8' ) - ItemWidth = 0 OnChange = ComboboxOnChange OnExit = ComboBoxOnExit OnKeyDown = ComboboxOnKeyDown @@ -203,10 +195,8 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideBottom.Side = asrBottom Left = 236 Height = 21 - Top = 189 + Top = 195 Width = 100 - AutoComplete = False - Ctl3D = False ItemHeight = 13 Items.Strings = ( '1' @@ -214,7 +204,6 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame '4' '8' ) - ItemWidth = 0 OnChange = ComboboxOnChange OnExit = ComboBoxOnExit OnKeyDown = ComboboxOnKeyDown @@ -226,19 +215,16 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 236 Height = 21 - Top = 20 + Top = 22 Width = 100 - AutoComplete = False BorderSpacing.Left = 230 BorderSpacing.Around = 6 - Ctl3D = False ItemHeight = 13 Items.Strings = ( '32767' '4096' '512' ) - ItemWidth = 0 OnChange = ComboboxOnChange OnExit = ComboBoxOnExit OnKeyDown = ComboboxOnKeyDown @@ -250,13 +236,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 39 - Width = 127 + Top = 41 + Width = 124 BorderSpacing.Left = 6 Caption = 'GroupUndoCheckBox' OnChange = GroupUndoCheckBoxChange TabOrder = 3 - UseOnChange = False end object UndoAfterSaveCheckBox: TCheckBox[17] AnchorSideLeft.Control = Owner @@ -264,13 +249,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 20 - Width = 147 + Top = 22 + Width = 142 BorderSpacing.Left = 6 BorderSpacing.Top = 6 Caption = 'UndoAfterSaveCheckBox' TabOrder = 4 - UseOnChange = False end object ScrollPastEndFileCheckBox: TCheckBox[18] AnchorSideLeft.Control = Owner @@ -278,14 +262,13 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 84 - Width = 153 + Top = 88 + Width = 151 BorderSpacing.Left = 6 BorderSpacing.Top = 6 Caption = 'ScrollPastEndFileCheckBox' OnChange = ScrollPastEndFileCheckBoxChange TabOrder = 5 - UseOnChange = False end object ScrollPastEndLineCheckBox: TCheckBox[19] AnchorSideLeft.Control = Owner @@ -293,13 +276,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 103 - Width = 156 + Top = 107 + Width = 155 BorderSpacing.Left = 6 Caption = 'ScrollPastEndLineCheckBox' OnChange = ScrollPastEndLineCheckBoxChange TabOrder = 6 - UseOnChange = False end object ScrollByOneLessCheckBox: TCheckBox[20] AnchorSideLeft.Control = Owner @@ -307,26 +289,24 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 236 Height = 19 - Top = 84 - Width = 151 + Top = 88 + Width = 149 BorderSpacing.Left = 230 BorderSpacing.Around = 6 Caption = 'ScrollByOneLessCheckBox' OnChange = ScrollByOneLessCheckBoxChange TabOrder = 7 - UseOnChange = False end object HalfPageScrollCheckBox: TCheckBox[21] AnchorSideLeft.Control = ScrollByOneLessCheckBox AnchorSideTop.Control = ScrollPastEndLineCheckBox Left = 236 Height = 19 - Top = 103 - Width = 141 + Top = 107 + Width = 139 Caption = 'HalfPageScrollCheckBox' OnChange = HalfPageScrollCheckBoxChange TabOrder = 8 - UseOnChange = False end object AutoIndentCheckBox: TCheckBox[22] AnchorSideLeft.Control = Owner @@ -334,14 +314,13 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 148 - Width = 128 + Top = 154 + Width = 121 BorderSpacing.Left = 6 BorderSpacing.Top = 6 Caption = 'AutoIndentCheckBox' OnChange = AutoIndentCheckBoxChange TabOrder = 9 - UseOnChange = False end object TabIndentBlocksCheckBox: TCheckBox[23] AnchorSideLeft.Control = Owner @@ -349,13 +328,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 167 - Width = 152 + Top = 173 + Width = 150 BorderSpacing.Left = 6 Caption = 'TabIndentBlocksCheckBox' OnChange = TabIndentBlocksCheckBoxChange TabOrder = 10 - UseOnChange = False end object SmartTabsCheckBox: TCheckBox[24] AnchorSideLeft.Control = Owner @@ -363,26 +341,24 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 236 Height = 19 - Top = 148 - Width = 124 + Top = 154 + Width = 120 BorderSpacing.Left = 230 BorderSpacing.Around = 6 Caption = 'SmartTabsCheckBox' OnChange = SmartTabsCheckBoxChange TabOrder = 11 - UseOnChange = False end object TabsToSpacesCheckBox: TCheckBox[25] AnchorSideLeft.Control = SmartTabsCheckBox AnchorSideTop.Control = TabIndentBlocksCheckBox Left = 236 Height = 19 - Top = 167 + Top = 173 Width = 142 Caption = 'TabsToSpacesCheckBox' OnChange = TabsToSpacesCheckBoxChange TabOrder = 12 - UseOnChange = False end object DoubleClickLineCheckBox: TCheckBox[26] AnchorSideLeft.Control = Owner @@ -390,14 +366,13 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 236 + Top = 244 Width = 146 BorderSpacing.Left = 6 BorderSpacing.Top = 6 Caption = 'DoubleClickLineCheckBox' OnChange = DoubleClickLineCheckBoxChange TabOrder = 13 - UseOnChange = False end object MouseLinksCheckBox: TCheckBox[27] AnchorSideLeft.Control = Owner @@ -405,13 +380,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 255 - Width = 127 + Top = 263 + Width = 126 BorderSpacing.Left = 6 Caption = 'MouseLinksCheckBox' OnChange = MouseLinksCheckBoxChange TabOrder = 14 - UseOnChange = False end object DragDropEdCheckBox: TCheckBox[28] AnchorSideLeft.Control = Owner @@ -419,26 +393,24 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 236 Height = 19 - Top = 236 - Width = 131 + Top = 244 + Width = 128 BorderSpacing.Left = 230 BorderSpacing.Around = 6 Caption = 'DragDropEdCheckBox' OnChange = DragDropEdCheckBoxChange TabOrder = 15 - UseOnChange = False end object DropFilesCheckBox: TCheckBox[29] AnchorSideLeft.Control = DragDropEdCheckBox AnchorSideTop.Control = MouseLinksCheckBox Left = 236 Height = 19 - Top = 255 - Width = 117 + Top = 263 + Width = 113 Caption = 'DropFilesCheckBox' OnChange = DropFilesCheckBoxChange TabOrder = 16 - UseOnChange = False end object KeepCursorXCheckBox: TCheckBox[30] AnchorSideLeft.Control = Owner @@ -446,14 +418,13 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 300 - Width = 135 + Top = 310 + Width = 131 BorderSpacing.Left = 6 BorderSpacing.Top = 6 Caption = 'KeepCursorXCheckBox' OnChange = KeepCursorXCheckBoxChange TabOrder = 17 - UseOnChange = False end object PersistentCursorCheckBox: TCheckBox[31] AnchorSideLeft.Control = Owner @@ -461,13 +432,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 319 - Width = 153 + Top = 329 + Width = 145 BorderSpacing.Left = 6 Caption = 'PersistentCursorCheckBox' OnChange = PersistentCursorCheckBoxChange TabOrder = 18 - UseOnChange = False end object AlwaysVisibleCursorCheckBox: TCheckBox[32] AnchorSideLeft.Control = Owner @@ -475,13 +445,12 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 6 Height = 19 - Top = 338 - Width = 168 + Top = 348 + Width = 162 BorderSpacing.Left = 6 Caption = 'AlwaysVisibleCursorCheckBox' OnChange = AlwaysVisibleCursorCheckBoxChange TabOrder = 19 - UseOnChange = False end object CursorSkipsSelectionCheckBox: TCheckBox[33] AnchorSideLeft.Control = Owner @@ -489,37 +458,47 @@ inherited EditorGeneralOptionsFrame: TEditorGeneralOptionsFrame AnchorSideTop.Side = asrBottom Left = 236 Height = 19 - Top = 300 - Width = 172 + Top = 310 + Width = 169 BorderSpacing.Left = 230 BorderSpacing.Around = 6 Caption = 'CursorSkipsSelectionCheckBox' OnChange = CursorSkipsSelectionCheckBoxChange TabOrder = 20 - UseOnChange = False end object RightMouseMovesCursorCheckBox: TCheckBox[34] AnchorSideLeft.Control = CursorSkipsSelectionCheckBox AnchorSideTop.Control = PersistentCursorCheckBox Left = 236 Height = 19 - Top = 319 - Width = 192 + Top = 329 + Width = 188 Caption = 'RightMouseMovesCursorCheckBox' OnChange = RightMouseMovesCursorCheckBoxChange TabOrder = 21 - UseOnChange = False end object HomeKeyJumpsToNearestStartCheckBox: TCheckBox[35] AnchorSideLeft.Control = CursorSkipsSelectionCheckBox AnchorSideTop.Control = AlwaysVisibleCursorCheckBox Left = 236 Height = 19 - Top = 338 - Width = 222 + Top = 348 + Width = 217 Caption = 'HomeKeyJumpsToNearestStartCheckBox' OnChange = HomeKeyJumpsToNearestStartCheckBoxChange TabOrder = 22 - UseOnChange = False + end + object EndKeyJumpsToNearestStartCheckBox: TCheckBox[36] + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = AlwaysVisibleCursorCheckBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 19 + Top = 367 + Width = 208 + BorderSpacing.Left = 6 + Caption = 'EndKeyJumpsToNearestStartCheckBox' + OnChange = EndKeyJumpsToNearestStartCheckBoxChange + TabOrder = 23 end end diff --git a/ide/frames/editor_general_options.lrs b/ide/frames/editor_general_options.lrs index d0482341b0..3e47d39f7b 100644 --- a/ide/frames/editor_general_options.lrs +++ b/ide/frames/editor_general_options.lrs @@ -1,189 +1,189 @@ +{ This is an automatically generated lazarus resource file } + LazarusResources.Add('TEditorGeneralOptionsFrame','FORMDATA',[ 'TPF0'#241#26'TEditorGeneralOptionsFrame'#25'EditorGeneralOptionsFrame'#6'Hei' - +'ght'#3#4#2#5'Width'#3#203#1#12'ClientHeight'#3#4#2#11'ClientWidth'#3#203#1#7 - +'Visible'#8#10'DesignLeft'#2'B'#9'DesignTop'#2'W'#0#242#2#0#6'TLabel'#16'Blo' - +'ckIndentLabel'#22'AnchorSideLeft.Control'#7#19'BlockIndentComboBox'#19'Anch' - +'orSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#19'BlockInde' - +'ntComboBox'#21'AnchorSideBottom.Side'#7#9'asrCenter'#4'Left'#2'p'#6'Height' - +#2#14#3'Top'#3#192#0#5'Width'#2'R'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#20 - +'BorderSpacing.Around'#2#6#7'Caption'#6#16'BlockIndentLabel'#11'ParentColor' - +#8#0#0#242#2#1#6'TLabel'#14'TabWidthsLabel'#22'AnchorSideLeft.Control'#7#17 - +'TabWidthsComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBott' - +'om.Control'#7#17'TabWidthsComboBox'#21'AnchorSideBottom.Side'#7#9'asrCenter' - +#4'Left'#3'V'#1#6'Height'#2#14#3'Top'#3#192#0#5'Width'#2'M'#7'Anchors'#11#6 - +'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'TabWidth' - +'sLabel'#11'ParentColor'#8#0#0#242#2#2#6'TBevel'#6'Bevel1'#22'AnchorSideLeft' - +'.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#14'UndoGroupLabel'#18'Anch' - +'orSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#5'Owner'#20'An' - +'chorSideRight.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#2#6 - +#5'Width'#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpac' - +'ing.Left'#3#180#0#0#0#242#2#3#6'TLabel'#14'UndoGroupLabel'#22'AnchorSideLef' - +'t.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#0#6'He' - +'ight'#2#14#3'Top'#2#0#5'Width'#2'P'#7'Caption'#6#14'UndoGroupLabel'#11'Pare' - +'ntColor'#8#0#0#242#2#4#6'TLabel'#14'UndoLimitLabel'#22'AnchorSideLeft.Contr' - +'ol'#7#17'UndoLimitComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Ancho' - +'rSideTop.Control'#7#17'UndoLimitComboBox'#18'AnchorSideTop.Side'#7#9'asrCen' - +'ter'#4'Left'#3'V'#1#6'Height'#2#14#3'Top'#2#23#5'Width'#2'H'#20'BorderSpaci' - +'ng.Around'#2#6#7'Caption'#6#14'UndoLimitLabel'#11'ParentColor'#8#0#0#242#2#5 - +#6'TLabel'#16'ScrollGroupLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Anc' - +'horSideTop.Control'#7#17'GroupUndoCheckBox'#18'AnchorSideTop.Side'#7#9'asrB' - +'ottom'#4'Left'#2#0#6'Height'#2#14#3'Top'#2'@'#5'Width'#2'P'#17'BorderSpacin' - +'g.Top'#2#6#7'Caption'#6#16'ScrollGroupLabel'#11'ParentColor'#8#0#0#242#2#6#6 - +'TBevel'#6'Bevel2'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Co' - +'ntrol'#7#16'ScrollGroupLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'Anch' - +'orSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L' - +'eft'#3#180#0#6'Height'#2#3#3'Top'#2'F'#5'Width'#3#23#1#7'Anchors'#11#5'akTo' - +'p'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#3#180#0#0#0#242#2#7#6'TLab' - +'el'#21'IndentsTabsGroupLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Anch' - +'orSideTop.Control'#7#25'ScrollPastEndLineCheckBox'#18'AnchorSideTop.Side'#7 - +#9'asrBottom'#4'Left'#2#0#6'Height'#2#14#3'Top'#3#128#0#5'Width'#2's'#17'Bor' - +'derSpacing.Top'#2#6#7'Caption'#6#21'IndentsTabsGroupLabel'#11'ParentColor'#8 - +#0#0#242#2#8#6'TBevel'#6'Bevel3'#22'AnchorSideLeft.Control'#7#5'Owner'#21'An' - +'chorSideTop.Control'#7#21'IndentsTabsGroupLabel'#18'AnchorSideTop.Side'#7#9 - +'asrCenter'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7 - +#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#3#134#0#5'Width'#3#23#1#7 - +'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#3#180#0#0 - +#0#242#2#9#6'TLabel'#15'MouseGroupLabel'#22'AnchorSideLeft.Control'#7#5'Owne' - +'r'#21'AnchorSideTop.Control'#7#19'BlockIndentComboBox'#18'AnchorSideTop.Sid' - +'e'#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#14#3'Top'#3#216#0#5'Width'#2'V'#17 - +'BorderSpacing.Top'#2#6#7'Caption'#6#15'MouseGroupLabel'#11'ParentColor'#8#0 - +#0#242#2#10#6'TBevel'#6'Bevel4'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Anc' - +'horSideTop.Control'#7#15'MouseGroupLabel'#18'AnchorSideTop.Side'#7#9'asrCen' - +'ter'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'as' - +'rBottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#3#222#0#5'Width'#3#23#1#7'Anc' - +'hors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#3#180#0#0#0 - +#242#2#11#6'TLabel'#16'CursorGroupLabel'#22'AnchorSideLeft.Control'#7#5'Owne' - +'r'#21'AnchorSideTop.Control'#7#18'MouseLinksCheckBox'#18'AnchorSideTop.Side' - +#7#9'asrBottom'#4'Left'#2#0#6'Height'#2#14#3'Top'#3#24#1#5'Width'#2'W'#17'Bo' - +'rderSpacing.Top'#2#6#7'Caption'#6#16'CursorGroupLabel'#11'ParentColor'#8#0#0 - +#242#2#12#6'TBevel'#6'Bevel5'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Ancho' - +'rSideTop.Control'#7#16'CursorGroupLabel'#18'AnchorSideTop.Side'#7#9'asrCent' - +'er'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asr' - +'Bottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#3#30#1#5'Width'#3#23#1#7'Ancho' - +'rs'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#3#180#0#0#0 - +#242#2#13#9'TComboBox'#19'BlockIndentComboBox'#22'AnchorSideLeft.Control'#7#5 - +'Owner'#21'AnchorSideTop.Control'#7#23'TabIndentBlocksCheckBox'#18'AnchorSid' - ,'eTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#17'TabWidthsComboB' - +'ox'#4'Left'#2#6#6'Height'#2#21#3'Top'#3#189#0#5'Width'#2'd'#12'AutoComplete' - +#8#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#3#5'Ctl3D'#8#10'ItemHe' - +'ight'#2#13#13'Items.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#9'ItemWidth'#2 - +#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKey' - +'Down'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#0#0#0#242#2#14#9'TComboBox'#17 - +'TabWidthsComboBox'#22'AnchorSideLeft.Control'#7#17'SmartTabsCheckBox'#21'An' - +'chorSideTop.Control'#7#19'BlockIndentComboBox'#24'AnchorSideBottom.Control' - +#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Heigh' - +'t'#2#21#3'Top'#3#189#0#5'Width'#2'd'#12'AutoComplete'#8#5'Ctl3D'#8#10'ItemH' - +'eight'#2#13#13'Items.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#9'ItemWidth'#2 - +#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKey' - +'Down'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#1#0#0#242#2#15#9'TComboBox'#17 - +'UndoLimitComboBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.C' - +'ontrol'#7#14'UndoGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3 - +#236#0#6'Height'#2#21#3'Top'#2#20#5'Width'#2'd'#12'AutoComplete'#8#18'Border' - +'Spacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6#5'Ctl3D'#8#10'ItemHeight' - +#2#13#13'Items.Strings'#1#6#5'32767'#6#4'4096'#6#3'512'#0#9'ItemWidth'#2#0#8 + +'ght'#3#4#2#5'Width'#3#203#1#12'ClientHeight'#3#4#2#11'ClientWidth'#3#203#1#8 + +'TabOrder'#2#0#7'Visible'#8#10'DesignLeft'#2#23#9'DesignTop'#2#23#0#242#2#0#6 + +'TLabel'#16'BlockIndentLabel'#22'AnchorSideLeft.Control'#7#19'BlockIndentCom' + +'boBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7 + +#19'BlockIndentComboBox'#21'AnchorSideBottom.Side'#7#9'asrCenter'#4'Left'#2 + +'p'#6'Height'#2#16#3'Top'#3#197#0#5'Width'#2'\'#7'Anchors'#11#6'akLeft'#8'ak' + +'Bottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'BlockIndentLabel'#11 + +'ParentColor'#8#0#0#242#2#1#6'TLabel'#14'TabWidthsLabel'#22'AnchorSideLeft.C' + +'ontrol'#7#17'TabWidthsComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'A' + +'nchorSideBottom.Control'#7#17'TabWidthsComboBox'#21'AnchorSideBottom.Side'#7 + +#9'asrCenter'#4'Left'#3'V'#1#6'Height'#2#16#3'Top'#3#197#0#5'Width'#2'V'#7'A' + +'nchors'#11#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6 + +#14'TabWidthsLabel'#11'ParentColor'#8#0#0#242#2#2#6'TBevel'#6'Bevel1'#22'Anc' + +'horSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#14'UndoGroupLab' + +'el'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#5'O' + +'wner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3 + +#3'Top'#2#7#5'Width'#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18 + +'BorderSpacing.Left'#3#180#0#0#0#242#2#3#6'TLabel'#14'UndoGroupLabel'#22'Anc' + +'horSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#6'Heig' + +'ht'#2#16#5'Width'#2'['#7'Caption'#6#14'UndoGroupLabel'#11'ParentColor'#8#0#0 + +#242#2#4#6'TLabel'#14'UndoLimitLabel'#22'AnchorSideLeft.Control'#7#17'UndoLi' + +'mitComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contro' + +'l'#7#17'UndoLimitComboBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3 + +'V'#1#6'Height'#2#16#3'Top'#2#24#5'Width'#2'U'#20'BorderSpacing.Around'#2#6#7 + +'Caption'#6#14'UndoLimitLabel'#11'ParentColor'#8#0#0#242#2#5#6'TLabel'#16'Sc' + +'rollGroupLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Cont' + +'rol'#7#17'GroupUndoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#6'Height' + +#2#16#3'Top'#2'B'#5'Width'#2'['#17'BorderSpacing.Top'#2#6#7'Caption'#6#16'Sc' + +'rollGroupLabel'#11'ParentColor'#8#0#0#242#2#6#6'TBevel'#6'Bevel2'#22'Anchor' + +'SideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'ScrollGroupLabe' + +'l'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#5'Ow' + +'ner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3#3 + +'Top'#2'I'#5'Width'#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18 + +'BorderSpacing.Left'#3#180#0#0#0#242#2#7#6'TLabel'#21'IndentsTabsGroupLabel' + +#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#25'Scroll' + +'PastEndLineCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#6'Height'#2#16#3 + +'Top'#3#132#0#5'Width'#2'~'#17'BorderSpacing.Top'#2#6#7'Caption'#6#21'Indent' + +'sTabsGroupLabel'#11'ParentColor'#8#0#0#242#2#8#6'TBevel'#6'Bevel3'#22'Ancho' + +'rSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#21'IndentsTabsGro' + +'upLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7 + +#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2 + +#3#3'Top'#3#139#0#5'Width'#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight' + +#0#18'BorderSpacing.Left'#3#180#0#0#0#242#2#9#6'TLabel'#15'MouseGroupLabel' + +#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#19'BlockI' + +'ndentComboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#6'Height'#2#16#3'Top'#3 + +#222#0#5'Width'#2'b'#17'BorderSpacing.Top'#2#6#7'Caption'#6#15'MouseGroupLab' + +'el'#11'ParentColor'#8#0#0#242#2#10#6'TBevel'#6'Bevel4'#22'AnchorSideLeft.Co' + +'ntrol'#7#5'Owner'#21'AnchorSideTop.Control'#7#15'MouseGroupLabel'#18'Anchor' + +'SideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#5'Owner'#20'Anch' + +'orSideRight.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#3#229 + +#0#5'Width'#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSp' + +'acing.Left'#3#180#0#0#0#242#2#11#6'TLabel'#16'CursorGroupLabel'#22'AnchorSi' + +'deLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#18'MouseLinksCheckBo' + +'x'#18'AnchorSideTop.Side'#7#9'asrBottom'#6'Height'#2#16#3'Top'#3' '#1#5'Wid' + +'th'#2'a'#17'BorderSpacing.Top'#2#6#7'Caption'#6#16'CursorGroupLabel'#11'Par' + +'entColor'#8#0#0#242#2#12#6'TBevel'#6'Bevel5'#22'AnchorSideLeft.Control'#7#5 + +'Owner'#21'AnchorSideTop.Control'#7#16'CursorGroupLabel'#18'AnchorSideTop.Si' + +'de'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRigh' + +'t.Side'#7#9'asrBottom'#4'Left'#3#180#0#6'Height'#2#3#3'Top'#3''''#1#5'Width' + +#3#23#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left' + +#3#180#0#0#0#242#2#13#9'TComboBox'#19'BlockIndentComboBox'#22'AnchorSideLeft' + +'.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#23'TabIndentBlocksCheckBox' + +#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#17'Tab' + ,'WidthsComboBox'#4'Left'#2#6#6'Height'#2#21#3'Top'#3#195#0#5'Width'#2'd'#18 + +'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#3#10'ItemHeight'#2#13#13'It' + +'ems.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#8'OnChange'#7#16'ComboboxOnCha' + +'nge'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8 + +'TabOrder'#2#0#0#0#242#2#14#9'TComboBox'#17'TabWidthsComboBox'#22'AnchorSide' + +'Left.Control'#7#17'SmartTabsCheckBox'#21'AnchorSideTop.Control'#7#19'BlockI' + +'ndentComboBox'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.' + +'Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#21#3'Top'#3#195#0#5'Width' + +#2'd'#10'ItemHeight'#2#13#13'Items.Strings'#1#6#1'1'#6#1'2'#6#1'4'#6#1'8'#0#8 +'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown' - +#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#2#0#0#242#2#16#9'TCheckBox'#17'GroupU' - +'ndoCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control' - +#7#21'UndoAfterSaveCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2 - +#6#6'Height'#2#19#3'Top'#2''''#5'Width'#2''#18'BorderSpacing.Left'#2#6#7'Ca' - +'ption'#6#17'GroupUndoCheckBox'#8'OnChange'#7#23'GroupUndoCheckBoxChange'#8 - +'TabOrder'#2#3#11'UseOnChange'#8#0#0#242#2#17#9'TCheckBox'#21'UndoAfterSaveC' - +'heckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7 - +#14'UndoGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig' - +'ht'#2#19#3'Top'#2#20#5'Width'#3#147#0#18'BorderSpacing.Left'#2#6#17'BorderS' - +'pacing.Top'#2#6#7'Caption'#6#21'UndoAfterSaveCheckBox'#8'TabOrder'#2#4#11'U' - +'seOnChange'#8#0#0#242#2#18#9'TCheckBox'#25'ScrollPastEndFileCheckBox'#22'An' - +'chorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'ScrollGroup' - +'Label'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'T' - +'op'#2'T'#5'Width'#3#153#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2 - +#6#7'Caption'#6#25'ScrollPastEndFileCheckBox'#8'OnChange'#7#31'ScrollPastEnd' - +'FileCheckBoxChange'#8'TabOrder'#2#5#11'UseOnChange'#8#0#0#242#2#19#9'TCheck' - +'Box'#25'ScrollPastEndLineCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21 - +'AnchorSideTop.Control'#7#25'ScrollPastEndFileCheckBox'#18'AnchorSideTop.Sid' - +'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'g'#5'Width'#3#156#0#18 - +'BorderSpacing.Left'#2#6#7'Caption'#6#25'ScrollPastEndLineCheckBox'#8'OnChan' - +'ge'#7#31'ScrollPastEndLineCheckBoxChange'#8'TabOrder'#2#6#11'UseOnChange'#8 - +#0#0#242#2#20#9'TCheckBox'#23'ScrollByOneLessCheckBox'#22'AnchorSideLeft.Con' - +'trol'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'ScrollGroupLabel'#18'Anchor' - +'SideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#2'T'#5'W' - +'idth'#3#151#0#18'BorderSpacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6#7 - +'Caption'#6#23'ScrollByOneLessCheckBox'#8'OnChange'#7#29'ScrollByOneLessChec' - +'kBoxChange'#8'TabOrder'#2#7#11'UseOnChange'#8#0#0#242#2#21#9'TCheckBox'#22 + +#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#1#0#0#242#2#15#9'TComboBox'#17'UndoLi' + +'mitComboBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control' + +#7#14'UndoGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6 + +'Height'#2#21#3'Top'#2#22#5'Width'#2'd'#18'BorderSpacing.Left'#3#230#0#20'Bo' + +'rderSpacing.Around'#2#6#10'ItemHeight'#2#13#13'Items.Strings'#1#6#5'32767'#6 + +#4'4096'#6#3'512'#0#8'OnChange'#7#16'ComboboxOnChange'#6'OnExit'#7#14'ComboB' + +'oxOnExit'#9'OnKeyDown'#7#17'ComboboxOnKeyDown'#8'TabOrder'#2#2#0#0#242#2#16 + +#9'TCheckBox'#17'GroupUndoCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21 + +'AnchorSideTop.Control'#7#21'UndoAfterSaveCheckBox'#18'AnchorSideTop.Side'#7 + +#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2')'#5'Width'#2'|'#18'Border' + +'Spacing.Left'#2#6#7'Caption'#6#17'GroupUndoCheckBox'#8'OnChange'#7#23'Group' + +'UndoCheckBoxChange'#8'TabOrder'#2#3#0#0#242#2#17#9'TCheckBox'#21'UndoAfterS' + +'aveCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control' + +#7#14'UndoGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'He' + +'ight'#2#19#3'Top'#2#22#5'Width'#3#142#0#18'BorderSpacing.Left'#2#6#17'Borde' + +'rSpacing.Top'#2#6#7'Caption'#6#21'UndoAfterSaveCheckBox'#8'TabOrder'#2#4#0#0 + +#242#2#18#9'TCheckBox'#25'ScrollPastEndFileCheckBox'#22'AnchorSideLeft.Contr' + +'ol'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'ScrollGroupLabel'#18'AnchorSi' + +'deTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'X'#5'Width'#3 + +#151#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#25 + +'ScrollPastEndFileCheckBox'#8'OnChange'#7#31'ScrollPastEndFileCheckBoxChange' + +#8'TabOrder'#2#5#0#0#242#2#19#9'TCheckBox'#25'ScrollPastEndLineCheckBox'#22 + +'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#25'ScrollPas' + +'tEndFileCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh' + +'t'#2#19#3'Top'#2'k'#5'Width'#3#155#0#18'BorderSpacing.Left'#2#6#7'Caption'#6 + +#25'ScrollPastEndLineCheckBox'#8'OnChange'#7#31'ScrollPastEndLineCheckBoxCha' + +'nge'#8'TabOrder'#2#6#0#0#242#2#20#9'TCheckBox'#23'ScrollByOneLessCheckBox' + +#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'Scroll' + +'GroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height' + +#2#19#3'Top'#2'X'#5'Width'#3#149#0#18'BorderSpacing.Left'#3#230#0#20'BorderS' + +'pacing.Around'#2#6#7'Caption'#6#23'ScrollByOneLessCheckBox'#8'OnChange'#7#29 + +'ScrollByOneLessCheckBoxChange'#8'TabOrder'#2#7#0#0#242#2#21#9'TCheckBox'#22 +'HalfPageScrollCheckBox'#22'AnchorSideLeft.Control'#7#23'ScrollByOneLessChec' +'kBox'#21'AnchorSideTop.Control'#7#25'ScrollPastEndLineCheckBox'#4'Left'#3 - +#236#0#6'Height'#2#19#3'Top'#2'g'#5'Width'#3#141#0#7'Caption'#6#22'HalfPageS' + +#236#0#6'Height'#2#19#3'Top'#2'k'#5'Width'#3#139#0#7'Caption'#6#22'HalfPageS' +'crollCheckBox'#8'OnChange'#7#28'HalfPageScrollCheckBoxChange'#8'TabOrder'#2 - +#8#11'UseOnChange'#8#0#0#242#2#22#9'TCheckBox'#18'AutoIndentCheckBox'#22'Anc' - +'horSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#21'IndentsTabsG' - +'roupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19 - +#3'Top'#3#148#0#5'Width'#3#128#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing' - +'.Top'#2#6#7'Caption'#6#18'AutoIndentCheckBox'#8'OnChange'#7#24'AutoIndentCh' - +'eckBoxChange'#8'TabOrder'#2#9#11'UseOnChange'#8#0#0#242#2#23#9'TCheckBox'#23 - +'TabIndentBlocksCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSid' - +'eTop.Control'#7#18'AutoIndentCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom' - +#4'Left'#2#6#6'Height'#2#19#3'Top'#3#167#0#5'Width'#3#152#0#18'BorderSpacing' - +'.Left'#2#6#7'Caption'#6#23'TabIndentBlocksCheckBox'#8'OnChange'#7#29'TabInd' - +'entBlocksCheckBoxChange'#8'TabOrder'#2#10#11'UseOnChange'#8#0#0#242#2#24#9 - +'TCheckBox'#17'SmartTabsCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'A' - +'nchorSideTop.Control'#7#21'IndentsTabsGroupLabel'#18'AnchorSideTop.Side'#7#9 - +'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3#148#0#5'Width'#2'|'#18'B' - ,'orderSpacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Sma' - +'rtTabsCheckBox'#8'OnChange'#7#23'SmartTabsCheckBoxChange'#8'TabOrder'#2#11 - +#11'UseOnChange'#8#0#0#242#2#25#9'TCheckBox'#20'TabsToSpacesCheckBox'#22'Anc' - +'horSideLeft.Control'#7#17'SmartTabsCheckBox'#21'AnchorSideTop.Control'#7#23 - +'TabIndentBlocksCheckBox'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3#167#0#5'Wi' - +'dth'#3#142#0#7'Caption'#6#20'TabsToSpacesCheckBox'#8'OnChange'#7#26'TabsToS' - +'pacesCheckBoxChange'#8'TabOrder'#2#12#11'UseOnChange'#8#0#0#242#2#26#9'TChe' - +'ckBox'#23'DoubleClickLineCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21 - +'AnchorSideTop.Control'#7#15'MouseGroupLabel'#18'AnchorSideTop.Side'#7#9'asr' - +'Bottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#236#0#5'Width'#3#146#0#18'Borde' - +'rSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#23'DoubleClickLin' - +'eCheckBox'#8'OnChange'#7#29'DoubleClickLineCheckBoxChange'#8'TabOrder'#2#13 - +#11'UseOnChange'#8#0#0#242#2#27#9'TCheckBox'#18'MouseLinksCheckBox'#22'Ancho' - +'rSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#23'DoubleClickLin' - +'eCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19 - +#3'Top'#3#255#0#5'Width'#2''#18'BorderSpacing.Left'#2#6#7'Caption'#6#18'Mou' - +'seLinksCheckBox'#8'OnChange'#7#24'MouseLinksCheckBoxChange'#8'TabOrder'#2#14 - +#11'UseOnChange'#8#0#0#242#2#28#9'TCheckBox'#18'DragDropEdCheckBox'#22'Ancho' - +'rSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#15'MouseGroupLabe' - +'l'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'T' - +'op'#3#236#0#5'Width'#3#131#0#18'BorderSpacing.Left'#3#230#0#20'BorderSpacin' - +'g.Around'#2#6#7'Caption'#6#18'DragDropEdCheckBox'#8'OnChange'#7#24'DragDrop' - +'EdCheckBoxChange'#8'TabOrder'#2#15#11'UseOnChange'#8#0#0#242#2#29#9'TCheckB' - +'ox'#17'DropFilesCheckBox'#22'AnchorSideLeft.Control'#7#18'DragDropEdCheckBo' - +'x'#21'AnchorSideTop.Control'#7#18'MouseLinksCheckBox'#4'Left'#3#236#0#6'Hei' - +'ght'#2#19#3'Top'#3#255#0#5'Width'#2'u'#7'Caption'#6#17'DropFilesCheckBox'#8 - +'OnChange'#7#23'DropFilesCheckBoxChange'#8'TabOrder'#2#16#11'UseOnChange'#8#0 - +#0#242#2#30#9'TCheckBox'#19'KeepCursorXCheckBox'#22'AnchorSideLeft.Control'#7 - +#5'Owner'#21'AnchorSideTop.Control'#7#16'CursorGroupLabel'#18'AnchorSideTop.' - +'Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3','#1#5'Width'#3#135 - +#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#19'Keep' - +'CursorXCheckBox'#8'OnChange'#7#25'KeepCursorXCheckBoxChange'#8'TabOrder'#2 - +#17#11'UseOnChange'#8#0#0#242#2#31#9'TCheckBox'#24'PersistentCursorCheckBox' - +#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#19'KeepCu' - +'rsorXCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2 - +#19#3'Top'#3'?'#1#5'Width'#3#153#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#24 - +'PersistentCursorCheckBox'#8'OnChange'#7#30'PersistentCursorCheckBoxChange'#8 - +'TabOrder'#2#18#11'UseOnChange'#8#0#0#242#2' '#9'TCheckBox'#27'AlwaysVisible' - +'CursorCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Cont' - +'rol'#7#24'PersistentCursorCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4 - +'Left'#2#6#6'Height'#2#19#3'Top'#3'R'#1#5'Width'#3#168#0#18'BorderSpacing.Le' - +'ft'#2#6#7'Caption'#6#27'AlwaysVisibleCursorCheckBox'#8'OnChange'#7'!AlwaysV' - +'isibleCursorCheckBoxChange'#8'TabOrder'#2#19#11'UseOnChange'#8#0#0#242#2'!' - +#9'TCheckBox'#28'CursorSkipsSelectionCheckBox'#22'AnchorSideLeft.Control'#7#5 - +'Owner'#21'AnchorSideTop.Control'#7#16'CursorGroupLabel'#18'AnchorSideTop.Si' - +'de'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3','#1#5'Width'#3 - +#172#0#18'BorderSpacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6#7'Caption' - +#6#28'CursorSkipsSelectionCheckBox'#8'OnChange'#7'"CursorSkipsSelectionCheck' - +'BoxChange'#8'TabOrder'#2#20#11'UseOnChange'#8#0#0#242#2'"'#9'TCheckBox'#29 - +'RightMouseMovesCursorCheckBox'#22'AnchorSideLeft.Control'#7#28'CursorSkipsS' - +'electionCheckBox'#21'AnchorSideTop.Control'#7#24'PersistentCursorCheckBox'#4 - +'Left'#3#236#0#6'Height'#2#19#3'Top'#3'?'#1#5'Width'#3#192#0#7'Caption'#6#29 - +'RightMouseMovesCursorCheckBox'#8'OnChange'#7'#RightMouseMovesCursorCheckBox' - +'Change'#8'TabOrder'#2#21#11'UseOnChange'#8#0#0#242#2'#'#9'TCheckBox"HomeKey' - +'JumpsToNearestStartCheckBox'#22'AnchorSideLeft.Control'#7#28'CursorSkipsSel' - +'ectionCheckBox'#21'AnchorSideTop.Control'#7#27'AlwaysVisibleCursorCheckBox' - +#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3'R'#1#5'Width'#3#222#0#7'Caption'#6 - +'"HomeKeyJumpsToNearestStartCheckBox'#8'OnChange'#7'(HomeKeyJumpsToNearestSt' - +'artCheckBoxChange'#8'TabOrder'#2#22#11'UseOnChange'#8#0#0#0 + +#8#0#0#242#2#22#9'TCheckBox'#18'AutoIndentCheckBox'#22'AnchorSideLeft.Contro' + +'l'#7#5'Owner'#21'AnchorSideTop.Control'#7#21'IndentsTabsGroupLabel'#18'Anch' + +'orSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#154#0#5 + +'Width'#2'y'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption' + +#6#18'AutoIndentCheckBox'#8'OnChange'#7#24'AutoIndentCheckBoxChange'#8'TabOr' + +'der'#2#9#0#0#242#2#23#9'TCheckBox'#23'TabIndentBlocksCheckBox'#22'AnchorSid' + +'eLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#18'AutoIndentCheckBox' + +#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3 + +#173#0#5'Width'#3#150#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#23'TabIndent' + +'BlocksCheckBox'#8'OnChange'#7#29'TabIndentBlocksCheckBoxChange'#8'TabOrder' + +#2#10#0#0#242#2#24#9'TCheckBox'#17'SmartTabsCheckBox'#22'AnchorSideLeft.Cont' + +'rol'#7#5'Owner'#21'AnchorSideTop.Control'#7#21'IndentsTabsGroupLabel'#18'An' + +'chorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3#154 + +#0#5'Width'#2'x'#18'BorderSpacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6 + +#7'Caption'#6#17'SmartTabsCheckBox'#8'OnChange'#7#23'SmartTabsCheckBoxChange' + +#8'TabOrder'#2#11#0#0#242#2#25#9'TCheckBox'#20'TabsToSpacesCheckBox'#22'Anch' + +'orSideLeft.Control'#7#17'SmartTabsCheckBox'#21'AnchorSideTop.Control'#7#23 + +'TabIndentBlocksCheckBox'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3#173#0#5'Wi' + ,'dth'#3#142#0#7'Caption'#6#20'TabsToSpacesCheckBox'#8'OnChange'#7#26'TabsToS' + +'pacesCheckBoxChange'#8'TabOrder'#2#12#0#0#242#2#26#9'TCheckBox'#23'DoubleCl' + +'ickLineCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Con' + +'trol'#7#15'MouseGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2 + +#6#6'Height'#2#19#3'Top'#3#244#0#5'Width'#3#146#0#18'BorderSpacing.Left'#2#6 + +#17'BorderSpacing.Top'#2#6#7'Caption'#6#23'DoubleClickLineCheckBox'#8'OnChan' + +'ge'#7#29'DoubleClickLineCheckBoxChange'#8'TabOrder'#2#13#0#0#242#2#27#9'TCh' + +'eckBox'#18'MouseLinksCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'Anc' + +'horSideTop.Control'#7#23'DoubleClickLineCheckBox'#18'AnchorSideTop.Side'#7#9 + +'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#7#1#5'Width'#2'~'#18'BorderS' + +'pacing.Left'#2#6#7'Caption'#6#18'MouseLinksCheckBox'#8'OnChange'#7#24'Mouse' + +'LinksCheckBoxChange'#8'TabOrder'#2#14#0#0#242#2#28#9'TCheckBox'#18'DragDrop' + +'EdCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control' + +#7#15'MouseGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0 + +#6'Height'#2#19#3'Top'#3#244#0#5'Width'#3#128#0#18'BorderSpacing.Left'#3#230 + +#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#18'DragDropEdCheckBox'#8'OnChan' + +'ge'#7#24'DragDropEdCheckBoxChange'#8'TabOrder'#2#15#0#0#242#2#29#9'TCheckBo' + +'x'#17'DropFilesCheckBox'#22'AnchorSideLeft.Control'#7#18'DragDropEdCheckBox' + +#21'AnchorSideTop.Control'#7#18'MouseLinksCheckBox'#4'Left'#3#236#0#6'Height' + +#2#19#3'Top'#3#7#1#5'Width'#2'q'#7'Caption'#6#17'DropFilesCheckBox'#8'OnChan' + +'ge'#7#23'DropFilesCheckBoxChange'#8'TabOrder'#2#16#0#0#242#2#30#9'TCheckBox' + +#19'KeepCursorXCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSide' + +'Top.Control'#7#16'CursorGroupLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4 + +'Left'#2#6#6'Height'#2#19#3'Top'#3'6'#1#5'Width'#3#131#0#18'BorderSpacing.Le' + +'ft'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#19'KeepCursorXCheckBox'#8'On' + +'Change'#7#25'KeepCursorXCheckBoxChange'#8'TabOrder'#2#17#0#0#242#2#31#9'TCh' + +'eckBox'#24'PersistentCursorCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner' + +#21'AnchorSideTop.Control'#7#19'KeepCursorXCheckBox'#18'AnchorSideTop.Side'#7 + +#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3'I'#1#5'Width'#3#145#0#18'B' + +'orderSpacing.Left'#2#6#7'Caption'#6#24'PersistentCursorCheckBox'#8'OnChange' + +#7#30'PersistentCursorCheckBoxChange'#8'TabOrder'#2#18#0#0#242#2' '#9'TCheck' + +'Box'#27'AlwaysVisibleCursorCheckBox'#22'AnchorSideLeft.Control'#7#5'Owner' + +#21'AnchorSideTop.Control'#7#24'PersistentCursorCheckBox'#18'AnchorSideTop.S' + +'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3'\'#1#5'Width'#3#162 + +#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#27'AlwaysVisibleCursorCheckBox'#8 + +'OnChange'#7'!AlwaysVisibleCursorCheckBoxChange'#8'TabOrder'#2#19#0#0#242#2 + +'!'#9'TCheckBox'#28'CursorSkipsSelectionCheckBox'#22'AnchorSideLeft.Control' + +#7#5'Owner'#21'AnchorSideTop.Control'#7#16'CursorGroupLabel'#18'AnchorSideTo' + +'p.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#19#3'Top'#3'6'#1#5'Width' + +#3#169#0#18'BorderSpacing.Left'#3#230#0#20'BorderSpacing.Around'#2#6#7'Capti' + +'on'#6#28'CursorSkipsSelectionCheckBox'#8'OnChange'#7'"CursorSkipsSelectionC' + +'heckBoxChange'#8'TabOrder'#2#20#0#0#242#2'"'#9'TCheckBox'#29'RightMouseMove' + +'sCursorCheckBox'#22'AnchorSideLeft.Control'#7#28'CursorSkipsSelectionCheckB' + +'ox'#21'AnchorSideTop.Control'#7#24'PersistentCursorCheckBox'#4'Left'#3#236#0 + +#6'Height'#2#19#3'Top'#3'I'#1#5'Width'#3#188#0#7'Caption'#6#29'RightMouseMov' + +'esCursorCheckBox'#8'OnChange'#7'#RightMouseMovesCursorCheckBoxChange'#8'Tab' + +'Order'#2#21#0#0#242#2'#'#9'TCheckBox"HomeKeyJumpsToNearestStartCheckBox'#22 + +'AnchorSideLeft.Control'#7#28'CursorSkipsSelectionCheckBox'#21'AnchorSideTop' + +'.Control'#7#27'AlwaysVisibleCursorCheckBox'#4'Left'#3#236#0#6'Height'#2#19#3 + +'Top'#3'\'#1#5'Width'#3#217#0#7'Caption'#6'"HomeKeyJumpsToNearestStartCheckB' + +'ox'#8'OnChange'#7'(HomeKeyJumpsToNearestStartCheckBoxChange'#8'TabOrder'#2 + +#22#0#0#242#2'$'#9'TCheckBox!EndKeyJumpsToNearestStartCheckBox'#22'AnchorSid' + +'eLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#27'AlwaysVisibleCurso' + +'rCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19 + +#3'Top'#3'o'#1#5'Width'#3#208#0#18'BorderSpacing.Left'#2#6#7'Caption'#6'!End' + +'KeyJumpsToNearestStartCheckBox'#8'OnChange'#7'''EndKeyJumpsToNearestStartCh' + +'eckBoxChange'#8'TabOrder'#2#23#0#0#0 ]); diff --git a/ide/frames/editor_general_options.pas b/ide/frames/editor_general_options.pas index a38c96e604..c5ac80d394 100644 --- a/ide/frames/editor_general_options.pas +++ b/ide/frames/editor_general_options.pas @@ -42,6 +42,7 @@ type BlockIndentComboBox: TComboBox; BlockIndentLabel: TLabel; AutoIndentCheckBox: TCheckBox; + EndKeyJumpsToNearestStartCheckBox: TCheckBox; KeepCursorXCheckBox: TCheckBox; PersistentCursorCheckBox: TCheckBox; AlwaysVisibleCursorCheckBox: TCheckBox; @@ -80,6 +81,7 @@ type procedure DragDropEdCheckBoxChange(Sender: TObject); procedure DropFilesCheckBoxChange(Sender: TObject); procedure ComboBoxOnExit(Sender: TObject); + procedure EndKeyJumpsToNearestStartCheckBoxChange(Sender: TObject); procedure GroupUndoCheckBoxChange(Sender: TObject); procedure HalfPageScrollCheckBoxChange(Sender: TObject); procedure HomeKeyJumpsToNearestStartCheckBoxChange(Sender: TObject); @@ -159,6 +161,7 @@ begin CursorSkipsSelectionCheckBox.Caption := dlgCursorSkipsSelection; RightMouseMovesCursorCheckBox.Caption := dlgRightMouseMovesCursor; HomeKeyJumpsToNearestStartCheckBox.Caption := dlgHomeKeyJumpsToNearestStart; + EndKeyJumpsToNearestStartCheckBox.Caption := dlgEndKeyJumpsToNearestStart; end; procedure TEditorGeneralOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions); @@ -200,6 +203,7 @@ begin CursorSkipsSelectionCheckBox.Checked := eoCaretSkipsSelection in SynEditOptions2; RightMouseMovesCursorCheckBox.Checked := eoRightMouseMovesCursor in SynEditOptions; HomeKeyJumpsToNearestStartCheckBox.Checked := eoEnhanceHomeKey in SynEditOptions; + EndKeyJumpsToNearestStartCheckBox.Checked := eoEnhanceEndKey in SynEditOptions2; for i := Low(PreviewEdits) to High(PreviewEdits) do if PreviewEdits[i] <> nil then @@ -279,6 +283,7 @@ begin UpdateOptionFromBool(CursorSkipsSelectionCheckBox.Checked, eoCaretSkipsSelection); UpdateOptionFromBool(RightMouseMovesCursorCheckBox.Checked, eoRightMouseMovesCursor); UpdateOptionFromBool(HomeKeyJumpsToNearestStartCheckBox.Checked, eoEnhanceHomeKey); + UpdateOptionFromBool(EndKeyJumpsToNearestStartCheckBox.Checked, eoEnhanceEndKey); end; end; @@ -386,6 +391,12 @@ begin end end; +procedure TEditorGeneralOptionsFrame.EndKeyJumpsToNearestStartCheckBoxChange( + Sender: TObject); +begin + SetPreviewOption(EndKeyJumpsToNearestStartCheckBox.Checked, eoEnhanceEndKey); +end; + procedure TEditorGeneralOptionsFrame.GroupUndoCheckBoxChange(Sender: TObject); begin SetPreviewOption(GroupUndoCheckBox.Checked, eoGroupUndo); diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 9fe91cc295..8d4edb65e8 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -1138,6 +1138,7 @@ resourcestring dlgUseCodeFolding = 'Code folding'; dlgCopyWordAtCursorOnCopyNone = 'Copy word on copy none'; dlgHomeKeyJumpsToNearestStart = 'Home key jumps to nearest start'; + dlgEndKeyJumpsToNearestStart = 'End key jumps to nearest start'; dlgBracketHighlight = 'Bracket highlight'; dlgNoBracketHighlight = 'No Highlight'; dlgHighlightLeftOfCursor = 'Left Of Cursor';