From 4ea13bdbc0730fdd54750d834a1997d26ff6e956 Mon Sep 17 00:00:00 2001 From: Anthony Dresser Date: Mon, 10 Sep 2018 21:18:39 -0700 Subject: [PATCH] add select all handler to grid (#2496) --- .../browser/ui/table/plugins/additionalKeyBindings.plugin.ts | 3 +++ src/sql/parts/query/editor/gridPanel.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin.ts b/src/sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin.ts index 8ddf5f7a28..a535743606 100644 --- a/src/sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin.ts +++ b/src/sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin.ts @@ -7,6 +7,7 @@ import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; +import { range } from 'vs/base/common/arrays'; /** * Implements the various additional navigation keybindings we want out of slickgrid @@ -50,6 +51,8 @@ export class AdditionalKeyBindings implements Slick.Plugin { } } else if (event.equals(KeyCode.End | KeyMod.CtrlCmd)) { this.grid.setActiveCell(this.grid.getDataLength() - 1, this.grid.getColumns().length - 1); + } else if (event.equals(KeyCode.KEY_A | KeyMod.CtrlCmd)) { + this.grid.setSelectedRows(range(this.grid.getDataLength())); } else { handled = false; } diff --git a/src/sql/parts/query/editor/gridPanel.ts b/src/sql/parts/query/editor/gridPanel.ts index 451e34a48b..e0f2e5ae57 100644 --- a/src/sql/parts/query/editor/gridPanel.ts +++ b/src/sql/parts/query/editor/gridPanel.ts @@ -39,6 +39,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { CopyKeybind } from 'sql/base/browser/ui/table/plugins/copyKeybind.plugin'; +import { AdditionalKeyBindings } from 'sql/base/browser/ui/table/plugins/additionalKeyBindings.plugin'; const ROW_HEIGHT = 29; const HEADER_HEIGHT = 26; @@ -317,6 +318,7 @@ class GridTable extends Disposable implements IView { this.table.registerPlugin(new AutoColumnSize()); this.table.registerPlugin(copyHandler); this.table.registerPlugin(numberColumn); + this.table.registerPlugin(new AdditionalKeyBindings()); this._register(this.table.onContextMenu(this.contextMenu, this)); this._register(this.table.onClick(this.onTableClick, this));