IDE: Add [Ctrl+Enter] shortcut to "OK" button in "TStrings" property editor

This commit is contained in:
n7800 2025-06-25 00:34:00 +05:00 committed by Maxim Ganetsky
parent 855b1803db
commit 09646d2f39
2 changed files with 17 additions and 1 deletions

View File

@ -9,9 +9,11 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
ClientWidth = 400
Constraints.MinHeight = 160
Constraints.MinWidth = 180
KeyPreview = True
Position = poScreenCenter
OnClose = FormClose
OnCreate = FormCreate
OnKeyDown = FormKeyDown
object TextGroupBox: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
@ -111,13 +113,17 @@ object StringsPropEditorFrm: TStringsPropEditorFrm
Top = 258
Width = 388
OKButton.Name = 'OKButton'
OKButton.Hint = '[Ctrl+Enter]'
OKButton.DefaultCaption = True
OKButton.ShowHint = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.Hint = '[Esc]'
CancelButton.DefaultCaption = True
CancelButton.ShowHint = True
TabOrder = 1
ShowButtons = [pbOK, pbCancel]
ShowBevel = False

View File

@ -18,7 +18,7 @@ interface
uses
SysUtils,
// LCL
Forms, Controls, StdCtrls, ButtonPanel, Dialogs,
Forms, Controls, StdCtrls, ButtonPanel, Dialogs, LCLType,
// LazUtils
LazUTF8,
// IdeIntf
@ -40,6 +40,7 @@ type
procedure ClearButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure MemoChange(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
procedure SortButtonClick(Sender: TObject);
@ -65,6 +66,15 @@ begin
IDEDialogLayoutList.ApplyLayout(Self);
end;
procedure TStringsPropEditorFrm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_RETURN) and (Shift = [ssCtrl]) then
begin
ModalResult := mrOK;
Key := 0;
end;
end;
procedure TStringsPropEditorFrm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
IDEDialogLayoutList.SaveLayout(Self);