@@ -217,6 +217,7 @@ TQueryHistoryItemComparer = class(TComparer<TQueryHistoryItem>)
217217 TMainForm = class(TExtForm)
218218 actCopyColumnNames: TAction;
219219 actDataEditWithoutLookup: TAction;
220+ actTreeShowColumns: TAction;
220221 actPreferencesSQL: TAction;
221222 MainMenu1: TMainMenu;
222223 MainMenuFile: TMenuItem;
@@ -226,6 +227,8 @@ TMainForm = class(TExtForm)
226227 menuColorScheme: TMenuItem;
227228 MenuItem3: TMenuItem;
228229 menuDataEditWithoutLookup: TMenuItem;
230+ menuTreeShowColumns2: TMenuItem;
231+ menuTreeShowColumns1: TMenuItem;
229232 menuRenameSnippet: TMenuItem;
230233 menuSQLpreferences: TMenuItem;
231234 menuQFdummy: TMenuItem;
@@ -837,6 +840,7 @@ TMainForm = class(TExtForm)
837840 procedure actDataEditWithoutLookupExecute(Sender: TObject);
838841 procedure actNextTabExecute(Sender: TObject);
839842 procedure actPreviousTabExecute(Sender: TObject);
843+ procedure actTreeShowColumnsExecute(Sender: TObject);
840844 procedure AnyGridContextPopup(Sender: TObject; MousePos: TPoint;
841845 var Handled: Boolean);
842846 procedure DataGridContextPopup(Sender: TObject; MousePos: TPoint;
@@ -1831,6 +1835,7 @@ procedure TMainForm.FormDestroy(Sender: TObject);
18311835 AppSettings.WriteInt(asCompletionProposalNbLinesInWindow, SynCompletionProposal.TheForm.ScaleFormToDesign(SynCompletionProposal.LinesInWindow));
18321836 AppSettings.WriteInt(asDbtreewidth, ScaleFormToDesign(pnlLeft.width));
18331837 AppSettings.WriteBool(asGroupTreeObjects, actGroupObjects.Checked);
1838+ AppSettings.WriteBool(asTreeShowColumns, actTreeShowColumns.Checked);
18341839 AppSettings.WriteInt(asDataPreviewHeight, ScaleFormToDesign(pnlPreview.Height));
18351840 AppSettings.WriteBool(asDataPreviewEnabled, actDataPreview.Checked);
18361841 AppSettings.WriteInt(asLogHeight, ScaleFormToDesign(SynMemoSQLLog.Height));
@@ -2063,6 +2068,7 @@ procedure TMainForm.FormCreate(Sender: TObject);
20632068
20642069 // Display options, and database tree options
20652070 actGroupObjects.Checked := AppSettings.ReadBool(asGroupTreeObjects);
2071+ actTreeShowColumns.Checked := AppSettings.ReadBool(asTreeShowColumns);
20662072 actDisplayObjectSize.Checked := AppSettings.ReadBool(asDisplayObjectSizeColumn);
20672073 actDisplayObjectSizeExecute(nil);
20682074 actDisplayLogPanel.Checked := AppSettings.ReadBool(asDisplayLogPanel);
@@ -4573,6 +4579,12 @@ procedure TMainForm.actPreviousTabExecute(Sender: TObject);
45734579 PageControlMain.SelectNextPage(False);
45744580end;
45754581
4582+ procedure TMainForm.actTreeShowColumnsExecute(Sender: TObject);
4583+ begin
4584+ // Show columns in table nodes on tree
4585+ RefreshTree(nil);
4586+ end;
4587+
45764588procedure TMainForm.AnyGridContextPopup(Sender: TObject; MousePos: TPoint;
45774589 var Handled: Boolean);
45784590var
@@ -9836,6 +9848,14 @@ procedure TMainForm.DBtreeInitNode(Sender: TBaseVirtualTree; ParentNode, Node:
98369848 Item, ParentObj: PDBObject;
98379849 DBObjects: TDBObjectList;
98389850 Columns: TTableColumnList;
9851+
9852+ function TreeShowColumns: Boolean;
9853+ begin
9854+ Result := Item.NodeType = lntTable;
9855+ if Sender = DBtree then // optional in dbtree
9856+ Result := actTreeShowColumns.Checked;
9857+ end;
9858+
98399859begin
98409860 Item := Sender.GetNodeData(Node);
98419861 if (not Assigned(ParentNode)) or (ParentNode = nil) then begin
@@ -9868,14 +9888,14 @@ procedure TMainForm.DBtreeInitNode(Sender: TBaseVirtualTree; ParentNode, Node:
98689888 end else begin
98699889 DBObjects := ParentObj.Connection.GetDBObjects(ParentObj.Database);
98709890 Item^ := DBObjects[Node.Index];
9871- if Item.NodeType = lntTable then
9891+ if TreeShowColumns then
98729892 Include(InitialStates, ivsHasChildren);
98739893 end;
98749894 end;
98759895 lntGroup: begin
98769896 DBObjects := ParentObj.Connection.GetDBObjects(ParentObj.Database, False, ParentObj.GroupType);
98779897 Item^ := DBObjects[Node.Index];
9878- if Item.NodeType = lntTable then
9898+ if TreeShowColumns then
98799899 Include(InitialStates, ivsHasChildren);
98809900 end;
98819901 lntTable: begin
0 commit comments