diff --git a/ide/diffdialog.lfm b/ide/diffdialog.lfm index 3da9ff7df3..2a2b7f7497 100644 --- a/ide/diffdialog.lfm +++ b/ide/diffdialog.lfm @@ -1,21 +1,20 @@ object DiffDlg: TDiffDlg - Left = 298 + Left = 300 Height = 505 - Top = 132 + Top = 147 Width = 598 HelpType = htKeyword - ActiveControl = Text1Combobox BorderIcons = [biSystemMenu] Caption = 'Diff dialog' ClientHeight = 505 ClientWidth = 598 Position = poScreenCenter - LCLVersion = '0.9.27' + LCLVersion = '0.9.29' object Text1GroupBox: TGroupBox AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner Left = 6 - Height = 74 + Height = 78 Top = 6 Width = 586 Align = alTop @@ -23,7 +22,7 @@ object DiffDlg: TDiffDlg AutoSize = True BorderSpacing.Around = 6 Caption = 'Text1GroupBox' - ClientHeight = 56 + ClientHeight = 60 ClientWidth = 582 TabOrder = 0 object Text1Combobox: TComboBox @@ -31,16 +30,14 @@ object DiffDlg: TDiffDlg AnchorSideTop.Control = Text1GroupBox AnchorSideRight.Control = Text1FileOpenButton Left = 6 - Height = 21 + Height = 23 Top = 6 Width = 532 Anchors = [akTop, akLeft, akRight] - AutoComplete = False BorderSpacing.Left = 6 BorderSpacing.Top = 6 BorderSpacing.Right = 6 - ItemHeight = 13 - ItemWidth = 0 + ItemHeight = 15 OnChange = Text1ComboboxChange TabOrder = 0 Text = 'Text1Combobox' @@ -50,8 +47,8 @@ object DiffDlg: TDiffDlg AnchorSideTop.Control = Text1Combobox AnchorSideTop.Side = asrBottom Left = 6 - Height = 17 - Top = 33 + Height = 19 + Top = 35 Width = 490 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 @@ -67,7 +64,7 @@ object DiffDlg: TDiffDlg AnchorSideBottom.Control = Text1Combobox AnchorSideBottom.Side = asrBottom Left = 544 - Height = 21 + Height = 23 Top = 6 Width = 32 Anchors = [akTop, akRight, akBottom] @@ -79,14 +76,14 @@ object DiffDlg: TDiffDlg end object Text2GroupBox: TGroupBox Left = 6 - Height = 74 - Top = 86 + Height = 78 + Top = 90 Width = 586 Align = alTop AutoSize = True BorderSpacing.Around = 6 Caption = 'Text2GroupBox' - ClientHeight = 56 + ClientHeight = 60 ClientWidth = 582 TabOrder = 1 object Text2Combobox: TComboBox @@ -94,16 +91,14 @@ object DiffDlg: TDiffDlg AnchorSideTop.Control = Text2GroupBox AnchorSideRight.Control = Text2FileOpenButton Left = 6 - Height = 21 + Height = 23 Top = 6 Width = 532 Anchors = [akTop, akLeft, akRight] - AutoComplete = False BorderSpacing.Left = 6 BorderSpacing.Top = 6 BorderSpacing.Right = 6 - ItemHeight = 13 - ItemWidth = 0 + ItemHeight = 15 OnChange = Text2ComboboxChange TabOrder = 0 Text = 'Text2Combobox' @@ -113,8 +108,8 @@ object DiffDlg: TDiffDlg AnchorSideTop.Control = Text2Combobox AnchorSideTop.Side = asrBottom Left = 6 - Height = 17 - Top = 33 + Height = 19 + Top = 35 Width = 490 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 @@ -130,7 +125,7 @@ object DiffDlg: TDiffDlg AnchorSideBottom.Control = Text2Combobox AnchorSideBottom.Side = asrBottom Left = 544 - Height = 21 + Height = 23 Top = 6 Width = 32 Anchors = [akTop, akRight, akBottom] @@ -166,14 +161,14 @@ object DiffDlg: TDiffDlg Columns = 2 TabOrder = 2 end - object DiffSynEdit: TSynEdit + inline DiffSynEdit: TSynEdit AnchorSideLeft.Control = Owner AnchorSideTop.Control = Text2GroupBox AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom Left = 6 - Height = 186 - Top = 166 + Height = 178 + Top = 174 Width = 586 Align = alTop BorderSpacing.Around = 6 @@ -187,340 +182,487 @@ object DiffDlg: TDiffDlg ParentFont = False TabOrder = 3 BookMarkOptions.Xoffset = -18 - BookMarkOptions.OnChange = nil Gutter.Visible = False Gutter.Width = 0 + Gutter.MouseActions = < + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccAny + ClickDir = cdDown + Command = 13 + MoveCaret = False + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbRight + ClickCount = ccSingle + ClickDir = cdUp + Command = 12 + MoveCaret = False + Option = 0 + Priority = 0 + end> + Highlighter = SynDiffSyn1 Keystrokes = < item - Command = 3 + Command = ecUp ShortCut = 38 end item - Command = 103 + Command = ecSelUp ShortCut = 8230 end item - Command = 211 + Command = ecScrollUp ShortCut = 16422 end item - Command = 4 + Command = ecDown ShortCut = 40 end item - Command = 104 + Command = ecSelDown ShortCut = 8232 end item - Command = 212 + Command = ecScrollDown ShortCut = 16424 end item - Command = 1 + Command = ecLeft ShortCut = 37 end item - Command = 101 + Command = ecSelLeft ShortCut = 8229 end item - Command = 5 + Command = ecWordLeft ShortCut = 16421 end item - Command = 105 + Command = ecSelWordLeft ShortCut = 24613 end item - Command = 2 + Command = ecRight ShortCut = 39 end item - Command = 102 + Command = ecSelRight ShortCut = 8231 end item - Command = 6 + Command = ecWordRight ShortCut = 16423 end item - Command = 106 + Command = ecSelWordRight ShortCut = 24615 end item - Command = 10 + Command = ecPageDown ShortCut = 34 end item - Command = 110 + Command = ecSelPageDown ShortCut = 8226 end item - Command = 14 + Command = ecPageBottom ShortCut = 16418 end item - Command = 114 + Command = ecSelPageBottom ShortCut = 24610 end item - Command = 9 + Command = ecPageUp ShortCut = 33 end item - Command = 109 + Command = ecSelPageUp ShortCut = 8225 end item - Command = 13 + Command = ecPageTop ShortCut = 16417 end item - Command = 113 + Command = ecSelPageTop ShortCut = 24609 end item - Command = 7 + Command = ecLineStart ShortCut = 36 end item - Command = 107 + Command = ecSelLineStart ShortCut = 8228 end item - Command = 15 + Command = ecEditorTop ShortCut = 16420 end item - Command = 115 + Command = ecSelEditorTop ShortCut = 24612 end item - Command = 8 + Command = ecLineEnd ShortCut = 35 end item - Command = 108 + Command = ecSelLineEnd ShortCut = 8227 end item - Command = 16 + Command = ecEditorBottom ShortCut = 16419 end item - Command = 116 + Command = ecSelEditorBottom ShortCut = 24611 end item - Command = 223 + Command = ecToggleMode ShortCut = 45 end item - Command = 201 + Command = ecCopy ShortCut = 16429 end item - Command = 604 + Command = ecPaste ShortCut = 8237 end item - Command = 502 + Command = ecDeleteChar ShortCut = 46 end item - Command = 603 + Command = ecCut ShortCut = 8238 end item - Command = 501 + Command = ecDeleteLastChar ShortCut = 8 end item - Command = 501 + Command = ecDeleteLastChar ShortCut = 8200 end item - Command = 504 + Command = ecDeleteLastWord ShortCut = 16392 end item - Command = 601 + Command = ecUndo ShortCut = 32776 end item - Command = 602 + Command = ecRedo ShortCut = 40968 end item - Command = 509 + Command = ecLineBreak ShortCut = 13 end item - Command = 199 + Command = ecSelectAll ShortCut = 16449 end item - Command = 201 + Command = ecCopy ShortCut = 16451 end item - Command = 610 + Command = ecBlockIndent ShortCut = 24649 end item - Command = 509 + Command = ecLineBreak ShortCut = 16461 end item - Command = 510 + Command = ecInsertLine ShortCut = 16462 end item - Command = 503 + Command = ecDeleteWord ShortCut = 16468 end item - Command = 611 + Command = ecBlockUnindent ShortCut = 24661 end item - Command = 604 + Command = ecPaste ShortCut = 16470 end item - Command = 603 + Command = ecCut ShortCut = 16472 end item - Command = 507 + Command = ecDeleteLine ShortCut = 16473 end item - Command = 506 + Command = ecDeleteEOL ShortCut = 24665 end item - Command = 601 + Command = ecUndo ShortCut = 16474 end item - Command = 602 + Command = ecRedo ShortCut = 24666 end item - Command = 301 + Command = ecGotoMarker0 ShortCut = 16432 end item - Command = 302 + Command = ecGotoMarker1 ShortCut = 16433 end item - Command = 303 + Command = ecGotoMarker2 ShortCut = 16434 end item - Command = 304 + Command = ecGotoMarker3 ShortCut = 16435 end item - Command = 305 + Command = ecGotoMarker4 ShortCut = 16436 end item - Command = 306 + Command = ecGotoMarker5 ShortCut = 16437 end item - Command = 307 + Command = ecGotoMarker6 ShortCut = 16438 end item - Command = 308 + Command = ecGotoMarker7 ShortCut = 16439 end item - Command = 309 + Command = ecGotoMarker8 ShortCut = 16440 end item - Command = 310 + Command = ecGotoMarker9 ShortCut = 16441 end item - Command = 351 + Command = ecSetMarker0 ShortCut = 24624 end item - Command = 352 + Command = ecSetMarker1 ShortCut = 24625 end item - Command = 353 + Command = ecSetMarker2 ShortCut = 24626 end item - Command = 354 + Command = ecSetMarker3 ShortCut = 24627 end item - Command = 355 + Command = ecSetMarker4 ShortCut = 24628 end item - Command = 356 + Command = ecSetMarker5 ShortCut = 24629 end item - Command = 357 + Command = ecSetMarker6 ShortCut = 24630 end item - Command = 358 + Command = ecSetMarker7 ShortCut = 24631 end item - Command = 359 + Command = ecSetMarker8 ShortCut = 24632 end item - Command = 360 + Command = ecSetMarker9 ShortCut = 24633 end item - Command = 231 + Command = ecNormalSelect ShortCut = 24654 end item - Command = 232 + Command = ecColumnSelect ShortCut = 24643 end item - Command = 233 + Command = ecLineSelect ShortCut = 24652 end item - Command = 612 + Command = ecTab ShortCut = 9 end item - Command = 613 + Command = ecShiftTab ShortCut = 8201 end item - Command = 250 + Command = ecMatchBracket ShortCut = 24642 end> + MouseActions = < + item + Shift = [] + ShiftMask = [ssShift, ssAlt] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdDown + Command = 1 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [ssShift] + ShiftMask = [ssShift, ssAlt] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdDown + Command = 1 + MoveCaret = True + Option = 1 + Priority = 0 + end + item + Shift = [ssAlt] + ShiftMask = [ssShift, ssAlt] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdDown + Command = 3 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [ssShift, ssAlt] + ShiftMask = [ssShift, ssAlt] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdDown + Command = 3 + MoveCaret = True + Option = 1 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbRight + ClickCount = ccSingle + ClickDir = cdUp + Command = 12 + MoveCaret = False + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccDouble + ClickDir = cdDown + Command = 6 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccTriple + ClickDir = cdDown + Command = 7 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccQuad + ClickDir = cdDown + Command = 8 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbMiddle + ClickCount = ccSingle + ClickDir = cdDown + Command = 10 + MoveCaret = True + Option = 0 + Priority = 0 + end + item + Shift = [ssCtrl] + ShiftMask = [ssShift, ssAlt, ssCtrl] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdUp + Command = 11 + MoveCaret = False + Option = 0 + Priority = 0 + end> + MouseSelActions = < + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccSingle + ClickDir = cdDown + Command = 9 + MoveCaret = False + Option = 0 + Priority = 0 + end> Lines.Strings = ( 'DiffSynEdit' ) BracketHighlightStyle = sbhsBoth - object TSynGutterPartList + inline TSynGutterPartList object TSynGutterMarks Width = 23 end object TSynGutterLineNumber Width = 25 + MouseActions = <> MarkupInfo.Background = clBtnFace MarkupInfo.Foreground = clNone DigitCount = 2 @@ -537,8 +679,88 @@ object DiffDlg: TDiffDlg Width = 2 end object TSynGutterCodeFolding + MouseActions = < + item + Shift = [] + ShiftMask = [] + Button = mbRight + ClickCount = ccSingle + ClickDir = cdUp + Command = 16 + MoveCaret = False + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [ssShift] + Button = mbMiddle + ClickCount = ccAny + ClickDir = cdDown + Command = 14 + MoveCaret = False + Option = 0 + Priority = 0 + end + item + Shift = [ssShift] + ShiftMask = [ssShift] + Button = mbMiddle + ClickCount = ccAny + ClickDir = cdDown + Command = 14 + MoveCaret = False + Option = 1 + Priority = 0 + end + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccAny + ClickDir = cdDown + Command = 0 + MoveCaret = False + Option = 0 + Priority = 0 + end> MarkupInfo.Background = clNone MarkupInfo.Foreground = clGray + MouseActionsExpanded = < + item + Shift = [] + ShiftMask = [] + Button = mbLeft + ClickCount = ccAny + ClickDir = cdDown + Command = 14 + MoveCaret = False + Option = 0 + Priority = 0 + end> + MouseActionsCollapsed = < + item + Shift = [ssCtrl] + ShiftMask = [ssCtrl] + Button = mbLeft + ClickCount = ccAny + ClickDir = cdDown + Command = 15 + MoveCaret = False + Option = 0 + Priority = 0 + end + item + Shift = [] + ShiftMask = [ssCtrl] + Button = mbLeft + ClickCount = ccAny + ClickDir = cdDown + Command = 15 + MoveCaret = False + Option = 1 + Priority = 0 + end> end end end @@ -546,10 +768,10 @@ object DiffDlg: TDiffDlg AnchorSideRight.Control = CloseButton AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 445 - Height = 23 - Top = 476 - Width = 70 + Left = 440 + Height = 25 + Top = 474 + Width = 72 Anchors = [akRight, akBottom] AutoSize = True BorderSpacing.Around = 6 @@ -562,10 +784,10 @@ object DiffDlg: TDiffDlg AnchorSideRight.Control = SaveDiffButton AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 317 - Height = 23 - Top = 476 - Width = 122 + Left = 302 + Height = 25 + Top = 474 + Width = 132 Anchors = [akRight, akBottom] AutoSize = True BorderSpacing.Around = 6 @@ -579,10 +801,10 @@ object DiffDlg: TDiffDlg AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 521 + Left = 518 Height = 26 Top = 473 - Width = 71 + Width = 74 Anchors = [akRight, akBottom] AutoSize = True BorderSpacing.Around = 6 @@ -600,7 +822,7 @@ object DiffDlg: TDiffDlg Left = 6 Height = 26 Top = 473 - Width = 66 + Width = 70 Anchors = [akLeft, akBottom] AutoSize = True BorderSpacing.Around = 6 @@ -624,4 +846,9 @@ object DiffDlg: TDiffDlg left = 459 top = 12 end + object SynDiffSyn1: TSynDiffSyn + Enabled = False + left = 104 + top = 240 + end end diff --git a/ide/diffdialog.pas b/ide/diffdialog.pas index 7e5a51ac1b..5a567af00d 100644 --- a/ide/diffdialog.pas +++ b/ide/diffdialog.pas @@ -42,7 +42,7 @@ interface uses Classes, SysUtils, Math, Forms, Controls, Buttons, StdCtrls, FileUtil, LazarusIDEStrConsts, EditorOptions, IDEWindowIntf, LCLType, - InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, IDEContextHelpEdit, + InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, SynHighlighterDiff, IDEContextHelpEdit, SourceEditor; type @@ -82,6 +82,7 @@ type DiffSynEdit: TSynEdit; OpenInEditorButton: TBitBtn; SaveDiffButton: TBitBtn; + SynDiffSyn1: TSynDiffSyn; Text1FileOpenButton: TButton; dlgSave: TSaveDialog; dlgOpen: TOpenDialog; diff --git a/ide/diskdiffsdialog.lfm b/ide/diskdiffsdialog.lfm index a62816e754..abcf6b89eb 100644 --- a/ide/diskdiffsdialog.lfm +++ b/ide/diskdiffsdialog.lfm @@ -3,7 +3,6 @@ object DiskDiffsDlg: TDiskDiffsDlg Height = 354 Top = 379 Width = 600 - ActiveControl = FilesListBox Caption = 'DiskDiffsDlg' ClientHeight = 354 ClientWidth = 600 @@ -22,12 +21,11 @@ object DiskDiffsDlg: TDiskDiffsDlg ItemHeight = 0 OnMouseUp = FilesListBoxMouseUp TabOrder = 0 - TopIndex = -1 end inline DiffSynEdit: TSynEdit AnchorSideBottom.Control = CheckDiskChangesWithLoadingCheckBox Left = 6 - Height = 182 + Height = 189 Top = 97 Width = 588 Align = alTop @@ -67,6 +65,7 @@ object DiskDiffsDlg: TDiskDiffsDlg Option = 0 Priority = 0 end> + Highlighter = SynDiffSyn1 Keystrokes = < item Command = ecUp @@ -521,7 +520,7 @@ object DiskDiffsDlg: TDiskDiffsDlg Width = 23 end object SynGutterLineNumber1: TSynGutterLineNumber - Width = 15 + Width = 25 MouseActions = <> MarkupInfo.Background = clBtnFace MarkupInfo.Foreground = clNone @@ -637,9 +636,9 @@ object DiskDiffsDlg: TDiskDiffsDlg AnchorSideLeft.Control = Owner AnchorSideBottom.Control = BtnPanel Left = 6 - Height = 22 - Top = 285 - Width = 286 + Height = 19 + Top = 292 + Width = 241 Anchors = [akLeft, akBottom] BorderSpacing.Around = 6 Caption = 'CheckDiskChangesWithLoadingCheckBox' @@ -647,20 +646,20 @@ object DiskDiffsDlg: TDiskDiffsDlg end object BtnPanel: TPanel Left = 0 - Height = 41 - Top = 313 + Height = 37 + Top = 317 Width = 600 Align = alBottom AutoSize = True BevelOuter = bvNone - ClientHeight = 41 + ClientHeight = 37 ClientWidth = 600 TabOrder = 4 object RevertAllButton: TButton - Left = 484 - Height = 29 + Left = 485 + Height = 25 Top = 6 - Width = 110 + Width = 109 Align = alRight AutoSize = True BorderSpacing.Around = 6 @@ -670,10 +669,10 @@ object DiskDiffsDlg: TDiskDiffsDlg TabOrder = 0 end object IgnoreDiskChangesButton: TButton - Left = 300 - Height = 29 + Left = 315 + Height = 25 Top = 6 - Width = 178 + Width = 164 Align = alRight AutoSize = True BorderSpacing.Around = 6 @@ -682,4 +681,9 @@ object DiskDiffsDlg: TDiskDiffsDlg TabOrder = 1 end end + object SynDiffSyn1: TSynDiffSyn + Enabled = False + left = 135 + top = 138 + end end diff --git a/ide/diskdiffsdialog.pas b/ide/diskdiffsdialog.pas index 4dfb80f43a..ed1c0e242c 100644 --- a/ide/diskdiffsdialog.pas +++ b/ide/diskdiffsdialog.pas @@ -34,7 +34,7 @@ interface uses Classes, SysUtils, LCLProc, Forms, Controls, Buttons, StdCtrls, - SynEdit, LCLType, ComCtrls, ExtCtrls, + SynEdit, SynHighlighterDiff, LCLType, ComCtrls, ExtCtrls, FileProcs, CodeToolManager, CodeCache, Laz_XMLCfg, Laz_XMLWrite, Project, DiffPatch, LazarusIDEStrConsts, EnvironmentOpts, EditorOptions, PackageDefs; @@ -59,6 +59,7 @@ type RevertAllButton: TButton; IgnoreDiskChangesButton: TButton; Splitter: TSplitter; + SynDiffSyn1: TSynDiffSyn; procedure DiskDiffsDlgKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FilesListBoxMouseUp(Sender: TOBject; Button: TMouseButton;