mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Add a popupmenu to queryhelpers which contains 2 items with shortcuts:
+ Delete [Del] (Deletes a snippetfile) + Help [F1] (Calls SQL help for selected keyword or function)
This commit is contained in:
@ -1038,6 +1038,7 @@ object MDIChild: TMDIChild
|
|||||||
Align = alClient
|
Align = alClient
|
||||||
DragMode = dmAutomatic
|
DragMode = dmAutomatic
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
|
PopupMenu = popupQueryHelpers
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnClick = lboxQueryHelpersClick
|
OnClick = lboxQueryHelpersClick
|
||||||
OnDblClick = lboxQueryHelpersDblClick
|
OnDblClick = lboxQueryHelpersDblClick
|
||||||
@ -2238,4 +2239,22 @@ object MDIChild: TMDIChild
|
|||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object popupQueryHelpers: TPopupMenu
|
||||||
|
Images = MainForm.ImageList1
|
||||||
|
Left = 168
|
||||||
|
Top = 80
|
||||||
|
object menuDeleteSnippet: TMenuItem
|
||||||
|
Caption = 'Delete ...'
|
||||||
|
Enabled = False
|
||||||
|
ImageIndex = 23
|
||||||
|
ShortCut = 46
|
||||||
|
OnClick = menuDeleteSnippetClick
|
||||||
|
end
|
||||||
|
object menuHelp: TMenuItem
|
||||||
|
Caption = 'Help'
|
||||||
|
ImageIndex = 96
|
||||||
|
ShortCut = 112
|
||||||
|
OnClick = CallSQLHelp
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -294,6 +294,9 @@ type
|
|||||||
menuSaveSelectionToFile: TMenuItem;
|
menuSaveSelectionToFile: TMenuItem;
|
||||||
menuSaveAsSnippet: TMenuItem;
|
menuSaveAsSnippet: TMenuItem;
|
||||||
menuSaveSelectionAsSnippet: TMenuItem;
|
menuSaveSelectionAsSnippet: TMenuItem;
|
||||||
|
popupQueryHelpers: TPopupMenu;
|
||||||
|
menuDeleteSnippet: TMenuItem;
|
||||||
|
menuHelp: TMenuItem;
|
||||||
procedure menuRenameColumnClick(Sender: TObject);
|
procedure menuRenameColumnClick(Sender: TObject);
|
||||||
procedure ListColumnsEdited(Sender: TObject; Item: TListItem;
|
procedure ListColumnsEdited(Sender: TObject; Item: TListItem;
|
||||||
var S: string);
|
var S: string);
|
||||||
@ -480,6 +483,7 @@ type
|
|||||||
procedure ExecuteNonQuery(SQLQuery: String);
|
procedure ExecuteNonQuery(SQLQuery: String);
|
||||||
function ExecuteQuery(query: String): TDataSet;
|
function ExecuteQuery(query: String): TDataSet;
|
||||||
function CreateOrGetRemoteQueryTab(sender: THandle): THandle;
|
function CreateOrGetRemoteQueryTab(sender: THandle): THandle;
|
||||||
|
procedure menuDeleteSnippetClick(Sender: TObject);
|
||||||
function GetCalculatedLimit( Table: String ): Int64;
|
function GetCalculatedLimit( Table: String ): Int64;
|
||||||
procedure menuInsertFileAtCursorClick(Sender: TObject);
|
procedure menuInsertFileAtCursorClick(Sender: TObject);
|
||||||
procedure RunAsyncPost(ds: TDeferDataSet);
|
procedure RunAsyncPost(ds: TDeferDataSet);
|
||||||
@ -5638,6 +5642,9 @@ begin
|
|||||||
lboxQueryHelpers.Items.Clear;
|
lboxQueryHelpers.Items.Clear;
|
||||||
// By default sorted alpabetically
|
// By default sorted alpabetically
|
||||||
lboxQueryHelpers.Sorted := True;
|
lboxQueryHelpers.Sorted := True;
|
||||||
|
// By default disable all items in popupmenu, enable them when needed
|
||||||
|
menuDeleteSnippet.Enabled := False;
|
||||||
|
menuHelp.Enabled := False;
|
||||||
|
|
||||||
case NewTab of
|
case NewTab of
|
||||||
0: // Cols
|
0: // Cols
|
||||||
@ -5652,6 +5659,8 @@ begin
|
|||||||
|
|
||||||
1: // SQL functions
|
1: // SQL functions
|
||||||
begin
|
begin
|
||||||
|
// State of items in popupmenu
|
||||||
|
menuHelp.Enabled := True;
|
||||||
for i := 0 to Length(MySQLFunctions) - 1 do
|
for i := 0 to Length(MySQLFunctions) - 1 do
|
||||||
begin
|
begin
|
||||||
// Don't display unsupported functions here
|
// Don't display unsupported functions here
|
||||||
@ -5663,11 +5672,15 @@ begin
|
|||||||
|
|
||||||
2: // SQL keywords
|
2: // SQL keywords
|
||||||
begin
|
begin
|
||||||
|
// State of items in popupmenu
|
||||||
|
menuHelp.Enabled := True;
|
||||||
lboxQueryHelpers.Items := MYSQL_KEYWORDS;
|
lboxQueryHelpers.Items := MYSQL_KEYWORDS;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
3: // SQL Snippets
|
3: // SQL Snippets
|
||||||
begin
|
begin
|
||||||
|
// State of items in popupmenu
|
||||||
|
menuDeleteSnippet.Enabled := True;
|
||||||
lboxQueryHelpers.Items := getFilesFromDir( DIRNAME_SNIPPETS, '*.sql', true );
|
lboxQueryHelpers.Items := getFilesFromDir( DIRNAME_SNIPPETS, '*.sql', true );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -5806,6 +5819,38 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{**
|
||||||
|
Delete a snippet file
|
||||||
|
}
|
||||||
|
procedure TMDIChild.menuDeleteSnippetClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
snippetfile : String;
|
||||||
|
mayChange : Boolean;
|
||||||
|
begin
|
||||||
|
// Don't do anything if no item was selected
|
||||||
|
if lboxQueryHelpers.ItemIndex = -1 then
|
||||||
|
abort;
|
||||||
|
|
||||||
|
snippetfile := DIRNAME_SNIPPETS + lboxQueryHelpers.Items[ lboxQueryHelpers.ItemIndex ] + '.sql';
|
||||||
|
if MessageDlg( 'Delete snippet file? ' + CRLF + snippetfile, mtConfirmation, [mbOk, mbCancel], 0) = mrOk then
|
||||||
|
begin
|
||||||
|
Screen.Cursor := crHourGlass;
|
||||||
|
if DeleteFile( snippetfile ) then
|
||||||
|
begin
|
||||||
|
// Refresh list with snippets
|
||||||
|
mayChange := True; // Unused; satisfies callee parameter collection which is probably dictated by tabset.
|
||||||
|
tabsetQueryHelpersChange( Sender, tabsetQueryHelpers.TabIndex, mayChange );
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Screen.Cursor := crDefault;
|
||||||
|
MessageDlg( 'Failed deleting ' + snippetfile, mtError, [mbOK], 0 );
|
||||||
|
end;
|
||||||
|
Screen.Cursor := crDefault;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user