diff --git a/source/childwin.dfm b/source/childwin.dfm index 8ba9d440..f32c3a03 100644 --- a/source/childwin.dfm +++ b/source/childwin.dfm @@ -1568,10 +1568,7 @@ object MDIChild: TMDIChild Action = MainForm.actCreateTable end object menuTreeAlterTable: TMenuItem - Caption = 'Alter table ...' - Enabled = False - ImageIndex = 17 - OnClick = menuAlterTableClick + Action = MainForm.actAlterTable end object menuTreeCreateView: TMenuItem Action = MainForm.actCreateView @@ -1583,7 +1580,7 @@ object MDIChild: TMDIChild Action = MainForm.actDropTablesAndViews end object Exporttables2: TMenuItem - Action = MainForm.ExportTables + Action = MainForm.actExportTables end object N5: TMenuItem Caption = '-' @@ -1611,29 +1608,17 @@ object MDIChild: TMDIChild Left = 72 Top = 16 object menuproperties: TMenuItem - Caption = 'Properties' + Action = MainForm.actTableProperties Default = True - Enabled = False - ImageIndex = 44 - OnClick = ListTablesDblClick end object menuAlterTable: TMenuItem - Caption = 'Alter table ...' - Enabled = False - ImageIndex = 17 - OnClick = menuAlterTableClick + Action = MainForm.actAlterTable end object actView1: TMenuItem Action = MainForm.actEditView end - object menuviewdata: TMenuItem - Caption = 'View Data' - Enabled = False - ImageIndex = 41 - OnClick = MenuViewDataClick - end object InsertfilesintoBLOBfields1: TMenuItem - Action = MainForm.InsertFiles + Action = MainForm.actInsertFiles end object N2: TMenuItem Caption = '-' @@ -1667,13 +1652,13 @@ object MDIChild: TMDIChild Action = MainForm.actCreateView end object Exporttables1: TMenuItem - Action = MainForm.ExportTables + Action = MainForm.actExportTables end object N10: TMenuItem Caption = '-' end object PrintList3: TMenuItem - Action = MainForm.PrintList + Action = MainForm.actPrintList end object menurefresh: TMenuItem Tag = 28 @@ -1731,7 +1716,7 @@ object MDIChild: TMDIChild Caption = '-' end object PrintList2: TMenuItem - Action = MainForm.PrintList + Action = MainForm.actPrintList end object Refresh1: TMenuItem Tag = 28 @@ -1809,10 +1794,10 @@ object MDIChild: TMDIChild Caption = '-' end object InsertfilesintoBLOBfields2: TMenuItem - Action = MainForm.InsertFiles + Action = MainForm.actInsertFiles end object PrintList4: TMenuItem - Action = MainForm.PrintList + Action = MainForm.actPrintList end object Refresh2: TMenuItem Tag = 28 @@ -2029,7 +2014,7 @@ object MDIChild: TMDIChild Action = MainForm.HTMLview end object InsertfilesintoBLOBfields3: TMenuItem - Action = MainForm.InsertFiles + Action = MainForm.actInsertFiles end object N19: TMenuItem Caption = '-' diff --git a/source/childwin.pas b/source/childwin.pas index b08f3a06..4e0c82ba 100644 --- a/source/childwin.pas +++ b/source/childwin.pas @@ -49,7 +49,6 @@ type menuRefreshDBTree: TMenuItem; tabTable: TTabSheet; popupDbGrid: TPopupMenu; - menuviewdata: TMenuItem; menuproperties: TMenuItem; menudroptable: TMenuItem; menuemptytable: TMenuItem; @@ -361,7 +360,6 @@ type procedure ShowTableData(table: string); procedure viewdata(Sender: TObject); procedure RefreshFieldListClick(Sender: TObject); - procedure MenuViewDataClick(Sender: TObject); procedure MenuRefreshClick(Sender: TObject); procedure DropDB(Sender: TObject); procedure LogSQL(msg: WideString = ''; comment: Boolean = true ); @@ -378,7 +376,6 @@ type procedure FormDeactivate(Sender: TObject); procedure FormShow(Sender: TObject); procedure UpdateField(Sender: TObject); - procedure menuAlterTableClick(Sender: TObject); procedure ListTablesNewText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; NewText: WideString); procedure MenuRenameTableClick(Sender: TObject); @@ -553,7 +550,6 @@ type CachedTableLists : TStringList; QueryHelpersSelectedItems : Array[0..3] of Array of Integer; CreateDatabaseForm : TCreateDatabaseForm; - TablePropertiesForm : Ttbl_properties_form; EditVariableForm : TfrmEditVariable; FileNameSessionLog : String; FileHandleSessionLog : Textfile; @@ -611,6 +607,7 @@ type prefLogToFile, prefPreferShowTables : Boolean; CreateTableForm : TCreateTableForm; + TablePropertiesForm : Ttbl_properties_form; procedure Init(AConn : POpenConnProf; AMysqlConn : TMysqlConn); @@ -2169,10 +2166,9 @@ begin ViewSelected := NodeData.NodeType = NODETYPE_VIEW; end; - menuproperties.Enabled := NodeSelected; - menuviewdata.Enabled := NodeSelected; + Mainform.actTableProperties.Enabled := NodeSelected; Mainform.actEmptyTables.Enabled := tableSelected; - menuAlterTable.Enabled := tableSelected; + Mainform.actAlterTable.Enabled := tableSelected; MenuRenameTable.Enabled := NodeSelected; Mainform.actCopyTable.Enabled := NodeSelected; Mainform.actEditView.Enabled := ViewSelected and (mysql_version >= 50001); @@ -2187,10 +2183,9 @@ begin with MainForm do begin ButtonRefresh.Enabled := FrmIsFocussed; - ExportTables.Enabled := FrmIsFocussed; + actExportTables.Enabled := FrmIsFocussed; ButtonCreateDatabase.Enabled := FrmIsFocussed; MenuRefresh.Enabled := FrmIsFocussed; - MenuExport.Enabled := FrmIsFocussed; MenuCreateDatabase.Enabled := FrmIsFocussed; MenuDropDatabase.Enabled := FrmIsFocussed; LoadSQL.Enabled := FrmIsFocussed; @@ -2202,7 +2197,7 @@ begin MenuFlushStatus.Enabled := FrmIsFocussed; UserManager.Enabled := FrmIsFocussed; actMaintenance.Enabled := FrmIsFocussed; - InsertFiles.Enabled := FrmIsFocussed; + actInsertFiles.Enabled := FrmIsFocussed; {*** Activate export-options if we're on Data- or Query-tab PrintList should only be active if we're focussing one of the ListViews, @@ -2210,7 +2205,7 @@ begin @see Issue 1686582 } inDataOrQueryTab := FrmIsFocussed and ((PageControlMain.ActivePage = tabData) or (PageControlMain.ActivePage = tabQuery)); - PrintList.Enabled := (not inDataOrQueryTab) and FrmIsFocussed; + actPrintList.Enabled := (not inDataOrQueryTab) and FrmIsFocussed; // Both the Query and the Data grid may have a nil DataSet reference, // either in case the relevant grid has not been used yet, or when // an error has occurred. @@ -2267,19 +2262,6 @@ begin end; -procedure TMDIChild.MenuViewDataClick(Sender: TObject); -var - NodeData: PVTreeData; -begin - if Assigned(ListTables.FocusedNode) then begin - NodeData := ListTables.GetNodeData(ListTables.FocusedNode); - SelectedTable := NodeData.Captions[0]; - ShowTable(SelectedTable); - ShowTableData(SelectedTable); - end; -end; - - procedure TMDIChild.DropDB(Sender: TObject); var tndb_ : PVirtualNode; @@ -3098,30 +3080,6 @@ begin end; -{** - "Alter table ..." - called by popupTreeView or popupDbGrid -} -procedure TMDIChild.menuAlterTableClick(Sender: TObject); -var - NodeData: PVTreeData; - caller : TPopupMenu; -begin - if TablePropertiesForm = nil then - TablePropertiesForm := Ttbl_properties_form.Create(Self); - - caller := TPopupMenu( TMenuItem( Sender ).GetParentMenu ); - if caller = popupTreeView then - TablePropertiesForm.TableName := SelectedTable - else begin - NodeData := ListTables.GetNodeData( ListTables.FocusedNode ); - TablePropertiesForm.TableName := NodeData.Captions[0]; - end; - - TablePropertiesForm.ShowModal; -end; - - {*** Rename table after checking the new name for invalid characters } @@ -3237,15 +3195,8 @@ begin end; procedure TMDIChild.ListTablesDblClick(Sender: TObject); -var - NodeData : PVTreeData; begin - // table-doubleclick - if Assigned(ListTables.FocusedNode) then begin - NodeData := ListTables.GetNodeData(ListTables.FocusedNode); - SelectedTable := NodeData.Captions[0]; - PageControlMain.ActivePage := tabTable; - end; + Mainform.actTableProperties.Execute; end; @@ -3995,7 +3946,7 @@ begin menuAlterDatabase.Hint := STR_NOTSUPPORTED else menuAlterDatabase.Hint := 'Rename and/or modify character set of database'; - menuTreeAlterTable.Enabled := (L = 2) and (GetSelectedNodeType = NODETYPE_TABLE); + Mainform.actAlterTable.Enabled := (L = 2) and (GetSelectedNodeType = NODETYPE_TABLE); Mainform.actEditView.Enabled := (L = 2) and (GetSelectedNodeType = NODETYPE_VIEW); MainForm.actDropTablesAndViews.Enabled := (L = 2); end; diff --git a/source/main.dfm b/source/main.dfm index a7ce6eeb..b4c67587 100644 --- a/source/main.dfm +++ b/source/main.dfm @@ -112,7 +112,7 @@ object MainForm: TMainForm object ToolButton12: TToolButton Left = 142 Top = 0 - Action = PrintList + Action = actPrintList end object tlbSep2: TToolButton Left = 165 @@ -188,7 +188,7 @@ object MainForm: TMainForm Left = 304 Top = 0 Hint = 'Export tables' - Action = ExportTables + Action = actExportTables AutoSize = True end object tlbSep6: TToolButton @@ -587,7 +587,7 @@ object MainForm: TMainForm Action = LoadSQL end object InsertfilesintoBLOBfields1: TMenuItem - Action = InsertFiles + Action = actInsertFiles end end object ImExport1: TMenuItem @@ -595,7 +595,7 @@ object MainForm: TMainForm Caption = 'E&xport' object MenuExport: TMenuItem Tag = 45 - Action = ExportTables + Action = actExportTables end object N11: TMenuItem Caption = '-' @@ -777,14 +777,14 @@ object MainForm: TMainForm ImageIndex = 20 OnExecute = ExportDataExecute end - object PrintList: TAction + object actPrintList: TAction Tag = 61 Caption = 'Print...' Enabled = False Hint = 'Print List or Data' ImageIndex = 34 ShortCut = 16464 - OnExecute = PrintListExecute + OnExecute = actPrintListExecute end object actCopyTable: TAction Tag = 62 @@ -830,17 +830,17 @@ object MainForm: TMainForm ImageIndex = 32 OnExecute = HTMLviewExecute end - object InsertFiles: TAction + object actInsertFiles: TAction Caption = 'Insert files into BLOB-fields...' Enabled = False ImageIndex = 47 - OnExecute = InsertFilesExecute + OnExecute = actInsertFilesExecute end - object ExportTables: TAction + object actExportTables: TAction Caption = 'Export tables as SQL' Enabled = False ImageIndex = 20 - OnExecute = ExportTablesExecute + OnExecute = actExportTablesExecute end object LoadSQL: TAction Caption = 'Load SQL-file ...' @@ -917,8 +917,20 @@ object MainForm: TMainForm Caption = 'Empty table(s) ...' Hint = 'Delete all rows in selected table(s)' ImageIndex = 46 + ShortCut = 8238 OnExecute = actEmptyTablesExecute end + object actTableProperties: TAction + Caption = 'Table properties' + ImageIndex = 44 + OnExecute = actTablePropertiesExecute + end + object actAlterTable: TAction + Caption = 'Alter table ...' + Hint = 'Edit table engine, charset, auto increment etc.' + ImageIndex = 17 + OnExecute = actAlterTableExecute + end end object SaveDialog2: TSaveDialog DefaultExt = 'reg' diff --git a/source/main.pas b/source/main.pas index be9a0e59..37b5828e 100644 --- a/source/main.pas +++ b/source/main.pas @@ -76,7 +76,7 @@ type menuWebsite: TMenuItem; N9: TMenuItem; N11: TMenuItem; - PrintList: TAction; + actPrintList: TAction; actCopyTable: TAction; ControlBar1: TControlBar; ToolBarStandard: TToolBar; @@ -117,9 +117,9 @@ type CopyasXMLdata1: TMenuItem; ExecuteLine: TAction; HTMLview: TAction; - InsertFiles: TAction; + actInsertFiles: TAction; InsertfilesintoBLOBfields1: TMenuItem; - ExportTables: TAction; + actExportTables: TAction; DataSearch: TAction; actDropTablesAndViews: TAction; LoadSQL: TAction; @@ -165,6 +165,9 @@ type btnTableManageIndexes: TToolButton; actCreateTable: TAction; actEmptyTables: TAction; + actTableProperties: TAction; + actAlterTable: TAction; + procedure actAlterTableExecute(Sender: TObject); procedure actCreateTableExecute(Sender: TObject); procedure actCreateViewExecute(Sender: TObject); procedure btnSQLHelpClick(Sender: TObject); @@ -191,7 +194,7 @@ type procedure actEditViewExecute(Sender: TObject); procedure CopyHTMLtableExecute(Sender: TObject); procedure Copy2CSVExecute(Sender: TObject); - procedure PrintListExecute(Sender: TObject); + procedure actPrintListExecute(Sender: TObject); procedure actCopyTableExecute(Sender: TObject); procedure showstatus(msg: string=''; panel: Integer=4); procedure ButtonOKClick(Sender: TObject); @@ -207,14 +210,15 @@ type procedure ExportDataExecute(Sender: TObject); procedure ExecuteLineExecute(Sender: TObject); procedure HTMLviewExecute(Sender: TObject); - procedure InsertFilesExecute(Sender: TObject); - procedure ExportTablesExecute(Sender: TObject); + procedure actInsertFilesExecute(Sender: TObject); + procedure actExportTablesExecute(Sender: TObject); procedure DataSearchExecute(Sender: TObject); procedure actDataSetDeleteExecute(Sender: TObject); procedure btnTableAddFieldClick(Sender: TObject); procedure btnTableEditFieldClick(Sender: TObject); procedure actDropTablesAndViewsExecute(Sender: TObject); procedure actEmptyTablesExecute(Sender: TObject); + procedure actTablePropertiesExecute(Sender: TObject); procedure LoadSQLExecute(Sender: TObject); procedure EnsureConnected; function ExecuteRemoteQuery(sender: THandle; query: string): TDataSet; @@ -831,7 +835,7 @@ begin end; -procedure TMainForm.PrintListExecute(Sender: TObject); +procedure TMainForm.actPrintListExecute(Sender: TObject); var page : TTabSheet; begin @@ -1078,12 +1082,12 @@ begin ShellExec( filename ); end; -procedure TMainForm.InsertFilesExecute(Sender: TObject); +procedure TMainForm.actInsertFilesExecute(Sender: TObject); begin InsertFilesWindow(Self); end; -procedure TMainForm.ExportTablesExecute(Sender: TObject); +procedure TMainForm.actExportTablesExecute(Sender: TObject); begin // Export SQL ExportTablesWindow (Self); @@ -1428,4 +1432,35 @@ begin Screen.Cursor := crDefault; end; +procedure TMainForm.actTablePropertiesExecute(Sender: TObject); +var + NodeData: PVTreeData; +begin + // table-doubleclick + if Assigned(Childwin.ListTables.FocusedNode) then begin + NodeData := Childwin.ListTables.GetNodeData(Childwin.ListTables.FocusedNode); + Childwin.SelectedTable := NodeData.Captions[0]; + Childwin.PageControlMain.ActivePage := Childwin.tabTable; + end; +end; + +procedure TMainForm.actAlterTableExecute(Sender: TObject); +var + NodeData: PVTreeData; + caller: TComponent; +begin + if Childwin.TablePropertiesForm = nil then + Childwin.TablePropertiesForm := Ttbl_properties_form.Create(Self); + + caller := TAction(Sender).ActionComponent; + if caller = Childwin.menuTreeAlterTable then + Childwin.TablePropertiesForm.TableName := Childwin.SelectedTable + else begin + NodeData := Childwin.ListTables.GetNodeData( Childwin.ListTables.FocusedNode ); + Childwin.TablePropertiesForm.TableName := NodeData.Captions[0]; + end; + + Childwin.TablePropertiesForm.ShowModal; +end; + end.