Fix issue #1089: Pressing Ins in filter textarea inserts new data line

This commit is contained in:
Ansgar Becker
2009-05-19 23:02:07 +00:00
parent 321195e6a6
commit a92c3ed489
2 changed files with 25 additions and 9 deletions

View File

@ -1143,6 +1143,8 @@ object MainForm: TMainForm
OnEditCancelled = DataGridEditCancelled OnEditCancelled = DataGridEditCancelled
OnEdited = DataGridEdited OnEdited = DataGridEdited
OnEditing = DataGridEditing OnEditing = DataGridEditing
OnEnter = DataGridEnter
OnExit = DataGridExit
OnFocusChanging = DataGridFocusChanging OnFocusChanging = DataGridFocusChanging
OnGetText = GridGetText OnGetText = GridGetText
OnPaintText = GridPaintText OnPaintText = GridPaintText

View File

@ -679,6 +679,8 @@ type
procedure DBtreeExpanded(Sender: TBaseVirtualTree; Node: PVirtualNode); procedure DBtreeExpanded(Sender: TBaseVirtualTree; Node: PVirtualNode);
procedure actEditObjectExecute(Sender: TObject); procedure actEditObjectExecute(Sender: TObject);
procedure actViewDataExecute(Sender: TObject); procedure actViewDataExecute(Sender: TObject);
procedure DataGridEnter(Sender: TObject);
procedure DataGridExit(Sender: TObject);
private private
ReachedEOT : Boolean; ReachedEOT : Boolean;
FDelimiter: String; FDelimiter: String;
@ -4049,12 +4051,12 @@ end;
procedure TMainForm.ValidateControls( FrmIsFocussed: Boolean = true ); procedure TMainForm.ValidateControls( FrmIsFocussed: Boolean = true );
var var
DBObjectSelected, DBObjectSelected,
inDbTab, inDataTab, inQueryTab, inDataOrQueryTab, inDataOrQueryTabNotEmpty, inDbTab, inDataGrid, inQueryTab, inDataOrQueryTab, inDataOrQueryTabNotEmpty,
dummy: Boolean; dummy: Boolean;
SelectedNodes: TNodeArray; SelectedNodes: TNodeArray;
begin begin
inDbTab := FrmIsFocussed and (PageControlMain.ActivePage = tabDatabase); inDbTab := FrmIsFocussed and (PageControlMain.ActivePage = tabDatabase);
inDataTab := FrmIsFocussed and (PageControlMain.ActivePage = tabData); inDataGrid := FrmIsFocussed and (ActiveControl = DataGrid);
inDataOrQueryTab := FrmIsFocussed and ((PageControlMain.ActivePage = tabData) or (PageControlMain.ActivePage = tabQuery)); inDataOrQueryTab := FrmIsFocussed and ((PageControlMain.ActivePage = tabData) or (PageControlMain.ActivePage = tabQuery));
inDataOrQueryTabNotEmpty := inDataOrQueryTab and (ActiveGrid.RootNodeCount > 0); inDataOrQueryTabNotEmpty := inDataOrQueryTab and (ActiveGrid.RootNodeCount > 0);
inQueryTab := FrmIsFocussed and (PageControlMain.ActivePage = tabQuery); inQueryTab := FrmIsFocussed and (PageControlMain.ActivePage = tabQuery);
@ -4085,12 +4087,12 @@ begin
// Data tab - if query results are made editable, these will need // Data tab - if query results are made editable, these will need
// to be changed to look at which tab is focused. // to be changed to look at which tab is focused.
actDataInsert.Enabled := inDataTab; actDataInsert.Enabled := inDataGrid;
actDataDelete.Enabled := inDataTab and (DataGrid.SelectedCount > 0); actDataDelete.Enabled := inDataGrid and (DataGrid.SelectedCount > 0);
actDataFirst.Enabled := inDataTab; actDataFirst.Enabled := inDataGrid;
actDataLast.Enabled := inDataTab; actDataLast.Enabled := inDataGrid;
actDataPostChanges.Enabled := inDataTab and DataGridHasChanges; actDataPostChanges.Enabled := inDataGrid and DataGridHasChanges;
actDataCancelChanges.Enabled := inDataTab and DataGridHasChanges; actDataCancelChanges.Enabled := inDataGrid and DataGridHasChanges;
// Activate export-options if we're on Data- or Query-tab // Activate export-options if we're on Data- or Query-tab
actCopyAsCSV.Enabled := inDataOrQueryTabNotEmpty; actCopyAsCSV.Enabled := inDataOrQueryTabNotEmpty;
@ -4099,7 +4101,7 @@ begin
actCopyAsSQL.Enabled := inDataOrQueryTabNotEmpty; actCopyAsSQL.Enabled := inDataOrQueryTabNotEmpty;
actExportData.Enabled := inDataOrQueryTabNotEmpty; actExportData.Enabled := inDataOrQueryTabNotEmpty;
actHTMLView.Enabled := inDataOrQueryTabNotEmpty and Assigned(ActiveGrid.FocusedNode); actHTMLView.Enabled := inDataOrQueryTabNotEmpty and Assigned(ActiveGrid.FocusedNode);
setNull1.Enabled := inDataTab and Assigned(DataGrid.FocusedNode); setNull1.Enabled := inDataGrid and Assigned(DataGrid.FocusedNode);
// Query tab // Query tab
actLoadSQL.Enabled := FrmIsFocussed; actLoadSQL.Enabled := FrmIsFocussed;
@ -4143,6 +4145,18 @@ begin
end; end;
procedure TMainForm.DataGridEnter(Sender: TObject);
begin
ValidateControls(True);
end;
procedure TMainForm.DataGridExit(Sender: TObject);
begin
ValidateControls(True);
end;
procedure TMainForm.CheckUptime; procedure TMainForm.CheckUptime;
begin begin
ServerUptime := MakeInt(GetVar('SHOW STATUS LIKE ''Uptime''', 1)); ServerUptime := MakeInt(GetVar('SHOW STATUS LIKE ''Uptime''', 1));