Skip to content

Commit ce93931

Browse files
committed
feat: add menu item Edit > Copy column names
Refs #2055
1 parent a763fd1 commit ce93931

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

source/main.lfm

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3650,6 +3650,9 @@ object MainForm: TMainForm
36503650
object CopyItem: TMenuItem
36513651
Action = actCopy
36523652
end
3653+
object MenuItem3: TMenuItem
3654+
Action = actCopyColumnNames
3655+
end
36533656
object Copywithtabstospaces1: TMenuItem
36543657
Action = actCopyTabsToSpaces
36553658
end
@@ -5105,6 +5108,12 @@ object MainForm: TMainForm
51055108
Caption = 'Tree filters'
51065109
OnExecute = actDisplayTreeFiltersExecute
51075110
end
5111+
object actCopyColumnNames: TAction
5112+
Category = 'Various'
5113+
Caption = 'Copy column names'
5114+
ImageIndex = 3
5115+
OnExecute = menuCopyColumnNamesClick
5116+
end
51085117
end
51095118
object ImageListMain: TImageList
51105119
Scaled = True

source/main.pas

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,15 @@ TQueryHistoryItemComparer = class(TComparer<TQueryHistoryItem>)
215215
{ TMainForm }
216216

217217
TMainForm = class(TExtForm)
218+
actCopyColumnNames: TAction;
218219
actPreferencesSQL: TAction;
219220
MainMenu1: TMainMenu;
220221
MainMenuFile: TMenuItem;
221222
FileNewItem: TMenuItem;
222223
MainMenuHelp: TMenuItem;
223224
FollowForeignKey: TMenuItem;
224225
menuColorScheme: TMenuItem;
226+
MenuItem3: TMenuItem;
225227
menuSQLpreferences: TMenuItem;
226228
menuQFdummy: TMenuItem;
227229
N1: TMenuItem;
@@ -10139,14 +10141,20 @@ procedure TMainForm.menuCopyColumnNamesClick(Sender: TObject);
1013910141
Col: TColumnIndex;
1014010142
List: TStringList;
1014110143
begin
10142-
Grid := PopupComponent(Sender) as TVirtualStringTree;
10144+
if Sender is TMenuItem then
10145+
Grid := PopupComponent(Sender) as TVirtualStringTree
10146+
else if Screen.ActiveControl is TVirtualStringTree then
10147+
Grid := Screen.ActiveControl as TVirtualStringTree
10148+
else
10149+
Exit;
10150+
1014310151
List := TStringList.Create;
1014410152
Col := Grid.Header.Columns.GetFirstVisibleColumn(True);
1014510153
while Col > NoColumn do begin
1014610154
List.Add(Grid.Header.Columns[Col].Text);
1014710155
Col := Grid.Header.Columns.GetNextVisibleColumn(Col);
1014810156
end;
10149-
Clipboard.TryAsText := List.CommaText;
10157+
Clipboard.TryAsText := List.Text;
1015010158
List.Free;
1015110159
end;
1015210160

0 commit comments

Comments
 (0)