IDE: In TDiskDiffsDlg fix tab order, disable WantTabs in SynEdit, use OnSelectionChange instead of OnMouseUp (works with keyboard). Issue #28224, patch from Ondrej Pokorny

git-svn-id: trunk@49239 -
This commit is contained in:
juha 2015-06-01 22:30:48 +00:00
parent a837dfe757
commit 0e34a7e352
2 changed files with 71 additions and 163 deletions

View File

@ -11,7 +11,7 @@ object DiskDiffsDlg: TDiskDiffsDlg
OnClose = FormClose OnClose = FormClose
OnKeyDown = DiskDiffsDlgKeyDown OnKeyDown = DiskDiffsDlgKeyDown
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.29' LCLVersion = '1.5'
object FilesListBox: TListBox object FilesListBox: TListBox
Left = 6 Left = 6
Height = 86 Height = 86
@ -21,14 +21,13 @@ object DiskDiffsDlg: TDiskDiffsDlg
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 0 ItemHeight = 0
OnMouseUp = FilesListBoxMouseUp OnSelectionChange = FilesListBoxSelectionChange
TabOrder = 0 TabOrder = 0
TopIndex = -1
end end
inline DiffSynEdit: TSynEdit inline DiffSynEdit: TSynEdit
AnchorSideBottom.Control = CheckDiskChangesWithLoadingCheckBox AnchorSideBottom.Control = CheckDiskChangesWithLoadingCheckBox
Left = 6 Left = 6
Height = 182 Height = 193
Top = 97 Top = 97
Width = 588 Width = 588
Align = alTop Align = alTop
@ -44,53 +43,27 @@ object DiskDiffsDlg: TDiskDiffsDlg
TabOrder = 1 TabOrder = 1
BookMarkOptions.Xoffset = -18 BookMarkOptions.Xoffset = -18
Gutter.Visible = False Gutter.Visible = False
Gutter.Width = 57 Gutter.Width = 59
Gutter.MouseActions = < Gutter.MouseActions = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 13 Command = emcOnMainGutterClick
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcContextMenu
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end> end>
RightGutter.Width = 0 RightGutter.Width = 0
RightGutter.MouseActions = < RightGutter.MouseActions = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 13 Command = emcOnMainGutterClick
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcContextMenu
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end> end>
Highlighter = SynDiffSyn1 Highlighter = SynDiffSyn1
Keystrokes = < Keystrokes = <
@ -416,138 +389,104 @@ object DiskDiffsDlg: TDiskDiffsDlg
end> end>
MouseActions = < MouseActions = <
item item
Shift = []
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 1 Command = emcStartSelections
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssShift] Shift = [ssShift]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 1 Command = emcStartSelections
MoveCaret = True MoveCaret = True
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = [ssAlt] Shift = [ssAlt]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 3 Command = emcStartColumnSelections
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssShift, ssAlt] Shift = [ssShift, ssAlt]
ShiftMask = [ssShift, ssAlt] ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 3 Command = emcStartColumnSelections
MoveCaret = True MoveCaret = True
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcContextMenu
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccDouble ClickCount = ccDouble
ClickDir = cdDown ClickDir = cdDown
Command = 6 Command = emcSelectWord
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccTriple ClickCount = ccTriple
ClickDir = cdDown ClickDir = cdDown
Command = 7 Command = emcSelectLine
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccQuad ClickCount = ccQuad
ClickDir = cdDown ClickDir = cdDown
Command = 8 Command = emcSelectPara
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbMiddle Button = mbMiddle
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 10 Command = emcPasteSelection
MoveCaret = True MoveCaret = True
Option = 0
Priority = 0
end end
item item
Shift = [ssCtrl] Shift = [ssCtrl]
ShiftMask = [ssShift, ssAlt, ssCtrl] ShiftMask = [ssShift, ssAlt, ssCtrl]
Button = mbLeft Command = emcMouseLink
ClickCount = ccSingle
ClickDir = cdUp
Command = 11
MoveCaret = False
Option = 0
Priority = 0
end> end>
MouseTextActions = <>
MouseSelActions = < MouseSelActions = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown ClickDir = cdDown
Command = 9 Command = emcStartDragMove
MoveCaret = False
Option = 0
Priority = 0
end> end>
Lines.Strings = ( Lines.Strings = (
'DiffSynEdit' 'DiffSynEdit'
) )
VisibleSpecialChars = [vscSpace, vscTabAtLast]
ReadOnly = True ReadOnly = True
SelectedColor.BackPriority = 50
SelectedColor.ForePriority = 50
SelectedColor.FramePriority = 50
SelectedColor.BoldPriority = 50
SelectedColor.ItalicPriority = 50
SelectedColor.UnderlinePriority = 50
SelectedColor.StrikeOutPriority = 50
BracketHighlightStyle = sbhsBoth BracketHighlightStyle = sbhsBoth
BracketMatchColor.Background = clNone
BracketMatchColor.Foreground = clNone
BracketMatchColor.Style = [fsBold]
FoldedCodeColor.Background = clNone
FoldedCodeColor.Foreground = clGray
FoldedCodeColor.FrameColor = clGray
MouseLinkColor.Background = clNone
MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone
WantTabs = False
inline SynGutterPartList1: TSynGutterPartList inline SynGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks object SynGutterMarks1: TSynGutterMarks
Width = 24 Width = 24
MouseActions = <>
end end
object SynGutterLineNumber1: TSynGutterLineNumber object SynGutterLineNumber1: TSynGutterLineNumber
Width = 17 Width = 19
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clBtnFace MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone MarkupInfo.Foreground = clNone
@ -558,35 +497,28 @@ object DiskDiffsDlg: TDiskDiffsDlg
end end
object SynGutterChanges1: TSynGutterChanges object SynGutterChanges1: TSynGutterChanges
Width = 4 Width = 4
MouseActions = <>
ModifiedColor = 59900 ModifiedColor = 59900
SavedColor = clGreen SavedColor = clGreen
end end
object SynGutterSeparator1: TSynGutterSeparator object SynGutterSeparator1: TSynGutterSeparator
Width = 2 Width = 2
MouseActions = <>
MarkupInfo.Background = clWhite
MarkupInfo.Foreground = clGray
end end
object SynGutterCodeFolding1: TSynGutterCodeFolding object SynGutterCodeFolding1: TSynGutterCodeFolding
MouseActions = < MouseActions = <
item item
Shift = []
ShiftMask = []
Button = mbRight Button = mbRight
ClickCount = ccSingle Command = emcCodeFoldContextMenu
ClickDir = cdUp
Command = 16
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = [ssShift] ShiftMask = [ssShift]
Button = mbMiddle Button = mbMiddle
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = [ssShift] Shift = [ssShift]
@ -594,63 +526,39 @@ object DiskDiffsDlg: TDiskDiffsDlg
Button = mbMiddle Button = mbMiddle
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 1 Option = 1
Priority = 0
end end
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 0 Command = emcNone
MoveCaret = False
Option = 0
Priority = 0
end> end>
MarkupInfo.Background = clNone MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray MarkupInfo.Foreground = clGray
MouseActionsExpanded = < MouseActionsExpanded = <
item item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 14 Command = emcCodeFoldCollaps
MoveCaret = False
Option = 0
Priority = 0
end> end>
MouseActionsCollapsed = < MouseActionsCollapsed = <
item item
Shift = [ssCtrl] Shift = [ssCtrl]
ShiftMask = [ssCtrl] ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 15 Command = emcCodeFoldExpand
MoveCaret = False
Option = 0
Priority = 0
end end
item item
Shift = []
ShiftMask = [ssCtrl] ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny ClickCount = ccAny
ClickDir = cdDown ClickDir = cdDown
Command = 15 Command = emcCodeFoldExpand
MoveCaret = False
Option = 1 Option = 1
Priority = 0
end> end>
end end
end end
inline SynRightGutterPartList1: TSynRightGutterPartList
end
end end
object Splitter: TSplitter object Splitter: TSplitter
Cursor = crVSplit Cursor = crVSplit
@ -665,9 +573,9 @@ object DiskDiffsDlg: TDiskDiffsDlg
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = BtnPanel AnchorSideBottom.Control = BtnPanel
Left = 6 Left = 6
Height = 22 Height = 17
Top = 285 Top = 296
Width = 302 Width = 216
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'CheckDiskChangesWithLoadingCheckBox' Caption = 'CheckDiskChangesWithLoadingCheckBox'
@ -675,39 +583,39 @@ object DiskDiffsDlg: TDiskDiffsDlg
end end
object BtnPanel: TPanel object BtnPanel: TPanel
Left = 0 Left = 0
Height = 41 Height = 35
Top = 313 Top = 319
Width = 600 Width = 600
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 41 ClientHeight = 35
ClientWidth = 600 ClientWidth = 600
TabOrder = 4 TabOrder = 4
object RevertAllButton: TButton object RevertAllButton: TButton
Left = 472 Left = 492
Height = 29 Height = 23
Top = 6 Top = 6
Width = 122 Width = 102
Align = alRight Align = alRight
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'RevertAllButton' Caption = 'RevertAllButton'
Default = True Default = True
ModalResult = 10 ModalResult = 10
TabOrder = 0 TabOrder = 1
end end
object IgnoreDiskChangesButton: TButton object IgnoreDiskChangesButton: TButton
Left = 278 Left = 335
Height = 29 Height = 23
Top = 6 Top = 6
Width = 188 Width = 151
Align = alRight Align = alRight
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'IgnoreDiskChangesButton' Caption = 'IgnoreDiskChangesButton'
ModalResult = 5 ModalResult = 5
TabOrder = 1 TabOrder = 0
end end
end end
object SynDiffSyn1: TSynDiffSyn object SynDiffSyn1: TSynDiffSyn

