From cc1063b8dddaf84153ab022b27cecb34bc4bd4aa Mon Sep 17 00:00:00 2001 From: rosenfield Date: Tue, 21 Aug 2007 18:28:53 +0000 Subject: [PATCH] Implement RFE #1685787: create table button in popup menu. --- source/childwin.dfm | 11 ++++++++--- source/childwin.pas | 7 ++++++- source/createtable.pas | 5 +++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/source/childwin.dfm b/source/childwin.dfm index a6790e31..2380aaa3 100644 --- a/source/childwin.dfm +++ b/source/childwin.dfm @@ -1479,14 +1479,19 @@ object MDIChild: TMDIChild ImageIndex = 73 OnClick = CreateDatabase end - object N17: TMenuItem - Caption = '-' - end object PopupmenuDropDatabase: TMenuItem Caption = 'Drop Database...' ImageIndex = 22 OnClick = DropDB end + object N17: TMenuItem + Caption = '-' + end + object PopupMenuCreateTable: TMenuItem + Caption = 'Create Table...' + ImageIndex = 72 + OnClick = CreateTable + end object PopupMenuDropTable: TMenuItem Action = MainForm.DropTable end diff --git a/source/childwin.pas b/source/childwin.pas index 84b4d6b7..e64460ac 100644 --- a/source/childwin.pas +++ b/source/childwin.pas @@ -310,6 +310,7 @@ type menuLoadSnippet: TMenuItem; menuInsertSnippetAtCursor: TMenuItem; menuExplore: TMenuItem; + PopupMenuCreateTable: TMenuItem; procedure menuRenameColumnClick(Sender: TObject); procedure ListColumnsEdited(Sender: TObject; Item: TListItem; var S: string); @@ -3263,7 +3264,10 @@ end; procedure TMDIChild.CreateTable(Sender: TObject); begin - CreateTableWindow(Self); + if Sender = PopupMenuCreateTable then begin + if DBTree.Selected.Level = 2 then CreateTableWindow(Self, DBtree.Selected.Parent.Text); + if DBTree.Selected.Level = 1 then CreateTableWindow(Self, DBtree.Selected.Text); + end else CreateTableWindow(Self); end; @@ -4476,6 +4480,7 @@ procedure TMDIChild.popupTreeViewPopup(Sender: TObject); begin // toggle drop-items and remember right-clicked item PopupMenuDropDatabase.Enabled := DBtree.Selected.Level = 1; + PopupMenuCreateTable.Enabled := DBtree.Selected.Level in [1,2]; MainForm.DropTable.Enabled := DBtree.Selected.Level = 2; DBRightClickSelectedItem := DBtree.Selected; end; diff --git a/source/createtable.pas b/source/createtable.pas index 10e79cca..417d6904 100644 --- a/source/createtable.pas +++ b/source/createtable.pas @@ -85,7 +85,7 @@ type { Public declarations } end; - function CreateTableWindow (AOwner : TComponent) : Boolean; + function CreateTableWindow (AOwner : TComponent; Database: string = '') : Boolean; {$I const.inc} @@ -105,11 +105,12 @@ var @param TComponent Owner of form (should be calling form) @return Boolean Form closed using modalresult mrOK } -function CreateTableWindow (AOwner : TComponent) : Boolean; +function CreateTableWindow (AOwner : TComponent; Database: string) : Boolean; var f : TCreateTableForm; begin f := TCreateTableForm.Create(AOwner); + if Database <> '' then f.DBComboBox.SelText := Database; Result := (f.ShowModal=mrOK); FreeAndNil (f); end;