Skip to content

Commit eb9cd8b

Browse files
committed
feat: add a few items to the top of the grid's header context menu
1 parent 04bee72 commit eb9cd8b

File tree

3 files changed

+50
-6
lines changed

3 files changed

+50
-6
lines changed

extra/locale/heidisql.po

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: HeidiSQL\n"
99
"POT-Creation-Date: 2012-11-05 21:40\n"
10-
"PO-Revision-Date: 2025-11-06 19:16+0100\n"
10+
"PO-Revision-Date: 2026-01-28 19:41+0100\n"
1111
"Last-Translator: Ansgar Becker <anse@heidisql.com>\n"
1212
"Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n"
1313
"Language: en\n"
@@ -6767,3 +6767,9 @@ msgstr "Open file after creation"
67676767

67686768
msgid "Source table"
67696769
msgstr "Source table"
6770+
6771+
msgid "Make sure sshpass is available when using a password"
6772+
msgstr "Make sure sshpass is available when using a password"
6773+
6774+
msgid "Copy column names"
6775+
msgstr "Copy column names"

source/main.lfm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21123,7 +21123,6 @@ object MainForm: TMainForm
2112321123
object popupListHeader: TLazVTHeaderPopupMenu
2112421124
Images = ImageListMain
2112521125
OnPopup = popupListHeaderPopup
21126-
Options = [poResizeToFitItem]
2112721126
Left = 256
2112821127
Top = 264
2112921128
end

source/main.pas

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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);
1005010052
end;
1005110053

10052-
{**
10053-
Collapse all db nodes
10054-
}
1005510054
procedure TMainForm.menuToggleAllClick(Sender: TObject);
1005610055
var
1005710056
Grid: TVirtualStringTree;
@@ -10085,6 +10084,31 @@ procedure TMainForm.menuToggleAllClick(Sender: TObject);
1008510084

1008610085
end;
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+
1008810112
procedure TMainForm.menuTreeCollapseAllClick(Sender: TObject);
1008910113
var
1009010114
n: PVirtualNode;
@@ -12723,11 +12747,26 @@ procedure TMainForm.popupListHeaderPopup(Sender: TObject);
1272312747
var
1272412748
Item: TMenuItem;
1272512749
begin
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);
1273112770
end;
1273212771

1273312772

0 commit comments

Comments
 (0)