@@ -1197,6 +1197,8 @@ TMainForm = class(TExtForm)
11971197 procedure actCopyUpdate(Sender: TObject);
11981198 procedure FormChangeBounds(Sender: TObject);
11991199 procedure menuToggleAllClick(Sender: TObject);
1200+ procedure menuAutoFitAllClick(Sender: TObject);
1201+ procedure menuCopyColumnNamesClick(Sender: TObject);
12001202 procedure menuCloseTabOnDblClickClick(Sender: TObject);
12011203 procedure TimerRefreshTimer(Sender: TObject);
12021204 procedure SynCompletionProposalChange(Sender: TObject);
@@ -10049,9 +10051,6 @@ procedure TMainForm.menuTreeExpandAllClick(Sender: TObject);
1004910051 DBtree.ScrollIntoView(DBtree.FocusedNode, False);
1005010052end;
1005110053
10052- {**
10053- Collapse all db nodes
10054- }
1005510054procedure TMainForm.menuToggleAllClick(Sender: TObject);
1005610055var
1005710056 Grid: TVirtualStringTree;
@@ -10085,6 +10084,31 @@ procedure TMainForm.menuToggleAllClick(Sender: TObject);
1008510084
1008610085end;
1008710086
10087+ procedure TMainForm.menuAutoFitAllClick(Sender: TObject);
10088+ var
10089+ Grid: TVirtualStringTree;
10090+ begin
10091+ Grid := PopupComponent(Sender) as TVirtualStringTree;
10092+ Grid.Header.AutoFitColumnsWithHeaderMin;
10093+ end;
10094+
10095+ procedure TMainForm.menuCopyColumnNamesClick(Sender: TObject);
10096+ var
10097+ Grid: TVirtualStringTree;
10098+ Col: TColumnIndex;
10099+ List: TStringList;
10100+ begin
10101+ Grid := PopupComponent(Sender) as TVirtualStringTree;
10102+ List := TStringList.Create;
10103+ Col := Grid.Header.Columns.GetFirstVisibleColumn(True);
10104+ while Col > NoColumn do begin
10105+ List.Add(Grid.Header.Columns[Col].Text);
10106+ Col := Grid.Header.Columns.GetNextVisibleColumn(Col);
10107+ end;
10108+ Clipboard.TryAsText := List.CommaText;
10109+ List.Free;
10110+ end;
10111+
1008810112procedure TMainForm.menuTreeCollapseAllClick(Sender: TObject);
1008910113var
1009010114 n: PVirtualNode;
@@ -12723,11 +12747,26 @@ procedure TMainForm.popupListHeaderPopup(Sender: TObject);
1272312747var
1272412748 Item: TMenuItem;
1272512749begin
12726- // Add toggle all menu item
12750+ // Add a few items to the top of the grid's header context menu
1272712751 Item := TMenuItem.Create(popupListHeader);
1272812752 Item.Caption := _('Toggle visibility of all columns');
1272912753 Item.OnClick := menuToggleAllClick;
1273012754 popupListHeader.Items.Insert(0, Item);
12755+
12756+ Item := TMenuItem.Create(popupListHeader);
12757+ Item.Caption := _('Size &All Columns to Fit');
12758+ Item.OnClick := menuAutoFitAllClick;
12759+ popupListHeader.Items.Insert(1, Item);
12760+
12761+ Item := TMenuItem.Create(popupListHeader);
12762+ Item.Caption := _('Copy column names');
12763+ Item.OnClick := menuCopyColumnNamesClick;
12764+ Item.ImageIndex := actCopy.ImageIndex;
12765+ popupListHeader.Items.Insert(2, Item);
12766+
12767+ Item := TMenuItem.Create(popupListHeader);
12768+ Item.Caption := '-';
12769+ popupListHeader.Items.Insert(3, Item);
1273112770end;
1273212771
1273312772
0 commit comments