mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-19 19:09:28 +01:00
IDE: Update for SynEdit horizontal mouse wheel
git-svn-id: trunk@60563 -
This commit is contained in:
parent
4075258215
commit
ad6f9cffb4
@ -925,12 +925,21 @@ type
|
||||
FWheel: TMouseOptWheelAction;
|
||||
FAltWheel: TMouseOptWheelAction;
|
||||
FCtrlWheel: TMouseOptWheelAction;
|
||||
FAltCtrlWheel: TMouseOptWheelAction;
|
||||
FShiftWheel: TMouseOptWheelAction;
|
||||
FShiftAltWheel: TMouseOptWheelAction;
|
||||
FShiftCtrlWheel: TMouseOptWheelAction;
|
||||
FAltCtrlWheel: TMouseOptWheelAction;
|
||||
FShiftAltCtrlWheel: TMouseOptWheelAction;
|
||||
|
||||
FHorizWheel: TMouseOptWheelAction;
|
||||
FAltHorizWheel: TMouseOptWheelAction;
|
||||
FCtrlHorizWheel: TMouseOptWheelAction;
|
||||
FAltCtrlHorizWheel: TMouseOptWheelAction;
|
||||
FShiftHorizWheel: TMouseOptWheelAction;
|
||||
FShiftAltHorizWheel: TMouseOptWheelAction;
|
||||
FShiftCtrlHorizWheel: TMouseOptWheelAction;
|
||||
FShiftAltCtrlHorizWheel: TMouseOptWheelAction;
|
||||
|
||||
procedure ClearUserSchemes;
|
||||
function GetUserSchemeNames(Index: Integer): String;
|
||||
function GetUserSchemes(Index: String): TEditorMouseOptions;
|
||||
@ -1100,6 +1109,23 @@ type
|
||||
default mwaNone;
|
||||
property ShiftAltCtrlWheel: TMouseOptWheelAction read FShiftAltCtrlWheel write FShiftAltCtrlWheel
|
||||
default mwaNone;
|
||||
//
|
||||
property HorizWheel: TMouseOptWheelAction read FHorizWheel write FHorizWheel
|
||||
default mwaScrollHoriz;
|
||||
property CtrlHorizWheel: TMouseOptWheelAction read FCtrlHorizWheel write FCtrlHorizWheel
|
||||
default mwaNone;
|
||||
property AltHorizWheel: TMouseOptWheelAction read FAltHorizWheel write FAltHorizWheel
|
||||
default mwaScrollHorizPageLessOne;
|
||||
property ShiftHorizWheel: TMouseOptWheelAction read FShiftHorizWheel write FShiftHorizWheel
|
||||
default mwaScrollHorizSingleLine;
|
||||
property ShiftAltHorizWheel: TMouseOptWheelAction read FShiftAltHorizWheel write FShiftAltHorizWheel
|
||||
default mwaNone;
|
||||
property ShiftCtrlHorizWheel: TMouseOptWheelAction read FShiftCtrlHorizWheel write FShiftCtrlHorizWheel
|
||||
default mwaNone;
|
||||
property AltCtrlHorizWheel: TMouseOptWheelAction read FAltCtrlHorizWheel write FAltCtrlHorizWheel
|
||||
default mwaNone;
|
||||
property ShiftAltCtrlHorizWheel: TMouseOptWheelAction read FShiftAltCtrlHorizWheel write FShiftAltCtrlHorizWheel
|
||||
default mwaNone;
|
||||
|
||||
// the flag below is set by CalcCustomSavedActions
|
||||
property CustomSavedActions: Boolean read FCustomSavedActions write FCustomSavedActions;
|
||||
@ -3437,6 +3463,15 @@ begin
|
||||
FShiftCtrlWheel := mwaNone;
|
||||
FShiftAltWheel := mwaNone;
|
||||
FShiftAltCtrlWheel := mwaNone;
|
||||
// wheel
|
||||
FHorizWheel := mwaScrollHoriz;
|
||||
FCtrlHorizWheel := mwaNone;
|
||||
FAltHorizWheel := mwaScrollHorizPageLessOne;
|
||||
FShiftHorizWheel := mwaScrollHorizSingleLine;
|
||||
FAltCtrlHorizWheel := mwaNone;
|
||||
FShiftCtrlHorizWheel := mwaNone;
|
||||
FShiftAltHorizWheel := mwaNone;
|
||||
FShiftAltCtrlHorizWheel := mwaNone;
|
||||
// right
|
||||
FTextRightClick := mbaContextMenu;
|
||||
FTextAltCtrlRightClick := mbaNone;
|
||||
@ -3654,11 +3689,20 @@ procedure TEditorMouseOptions.ResetTextToDefault;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure AddWheelAct(AnAction: TMouseOptWheelAction; const AShift, AShiftMask: TShiftState);
|
||||
procedure AddWheelAct(AnAction: TMouseOptWheelAction; const AShift, AShiftMask: TShiftState; AnHorizontal: Boolean = False);
|
||||
var
|
||||
opt: TSynEditorMouseCommandOpt;
|
||||
opt2: integer;
|
||||
mbU, mbD: TSynMouseButton;
|
||||
begin
|
||||
if AnHorizontal then begin
|
||||
mbD := mbXWheelLeft;
|
||||
mbU := mbXWheelRight;
|
||||
end
|
||||
else begin
|
||||
mbD := mbXWheelDown;
|
||||
mbU := mbXWheelUp;
|
||||
end;
|
||||
opt2 := 0;
|
||||
with FMainActions do begin
|
||||
case AnAction of
|
||||
@ -3680,18 +3724,18 @@ procedure TEditorMouseOptions.ResetTextToDefault;
|
||||
opt2 := 50;
|
||||
end;
|
||||
mwaZoom: begin
|
||||
AddCommand(emcWheelZoomOut, False, mbXWheelDown, ccAny, cdDown, AShift, AShiftMask);
|
||||
AddCommand(emcWheelZoomIn, False, mbXWheelUp, ccAny, cdDown, AShift, AShiftMask);
|
||||
AddCommand(emcWheelZoomOut, False, mbD, ccAny, cdDown, AShift, AShiftMask);
|
||||
AddCommand(emcWheelZoomIn, False, mbU, ccAny, cdDown, AShift, AShiftMask);
|
||||
end;
|
||||
end;
|
||||
|
||||
if AnAction in [mwaScroll, mwaScrollSingleLine, mwaScrollPage, mwaScrollPageLessOne, mwaScrollHalfPage] then begin
|
||||
AddCommand(emcWheelVertScrollDown, False, mbXWheelDown, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelVertScrollUp, False, mbXWheelUp, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelVertScrollDown, False, mbD, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelVertScrollUp, False, mbU, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
end;
|
||||
if AnAction in [mwaScrollHoriz, mwaScrollHorizSingleLine, mwaScrollHorizPage, mwaScrollHorizPageLessOne, mwaScrollHorizHalfPage] then begin
|
||||
AddCommand(emcWheelHorizScrollDown, False, mbXWheelDown, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelHorizScrollUp, False, mbXWheelUp, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelHorizScrollDown, False, mbD, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
AddCommand(emcWheelHorizScrollUp, False, mbU, ccAny, cdDown, AShift, AShiftMask, opt, 0, opt2);
|
||||
end;
|
||||
|
||||
end;
|
||||
@ -3838,6 +3882,23 @@ begin
|
||||
AddWheelAct(FShiftAltWheel, [ssShift, ssAlt], ModKeys);
|
||||
AddWheelAct(FShiftAltCtrlWheel, [ssShift, ssAlt, ssCtrl], ModKeys);
|
||||
|
||||
ModKeys := [];
|
||||
if FShiftHorizWheel <> mwaNone then ModKeys := ModKeys + [ssShift];
|
||||
if FCtrlHorizWheel <> mwaNone then ModKeys := ModKeys + [SYNEDIT_LINK_MODIFIER];
|
||||
if FAltHorizWheel <> mwaNone then ModKeys := ModKeys + [ssAlt];
|
||||
if FAltCtrlHorizWheel <> mwaNone then ModKeys := ModKeys + [ssAlt] + [SYNEDIT_LINK_MODIFIER];
|
||||
if FShiftCtrlHorizWheel <> mwaNone then ModKeys := ModKeys + [ssShift] + [SYNEDIT_LINK_MODIFIER];
|
||||
if FShiftAltHorizWheel <> mwaNone then ModKeys := ModKeys + [ssShift, ssAlt];
|
||||
if FShiftAltCtrlHorizWheel <> mwaNone then ModKeys := ModKeys + [ssShift, ssAlt] + [SYNEDIT_LINK_MODIFIER];
|
||||
AddWheelAct(FHorizWheel, [], [], True);
|
||||
AddWheelAct(FCtrlHorizWheel, [ssCtrl], ModKeys, True);
|
||||
AddWheelAct(FAltHorizWheel, [ssAlt], ModKeys, True);
|
||||
AddWheelAct(FShiftHorizWheel, [ssShift], ModKeys, True);
|
||||
AddWheelAct(FAltCtrlHorizWheel, [ssAlt, ssCtrl], ModKeys, True);
|
||||
AddWheelAct(FShiftCtrlHorizWheel, [ssShift, ssCtrl], ModKeys, True);
|
||||
AddWheelAct(FShiftAltHorizWheel, [ssShift, ssAlt], ModKeys, True);
|
||||
AddWheelAct(FShiftAltCtrlHorizWheel, [ssShift, ssAlt, ssCtrl], ModKeys, True);
|
||||
|
||||
if FTextDrag then
|
||||
with FSelActions do begin
|
||||
AddCommand(emcStartDragMove, False, mbXLeft, ccSingle, cdDown, [], [], emcoNotDragedNoCaretOnUp);
|
||||
@ -3932,6 +3993,15 @@ begin
|
||||
FShiftCtrlWheel := Src.ShiftCtrlWheel;
|
||||
FShiftAltWheel := Src.ShiftAltWheel;
|
||||
FShiftAltCtrlWheel := Src.ShiftAltCtrlWheel;
|
||||
// wheel
|
||||
FHorizWheel := Src.HorizWheel;
|
||||
FCtrlHorizWheel := Src.CtrlHorizWheel;
|
||||
FAltHorizWheel := Src.AltHorizWheel;
|
||||
FShiftHorizWheel := Src.ShiftHorizWheel;
|
||||
FAltCtrlHorizWheel := Src.AltCtrlHorizWheel;
|
||||
FShiftCtrlHorizWheel := Src.ShiftCtrlHorizWheel;
|
||||
FShiftAltHorizWheel := Src.ShiftAltHorizWheel;
|
||||
FShiftAltCtrlHorizWheel := Src.ShiftAltCtrlHorizWheel;
|
||||
// right
|
||||
FTextAltCtrlRightClick := Src.TextAltCtrlRightClick;
|
||||
FTextAltRightClick := Src.TextAltRightClick;
|
||||
@ -4117,6 +4187,8 @@ begin
|
||||
try
|
||||
FMainActions.AddCommand(emcWheelVertScrollDown, False, mbXWheelDown, ccAny, cdDown, [], []);
|
||||
FMainActions.AddCommand(emcWheelVertScrollUp, False, mbXWheelUp, ccAny, cdDown, [], []);
|
||||
FMainActions.AddCommand(emcWheelHorizScrollDown, False, mbXWheelLeft, ccAny, cdDown, [], []);
|
||||
FMainActions.AddCommand(emcWheelHorizScrollUp, False, mbXWheelRight,ccAny, cdDown, [], []);
|
||||
except
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1298,6 +1298,8 @@ begin
|
||||
PreviewEdits[a].MouseActions.Clear;
|
||||
PreviewEdits[a].MouseActions.AddCommand(emcWheelVertScrollDown, False, mbXWheelDown, ccAny, cdDown, [], []);
|
||||
PreviewEdits[a].MouseActions.AddCommand(emcWheelVertScrollUp, False, mbXWheelUp, ccAny, cdDown, [], []);
|
||||
PreviewEdits[a].MouseActions.AddCommand(emcWheelHorizScrollUp, False, mbXWheelLeft, ccAny, cdDown, [], []);
|
||||
PreviewEdits[a].MouseActions.AddCommand(emcWheelHorizScrollDown,False, mbXWheelRight,ccAny, cdDown, [], []);
|
||||
PreviewEdits[a].SetBookMark(1, 1, 2);
|
||||
PreviewEdits[a].SetBookMark(2, 1, 5);
|
||||
end;
|
||||
@ -1342,7 +1344,7 @@ end;
|
||||
function TEditorColorOptionsFrame.DoSynEditMouse(var AnInfo: TSynEditMouseActionInfo;
|
||||
HandleActionProc: TSynEditMouseActionHandler): Boolean;
|
||||
begin
|
||||
Result := not(AnInfo.Button in [mbXWheelDown, mbXWheelUp]);
|
||||
Result := not(AnInfo.Button in [mbXWheelDown, mbXWheelUp, mbXWheelLeft, mbXWheelRight]);
|
||||
end;
|
||||
|
||||
procedure TEditorColorOptionsFrame.LanguageMenuItemClick(Sender: TObject);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -43,13 +43,28 @@ type
|
||||
|
||||
TEditorMouseOptionsFrame = class(TAbstractIDEOptionsEditor)
|
||||
chkGutterTextLines: TCheckBox;
|
||||
dropWheelHoriz: TComboBox;
|
||||
dropWheelAltHoriz: TComboBox;
|
||||
dropWheelAltCtrlHoriz: TComboBox;
|
||||
dropWheelCtrlHoriz: TComboBox;
|
||||
dropWheelShiftHoriz: TComboBox;
|
||||
dropWheelShiftAltHoriz: TComboBox;
|
||||
dropWheelShiftAltCtrlHoriz: TComboBox;
|
||||
dropWheelShiftCtrlHoriz: TComboBox;
|
||||
GutterLeftRadio3: TRadioButton;
|
||||
lblWheel: TLabel;
|
||||
lblWheelHoriz: TLabel;
|
||||
lblWheelAlt: TLabel;
|
||||
lblWheelAltHoriz: TLabel;
|
||||
lblWheelAltCtrlHoriz: TLabel;
|
||||
lblWheelCtrl: TLabel;
|
||||
lblWheelCtrlHoriz: TLabel;
|
||||
lblWheelShift: TLabel;
|
||||
lblWheelAltCtrl: TLabel;
|
||||
lblWheelShiftHoriz: TLabel;
|
||||
lblWheelShiftAlt: TLabel;
|
||||
lblWheelShiftAltHoriz: TLabel;
|
||||
lblWheelShiftAltCtrlHoriz: TLabel;
|
||||
lblWheelShiftCtrl: TLabel;
|
||||
lblWheelShiftAltCtrl: TLabel;
|
||||
dropWheel: TComboBox;
|
||||
@ -136,12 +151,15 @@ type
|
||||
dropLeftShiftDouble: TComboBox;
|
||||
dropLeftAltDouble: TComboBox;
|
||||
dropLeftCtrlDouble: TComboBox;
|
||||
lblWheelShiftCtrlHoriz: TLabel;
|
||||
PageHorizWheel: TPage;
|
||||
PageExtra2: TPage;
|
||||
PageExtra1: TPage;
|
||||
PageRight: TPage;
|
||||
ScrollBoxExtra2: TScrollBox;
|
||||
ScrollBoxExtra1: TScrollBox;
|
||||
ScrollBoxRight: TScrollBox;
|
||||
ScrollBoxWheelHoriz: TScrollBox;
|
||||
ShiftLeftLabel: TLabel;
|
||||
AltCtrlLeftLabel: TLabel;
|
||||
CtrLLeftLabel: TLabel;
|
||||
@ -198,6 +216,7 @@ type
|
||||
TextLeft: TCheckGroup;
|
||||
TextMiddle: TRadioGroup;
|
||||
GutterLeft: TRadioGroup;
|
||||
ToolBtnHorizWheel: TToolButton;
|
||||
WarnLabel: TLabel;
|
||||
procedure CheckOrRadioChange(Sender: TObject);
|
||||
procedure chkPredefinedSchemeChange(Sender: TObject);
|
||||
@ -405,7 +424,16 @@ begin
|
||||
(FTempMouseSettings.AltCtrlWheel = TMouseOptWheelAction(dropWheelAltCtrl.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftAltWheel = TMouseOptWheelAction(dropWheelShiftAlt.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftCtrlWheel = TMouseOptWheelAction(dropWheelShiftCtrl.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftAltCtrlWheel = TMouseOptWheelAction(dropWheelShiftAltCtrl.ItemIndex))
|
||||
(FTempMouseSettings.ShiftAltCtrlWheel = TMouseOptWheelAction(dropWheelShiftAltCtrl.ItemIndex)) and
|
||||
|
||||
(FTempMouseSettings.HorizWheel = TMouseOptWheelAction(dropWheelHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.CtrlHorizWheel = TMouseOptWheelAction(dropWheelCtrlHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.AltHorizWheel = TMouseOptWheelAction(dropWheelAltHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftHorizWheel = TMouseOptWheelAction(dropWheelShiftHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.AltCtrlHorizWheel = TMouseOptWheelAction(dropWheelAltCtrlHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftAltHorizWheel = TMouseOptWheelAction(dropWheelShiftAltHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftCtrlHorizWheel = TMouseOptWheelAction(dropWheelShiftCtrlHoriz.ItemIndex)) and
|
||||
(FTempMouseSettings.ShiftAltCtrlHorizWheel = TMouseOptWheelAction(dropWheelShiftAltCtrlHoriz.ItemIndex))
|
||||
);
|
||||
end;
|
||||
|
||||
@ -499,6 +527,15 @@ begin
|
||||
FTempMouseSettings.ShiftCtrlWheel := TMouseOptWheelAction(dropWheelShiftCtrl.ItemIndex);
|
||||
FTempMouseSettings.ShiftAltCtrlWheel := TMouseOptWheelAction(dropWheelShiftAltCtrl.ItemIndex);
|
||||
|
||||
FTempMouseSettings.HorizWheel := TMouseOptWheelAction(dropWheelHoriz.ItemIndex);
|
||||
FTempMouseSettings.CtrlHorizWheel := TMouseOptWheelAction(dropWheelCtrlHoriz.ItemIndex);
|
||||
FTempMouseSettings.AltHorizWheel := TMouseOptWheelAction(dropWheelAltHoriz.ItemIndex);
|
||||
FTempMouseSettings.ShiftHorizWheel := TMouseOptWheelAction(dropWheelShiftHoriz.ItemIndex);
|
||||
FTempMouseSettings.AltCtrlHorizWheel := TMouseOptWheelAction(dropWheelAltCtrlHoriz.ItemIndex);
|
||||
FTempMouseSettings.ShiftAltHorizWheel := TMouseOptWheelAction(dropWheelShiftAltHoriz.ItemIndex);
|
||||
FTempMouseSettings.ShiftCtrlHorizWheel := TMouseOptWheelAction(dropWheelShiftCtrlHoriz.ItemIndex);
|
||||
FTempMouseSettings.ShiftAltCtrlHorizWheel := TMouseOptWheelAction(dropWheelShiftAltCtrlHoriz.ItemIndex);
|
||||
|
||||
FTempMouseSettings.ResetTextToDefault;
|
||||
if FDialog.FindEditor(TEditorMouseOptionsAdvFrame) <> nil then
|
||||
TEditorMouseOptionsAdvFrame(FDialog.FindEditor(TEditorMouseOptionsAdvFrame)).RefreshSettings;
|
||||
@ -631,6 +668,7 @@ begin
|
||||
ToolBtnLeftMulti.Caption := dlfMouseSimpleTextSectPageLMulti;
|
||||
ToolBtnMiddle.Caption := dlfMouseSimpleTextSectPageBtn;
|
||||
ToolBtnWheel.Caption := dlfMouseSimpleTextSectPageWheel;
|
||||
ToolBtnHorizWheel.Caption := dlfMouseSimpleTextSectPageHorizWheel;
|
||||
ToolBtnRight.Caption := dlfMouseSimpleTextSectPageRight;
|
||||
ToolBtnExtra1.Caption := dlfMouseSimpleTextSectPageExtra1;
|
||||
ToolBtnExtra2.Caption := dlfMouseSimpleTextSectPageExtra2;
|
||||
@ -695,6 +733,15 @@ begin
|
||||
lblWheelShiftAlt.Caption := dlfMouseSimpleTextSectShiftAltWheelLabel;
|
||||
lblWheelShiftCtrl.Caption := dlfMouseSimpleTextSectShiftCtrlWheelLabel;
|
||||
lblWheelShiftAltCtrl.Caption := dlfMouseSimpleTextSectShiftAltCtrlWheelLabel;
|
||||
// Horiz wheel
|
||||
lblWheelHoriz.Caption := dlfMouseSimpleTextSectWheelLabel;
|
||||
lblWheelCtrlHoriz.Caption := dlfMouseSimpleTextSectCtrlWheelLabel;
|
||||
lblWheelAltHoriz.Caption := dlfMouseSimpleTextSectAltWheelLabel;
|
||||
lblWheelShiftHoriz.Caption := dlfMouseSimpleTextShiftSectWheelLabel;
|
||||
lblWheelAltCtrlHoriz.Caption := dlfMouseSimpleTextSectAltCtrlWheelLabel;
|
||||
lblWheelShiftAltHoriz.Caption := dlfMouseSimpleTextSectShiftAltWheelLabel;
|
||||
lblWheelShiftCtrlHoriz.Caption := dlfMouseSimpleTextSectShiftCtrlWheelLabel;
|
||||
lblWheelShiftAltCtrlHoriz.Caption := dlfMouseSimpleTextSectShiftAltCtrlWheelLabel;
|
||||
|
||||
// left multi click
|
||||
SetupButtonCombo(dropLeftDouble, True);
|
||||
@ -756,6 +803,15 @@ begin
|
||||
SetupWheelCombo(dropWheelShiftAlt);
|
||||
SetupWheelCombo(dropWheelShiftCtrl);
|
||||
SetupWheelCombo(dropWheelShiftAltCtrl);
|
||||
// Horiz wheel
|
||||
SetupWheelCombo(dropWheelHoriz);
|
||||
SetupWheelCombo(dropWheelCtrlHoriz);
|
||||
SetupWheelCombo(dropWheelAltHoriz);
|
||||
SetupWheelCombo(dropWheelShiftHoriz);
|
||||
SetupWheelCombo(dropWheelAltCtrlHoriz);
|
||||
SetupWheelCombo(dropWheelShiftAltHoriz);
|
||||
SetupWheelCombo(dropWheelShiftCtrlHoriz);
|
||||
SetupWheelCombo(dropWheelShiftAltCtrlHoriz);
|
||||
|
||||
WarnLabel.Caption := dlfMouseSimpleWarning;
|
||||
DiffLabel.Caption := dlfMouseSimpleDiff;
|
||||
@ -857,6 +913,15 @@ begin
|
||||
dropWheelShiftCtrl.ItemIndex := ord(FTempMouseSettings.ShiftCtrlWheel);
|
||||
dropWheelShiftAltCtrl.ItemIndex := ord(FTempMouseSettings.ShiftAltCtrlWheel);
|
||||
|
||||
dropWheelHoriz.ItemIndex := ord(FTempMouseSettings.HorizWheel);
|
||||
dropWheelCtrlHoriz.ItemIndex := ord(FTempMouseSettings.CtrlHorizWheel);
|
||||
dropWheelAltHoriz.ItemIndex := ord(FTempMouseSettings.AltHorizWheel);
|
||||
dropWheelShiftHoriz.ItemIndex := ord(FTempMouseSettings.ShiftHorizWheel);
|
||||
dropWheelAltCtrlHoriz.ItemIndex := ord(FTempMouseSettings.AltHorizWheel);
|
||||
dropWheelShiftAltHoriz.ItemIndex := ord(FTempMouseSettings.ShiftAltHorizWheel);
|
||||
dropWheelShiftCtrlHoriz.ItemIndex := ord(FTempMouseSettings.ShiftCtrlHorizWheel);
|
||||
dropWheelShiftAltCtrlHoriz.ItemIndex := ord(FTempMouseSettings.ShiftAltCtrlHorizWheel);
|
||||
|
||||
Dec(FInClickHandler);
|
||||
UpdateButtons;
|
||||
|
||||
|
||||
@ -1726,6 +1726,7 @@ resourcestring
|
||||
dlfMouseSimpleTextSectPageLMulti = 'Left 2';
|
||||
dlfMouseSimpleTextSectPageBtn = 'Middle';
|
||||
dlfMouseSimpleTextSectPageWheel = 'Wheel';
|
||||
dlfMouseSimpleTextSectPageHorizWheel = 'Horizontal-Wheel';
|
||||
dlfMouseSimpleTextSectPageRight = 'Right';
|
||||
dlfMouseSimpleTextSectPageExtra1 = 'Extra 1';
|
||||
dlfMouseSimpleTextSectPageExtra2 = 'Extra 2';
|
||||
@ -1821,6 +1822,8 @@ resourcestring
|
||||
dlgMouseOptBtnExtra2 = 'Extra 2';
|
||||
dlgMouseOptBtnWheelUp = 'Wheel up';
|
||||
dlgMouseOptBtnWheelDown = 'Wheel down';
|
||||
dlgMouseOptBtnWheelLeft = 'Wheel left';
|
||||
dlgMouseOptBtnWheelRight = 'Wheel right';
|
||||
dlgMouseOptBtn1 = 'Single';
|
||||
dlgMouseOptBtn2 = 'Double';
|
||||
dlgMouseOptBtn3 = 'Triple';
|
||||
|
||||
@ -10,13 +10,13 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
ClientWidth = 627
|
||||
OnCreate = FormCreate
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '1.5'
|
||||
LCLVersion = '2.1.0.0'
|
||||
object BtnLabel: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideRight.Control = ActionLabel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 17
|
||||
Height = 15
|
||||
Top = 159
|
||||
Width = 90
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
@ -29,8 +29,8 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = ActionBox
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 17
|
||||
Top = 13
|
||||
Height = 15
|
||||
Top = 10
|
||||
Width = 90
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'ActionLabel'
|
||||
@ -45,7 +45,7 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 16
|
||||
Top = 73
|
||||
Top = 60
|
||||
Width = 519
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoSize = False
|
||||
@ -59,9 +59,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = PriorSpin
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 17
|
||||
Top = 131
|
||||
Width = 71
|
||||
Height = 15
|
||||
Top = 109
|
||||
Width = 53
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'PriorLabel'
|
||||
ParentColor = False
|
||||
@ -74,13 +74,13 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = ButtonPanel1
|
||||
Left = 255
|
||||
Height = 65
|
||||
Height = 68
|
||||
Top = 335
|
||||
Width = 368
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BevelOuter = bvLowered
|
||||
BevelWidth = 2
|
||||
ClientHeight = 65
|
||||
ClientHeight = 68
|
||||
ClientWidth = 368
|
||||
Color = clBtnShadow
|
||||
ParentColor = False
|
||||
@ -88,13 +88,14 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
OnMouseDown = CapturePanelMouseDown
|
||||
object PaintBox1: TPaintBox
|
||||
Left = 2
|
||||
Height = 61
|
||||
Height = 64
|
||||
Top = 2
|
||||
Width = 364
|
||||
Align = alClient
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
OnMouseDown = CapturePanelMouseDown
|
||||
OnMouseWheel = PaintBox1MouseWheel
|
||||
OnMouseWheelHorz = PaintBox1MouseWheelHorz
|
||||
end
|
||||
end
|
||||
object ShiftCheck: TCheckBox
|
||||
@ -102,9 +103,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = DirCheck
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 24
|
||||
Top = 257
|
||||
Width = 98
|
||||
Height = 19
|
||||
Top = 236
|
||||
Width = 77
|
||||
AllowGrayed = True
|
||||
Caption = 'ShiftCheck'
|
||||
TabOrder = 8
|
||||
@ -114,9 +115,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = ShiftCheck
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 24
|
||||
Top = 281
|
||||
Width = 86
|
||||
Height = 19
|
||||
Top = 255
|
||||
Width = 68
|
||||
AllowGrayed = True
|
||||
Caption = 'AltCheck'
|
||||
TabOrder = 9
|
||||
@ -126,9 +127,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = AltCheck
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 24
|
||||
Top = 305
|
||||
Width = 91
|
||||
Height = 19
|
||||
Top = 274
|
||||
Width = 72
|
||||
AllowGrayed = True
|
||||
Caption = 'CtrlCheck'
|
||||
TabOrder = 10
|
||||
@ -141,9 +142,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 29
|
||||
Top = 335
|
||||
Width = 85
|
||||
Height = 25
|
||||
Top = 299
|
||||
Width = 82
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'BtnDefault'
|
||||
@ -155,9 +156,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = ActionBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 24
|
||||
Top = 43
|
||||
Width = 103
|
||||
Height = 19
|
||||
Top = 35
|
||||
Width = 81
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'CaretCheck'
|
||||
TabOrder = 1
|
||||
@ -169,12 +170,12 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 31
|
||||
Height = 23
|
||||
Top = 6
|
||||
Width = 519
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
ItemHeight = 0
|
||||
ItemHeight = 15
|
||||
OnChange = ActionBoxChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
@ -185,8 +186,8 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 37
|
||||
Top = 406
|
||||
Height = 34
|
||||
Top = 409
|
||||
Width = 615
|
||||
OKButton.Name = 'OKButton'
|
||||
OKButton.DefaultCaption = True
|
||||
@ -206,13 +207,13 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 31
|
||||
Top = 89
|
||||
Height = 23
|
||||
Top = 76
|
||||
Width = 519
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Right = 6
|
||||
Enabled = False
|
||||
ItemHeight = 0
|
||||
ItemHeight = 15
|
||||
Style = csDropDownList
|
||||
TabOrder = 2
|
||||
end
|
||||
@ -221,8 +222,8 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = OptBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 27
|
||||
Top = 126
|
||||
Height = 23
|
||||
Top = 105
|
||||
Width = 60
|
||||
BorderSpacing.Top = 6
|
||||
MaxValue = 3
|
||||
@ -235,8 +236,8 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 561
|
||||
Height = 27
|
||||
Top = 126
|
||||
Height = 23
|
||||
Top = 105
|
||||
Width = 60
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
@ -249,10 +250,10 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = Opt2Spin
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = Opt2Spin
|
||||
Left = 484
|
||||
Height = 17
|
||||
Top = 131
|
||||
Width = 71
|
||||
Left = 501
|
||||
Height = 15
|
||||
Top = 109
|
||||
Width = 54
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Right = 6
|
||||
@ -271,18 +272,17 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
BorderSpacing.Around = 6
|
||||
ItemHeight = 0
|
||||
TabOrder = 12
|
||||
TopIndex = -1
|
||||
end
|
||||
object ButtonBox: TComboBox
|
||||
AnchorSideLeft.Control = PriorSpin
|
||||
AnchorSideTop.Control = chkUpRestrict
|
||||
AnchorSideRight.Control = chkUpRestrict
|
||||
Left = 102
|
||||
Height = 31
|
||||
Height = 23
|
||||
Top = 159
|
||||
Width = 147
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 0
|
||||
ItemHeight = 15
|
||||
OnChange = ButtonBoxChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 5
|
||||
@ -294,12 +294,12 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideRight.Control = ButtonBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 31
|
||||
Top = 196
|
||||
Height = 23
|
||||
Top = 188
|
||||
Width = 147
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
ItemHeight = 15
|
||||
Style = csDropDownList
|
||||
TabOrder = 6
|
||||
end
|
||||
@ -308,9 +308,9 @@ object MouseaActionDialog: TMouseaActionDialog
|
||||
AnchorSideTop.Control = ClickBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 102
|
||||
Height = 24
|
||||
Top = 233
|
||||
Width = 86
|
||||
Height = 19
|
||||
Top = 217
|
||||
Width = 68
|
||||
BorderSpacing.Top = 6
|
||||
Caption = 'DirCheck'
|
||||
OnChange = DirCheckChange
|
||||
|
||||
@ -48,6 +48,8 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure PaintBox1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer;
|
||||
{%H-}MousePos: TPoint; var {%H-}Handled: Boolean);
|
||||
procedure PaintBox1MouseWheelHorz(Sender: TObject; Shift: TShiftState;
|
||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
private
|
||||
FKeyMap: TKeyCommandRelationList;
|
||||
procedure AddMouseCmd(const S: string);
|
||||
@ -69,9 +71,9 @@ uses Math;
|
||||
{$R *.lfm}
|
||||
|
||||
const
|
||||
BtnToIndex: array [TSynMouseButton] of Integer = (0, 1, 2, 3, 4, 5, 6);
|
||||
BtnToIndex: array [TSynMouseButton] of Integer = (0, 1, 2, 3, 4, 5, 6, 7 ,8);
|
||||
ClickToIndex: array [ccSingle..ccAny] of Integer = (0, 1, 2, 3, 4);
|
||||
IndexToBtn: array [0..6] of TSynMouseButton = (mbXLeft, mbXRight, mbXMiddle, mbXExtra1, mbXExtra2, mbXWheelUp, mbXWheelDown);
|
||||
IndexToBtn: array [0..8] of TSynMouseButton = (mbXLeft, mbXRight, mbXMiddle, mbXExtra1, mbXExtra2, mbXWheelUp, mbXWheelDown, mbXWheelLeft, mbXWheelRight);
|
||||
IndexToClick: array [0..4] of TSynMAClickCount = (ccSingle, ccDouble, ccTriple, ccQuad, ccAny);
|
||||
|
||||
function KeyMapIndexOfCommand(AKeyMap: TKeyCommandRelationList; ACmd: Word): Integer;
|
||||
@ -143,6 +145,8 @@ begin
|
||||
ButtonName[mbXExtra2]:=dlgMouseOptBtnExtra2;
|
||||
ButtonName[mbXWheelUp]:=dlgMouseOptBtnWheelUp;
|
||||
ButtonName[mbXWheelDown]:=dlgMouseOptBtnWheelDown;
|
||||
ButtonName[mbXWheelLeft]:=dlgMouseOptBtnWheelLeft;
|
||||
ButtonName[mbXWheelRight]:=dlgMouseOptBtnWheelRight;
|
||||
|
||||
ClickName[ccSingle]:=dlgMouseOptBtn1;
|
||||
ClickName[ccDouble]:=dlgMouseOptBtn2;
|
||||
@ -205,7 +209,7 @@ end;
|
||||
|
||||
procedure TMouseaActionDialog.ButtonBoxChange(Sender: TObject);
|
||||
begin
|
||||
DirCheck.Enabled := not(IndexToBtn[ButtonBox.ItemIndex] in [mbXWheelUp, mbXWheelDown]);
|
||||
DirCheck.Enabled := not(IndexToBtn[ButtonBox.ItemIndex] in [mbXWheelUp, mbXWheelDown, mbXWheelLeft, mbXWheelRight]);
|
||||
chkUpRestrict.Enabled := DirCheck.Enabled and DirCheck.Checked;
|
||||
end;
|
||||
|
||||
@ -273,6 +277,19 @@ begin
|
||||
CtrlCheck.Checked := ssCtrl in Shift;
|
||||
end;
|
||||
|
||||
procedure TMouseaActionDialog.PaintBox1MouseWheelHorz(Sender: TObject;
|
||||
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
begin
|
||||
if WheelDelta < 0
|
||||
then ButtonBox.ItemIndex := BtnToIndex[mbXWheelLeft]
|
||||
else ButtonBox.ItemIndex := BtnToIndex[mbXWheelRight];
|
||||
ClickBox.ItemIndex := 4;
|
||||
ShiftCheck.Checked := ssShift in Shift;
|
||||
AltCheck.Checked := ssAlt in Shift;
|
||||
CtrlCheck.Checked := ssCtrl in Shift;
|
||||
end;
|
||||
|
||||
procedure TMouseaActionDialog.ReadFromAction(MAct: TSynEditMouseAction);
|
||||
var
|
||||
r: TSynMAUpRestriction;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user