View File

@ -62,8 +62,7 @@ type
SynDiffSyn1: TSynDiffSyn; SynDiffSyn1: TSynDiffSyn;
procedure DiskDiffsDlgKeyDown(Sender: TObject; var Key: Word; procedure DiskDiffsDlgKeyDown(Sender: TObject; var Key: Word;
{%H-}Shift: TShiftState); {%H-}Shift: TShiftState);
procedure FilesListBoxMouseUp(Sender: TOBject; {%H-}Button: TMouseButton; procedure FilesListBoxSelectionChange(Sender: TObject; User: boolean);
{%H-}Shift: TShiftState; {%H-}X, {%H-}Y: Integer);
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction); procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
private private
FPackageList: TStringList; FPackageList: TStringList;
@ -208,10 +207,11 @@ begin
ModalResult := mrYesToAll; ModalResult := mrYesToAll;
end; end;
procedure TDiskDiffsDlg.FilesListBoxMouseUp(Sender: TOBject; procedure TDiskDiffsDlg.FilesListBoxSelectionChange(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); User: boolean);
begin begin
ShowDiff; if User then
ShowDiff;
end; end;
procedure TDiskDiffsDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure TDiskDiffsDlg.FormClose(Sender: TObject; var CloseAction: TCloseAction);