mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-05 17:37:21 +01:00
EditorOptions/Mouse: Merged Start/Continue Selection and added smLine mode selection
git-svn-id: trunk@20411 -
This commit is contained in:
parent
c9f080f627
commit
98e4b39c28
@ -2465,25 +2465,26 @@ begin
|
||||
|
||||
case ACommand of
|
||||
emcNone: ; // do nothing, but result := true
|
||||
emcStartSelections, emcStartColumnSelections:
|
||||
emcStartSelections, emcStartColumnSelections, emcStartLineSelections:
|
||||
begin
|
||||
MoveCaret;
|
||||
FBlockSelection.StartLineBytePos := AnInfo.NewCaret.LineBytePos;
|
||||
if ACommand = emcStartColumnSelections then
|
||||
FBlockSelection.ActiveSelectionMode := smColumn
|
||||
else
|
||||
FBlockSelection.ActiveSelectionMode := FBlockSelection.SelectionMode;
|
||||
MouseCapture := True;
|
||||
Include(fStateFlags, sfMouseSelecting);
|
||||
end;
|
||||
emcContinueSelections, emcContinueColumnSelections:
|
||||
begin
|
||||
MoveCaret;
|
||||
FBlockSelection.EndLineBytePos := AnInfo.NewCaret.LineBytePos;
|
||||
if ACommand = emcContinueColumnSelections then
|
||||
FBlockSelection.ActiveSelectionMode := smColumn
|
||||
else
|
||||
FBlockSelection.ActiveSelectionMode := FBlockSelection.SelectionMode;
|
||||
if AnAction.Option = emcoSelectionContinue then
|
||||
FBlockSelection.EndLineBytePos := AnInfo.NewCaret.LineBytePos
|
||||
else begin
|
||||
MoveCaret;
|
||||
FBlockSelection.StartLineBytePos := AnInfo.NewCaret.LineBytePos;
|
||||
end;
|
||||
case ACommand of
|
||||
emcStartColumnSelections:
|
||||
FBlockSelection.ActiveSelectionMode := smColumn;
|
||||
emcStartLineSelections:
|
||||
begin
|
||||
if ACommand = emcStartLineSelections then
|
||||
SetLineBlock(AnInfo.NewCaret.LineBytePos, True);
|
||||
FBlockSelection.ActiveSelectionMode := smLine;
|
||||
end;
|
||||
else
|
||||
FBlockSelection.ActiveSelectionMode := FBlockSelection.SelectionMode;
|
||||
end;
|
||||
MouseCapture := True;
|
||||
Include(fStateFlags, sfMouseSelecting);
|
||||
end;
|
||||
|
||||
@ -42,9 +42,8 @@ const
|
||||
|
||||
emcNone = 0;
|
||||
emcStartSelections = 1; // Start BlockSelection (Default Left Mouse Btn)
|
||||
emcContinueSelections = 2; // Continue BlockSelection (Default Shift - Left Mouse Btn)
|
||||
emcStartColumnSelections = 3; // Column BlockSelection (Default Alt - Left Mouse Btn)
|
||||
emcContinueColumnSelections = 4; // column BlockSelection (Default Alt-Shift - Left Mouse Btn)
|
||||
emcStartLineSelections = 4; // Line BlockSelection (Default Alt - Left Mouse Btn)
|
||||
|
||||
emcSelectWord = 6;
|
||||
emcSelectLine = 7;
|
||||
@ -65,6 +64,9 @@ const
|
||||
emcMax = 16;
|
||||
|
||||
// Options
|
||||
emcoSelectionStart = 0;
|
||||
emcoSelectionContinue = 1;
|
||||
|
||||
emcoSelectLineSmart = 0;
|
||||
emcoSelectLineFull = 1;
|
||||
emcoMouseLinkShow = 0;
|
||||
@ -194,9 +196,8 @@ begin
|
||||
case emc of
|
||||
emcNone: Result := SYNS_emcNone;
|
||||
emcStartSelections: Result := SYNS_emcStartSelection;
|
||||
emcContinueSelections: Result := SYNS_emcContinueSelections;
|
||||
emcStartColumnSelections: Result := SYNS_emcStartColumnSelections;
|
||||
emcContinueColumnSelections: Result := SYNS_emcContinueColumnSelections;
|
||||
emcStartLineSelections: Result := SYNS_emcStartLineSelections;
|
||||
emcSelectWord: Result := SYNS_emcSelectWord;
|
||||
emcSelectLine: Result := SYNS_emcSelectLine;
|
||||
emcSelectPara: Result := SYNS_emcSelectPara;
|
||||
@ -218,6 +219,9 @@ end;
|
||||
function MouseCommandConfigName(emc: TSynEditorMouseCommand): String;
|
||||
begin
|
||||
case emc of
|
||||
emcStartSelections,
|
||||
emcStartColumnSelections,
|
||||
emcStartLineSelections: Result := SYNS_emcSelection_opt;
|
||||
emcSelectLine: Result := SYNS_emcSelectLine_opt;
|
||||
emcMouseLink: Result := SYNS_emcMouseLink_opt;
|
||||
emcCodeFoldCollaps: Result := SYNS_emcCodeFoldCollaps_opt;
|
||||
@ -505,10 +509,10 @@ end;
|
||||
procedure TSynEditMouseTextActions.ResetDefaults;
|
||||
begin
|
||||
Clear;
|
||||
AddCommand(emcStartSelections, True, mbLeft, ccSingle, cdDown, [], [ssShift, ssAlt]);
|
||||
AddCommand(emcContinueSelections, True, mbLeft, ccSingle, cdDown, [ssShift], [ssShift, ssAlt]);
|
||||
AddCommand(emcStartColumnSelections, True, mbLeft, ccSingle, cdDown, [ssAlt], [ssShift, ssAlt]);
|
||||
AddCommand(emcContinueColumnSelections, True, mbLeft, ccSingle, cdDown, [ssShift, ssAlt], [ssShift, ssAlt]);
|
||||
AddCommand(emcStartSelections, True, mbLeft, ccSingle, cdDown, [], [ssShift, ssAlt], emcoSelectionStart);
|
||||
AddCommand(emcStartSelections, True, mbLeft, ccSingle, cdDown, [ssShift], [ssShift, ssAlt], emcoSelectionContinue);
|
||||
AddCommand(emcStartColumnSelections, True, mbLeft, ccSingle, cdDown, [ssAlt], [ssShift, ssAlt], emcoSelectionStart);
|
||||
AddCommand(emcStartColumnSelections, True, mbLeft, ccSingle, cdDown, [ssShift, ssAlt], [ssShift, ssAlt], emcoSelectionContinue);
|
||||
AddCommand(emcContextMenu, False, mbRight, ccSingle, cdUp, [], []);
|
||||
|
||||
AddCommand(emcSelectWord, True, mbLeft, ccDouble, cdDown, [], []);
|
||||
|
||||
@ -275,10 +275,10 @@ const
|
||||
|
||||
|
||||
SYNS_emcNone = 'No Action';
|
||||
SYNS_emcStartSelection = 'Start Selection';
|
||||
SYNS_emcContinueSelections = 'Continue Selection';
|
||||
SYNS_emcStartColumnSelections = 'Start Column Selection';
|
||||
SYNS_emcContinueColumnSelections = 'Continue Column Selection';
|
||||
SYNS_emcStartSelection = 'Selection';
|
||||
SYNS_emcStartColumnSelections = 'Column Selection';
|
||||
SYNS_emcStartLineSelections = 'Line Selection';
|
||||
SYNS_emcSelection_opt = 'Mode,Begin,Continue';
|
||||
SYNS_emcSelectWord = 'Select Word';
|
||||
SYNS_emcSelectLine = 'Select Line';
|
||||
SYNS_emcSelectLine_opt = '"Include spaces",no,yes';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user