From 45847ec7b9df53daad1a88430fc7f2f25ad304b2 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sun, 5 Apr 2020 13:06:34 +0200 Subject: [PATCH] Add "Show SQL completion proposal" action and menu item, to support customizing its shortcut through the preferences dialog. Closes #972 --- source/main.dfm | 11 ++++++++++- source/main.pas | 11 +++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/source/main.dfm b/source/main.dfm index e52ba412..b1605e80 100644 --- a/source/main.dfm +++ b/source/main.dfm @@ -3123,6 +3123,12 @@ object MainForm: TMainForm Visible = False OnExecute = actAttachDatabaseExecute end + object actSynEditCompletionPropose: TAction + Category = 'SQL' + Caption = 'Show SQL completion proposal' + ShortCut = 16416 + OnExecute = actSynEditCompletionProposeExecute + end end object menuConnections: TPopupMenu AutoHotkeys = maManual @@ -3694,7 +3700,7 @@ object MainForm: TMainForm Images = VirtualImageListMain Margin = 1 OnExecute = SynCompletionProposalExecute - ShortCut = 16416 + ShortCut = 0 Editor = SynMemoQuery TimerInterval = 500 OnAfterCodeCompletion = SynCompletionProposalAfterCodeCompletion @@ -3744,6 +3750,9 @@ object MainForm: TMainForm object menuclear: TMenuItem Action = actClearQueryEditor end + object ShowSQLcompletionproposal1: TMenuItem + Action = actSynEditCompletionPropose + end object ReformatSQL1: TMenuItem Action = actReformatSQL end diff --git a/source/main.pas b/source/main.pas index a1337afa..fb9b6886 100644 --- a/source/main.pas +++ b/source/main.pas @@ -667,6 +667,8 @@ type actAttachDatabase: TAction; Detach1: TMenuItem; Attach1: TMenuItem; + actSynEditCompletionPropose: TAction; + ShowSQLcompletionproposal1: TMenuItem; procedure actCreateDBObjectExecute(Sender: TObject); procedure menuConnectionsPopup(Sender: TObject); procedure actExitApplicationExecute(Sender: TObject); @@ -1038,6 +1040,7 @@ type procedure ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean); procedure actDetachDatabaseExecute(Sender: TObject); procedure actAttachDatabaseExecute(Sender: TObject); + procedure actSynEditCompletionProposeExecute(Sender: TObject); private // Executable file details FAppVerMajor: Integer; @@ -4504,6 +4507,14 @@ begin end; +procedure TMainForm.actSynEditCompletionProposeExecute(Sender: TObject); +begin + // Show completion proposal explicitely, without the use of its own ShortCut property, + // to support a customized shortcut, see + SynCompletionProposal.Editor := ActiveSynMemo(False); + SynCompletionProposal.ActivateCompletion; +end; + {*** Show SQL Help window directly using a keyword @param String SQL-keyword