mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Merge from vscode 52dcb723a39ae75bee1bd56b3312d7fcdc87aeed (#6719)
This commit is contained in:
@@ -8,7 +8,7 @@ import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { IContextKeyService, IContextKey, RawContextKey } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { InputFocusedContext } from 'vs/platform/contextkey/common/contextkeys';
|
||||
import { IWindowsConfiguration } from 'vs/platform/windows/common/windows';
|
||||
import { ActiveEditorContext, EditorsVisibleContext, TextCompareEditorVisibleContext, TextCompareEditorActiveContext, ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext, TEXT_DIFF_EDITOR_ID, SplitEditorsVertically, InEditorZenModeContext, IsCenteredLayoutContext } from 'vs/workbench/common/editor';
|
||||
import { ActiveEditorContext, EditorsVisibleContext, TextCompareEditorVisibleContext, TextCompareEditorActiveContext, ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext, TEXT_DIFF_EDITOR_ID, SplitEditorsVertically, InEditorZenModeContext, IsCenteredLayoutContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext } from 'vs/workbench/common/editor';
|
||||
import { trackFocus, addDisposableListener, EventType } from 'vs/base/browser/dom';
|
||||
import { preferredSideBySideGroupDirection, GroupDirection, IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
@@ -52,17 +52,20 @@ export class WorkbenchContextKeysHandler extends Disposable {
|
||||
private inputFocusedContext: IContextKey<boolean>;
|
||||
|
||||
private activeEditorContext: IContextKey<string | null>;
|
||||
|
||||
private activeEditorGroupEmpty: IContextKey<boolean>;
|
||||
private activeEditorGroupIndex: IContextKey<number>;
|
||||
private activeEditorGroupLast: IContextKey<boolean>;
|
||||
private multipleEditorGroupsContext: IContextKey<boolean>;
|
||||
|
||||
private editorsVisibleContext: IContextKey<boolean>;
|
||||
private textCompareEditorVisibleContext: IContextKey<boolean>;
|
||||
private textCompareEditorActiveContext: IContextKey<boolean>;
|
||||
private activeEditorGroupEmpty: IContextKey<boolean>;
|
||||
private multipleEditorGroupsContext: IContextKey<boolean>;
|
||||
private splitEditorsVerticallyContext: IContextKey<boolean>;
|
||||
|
||||
private workbenchStateContext: IContextKey<string>;
|
||||
private workspaceFolderCountContext: IContextKey<number>;
|
||||
|
||||
|
||||
private inZenModeContext: IContextKey<boolean>;
|
||||
private isFullscreenContext: IContextKey<boolean>;
|
||||
private isCenteredLayoutContext: IContextKey<boolean>;
|
||||
@@ -90,8 +93,10 @@ export class WorkbenchContextKeysHandler extends Disposable {
|
||||
|
||||
this._register(this.editorService.onDidActiveEditorChange(() => this.updateEditorContextKeys()));
|
||||
this._register(this.editorService.onDidVisibleEditorsChange(() => this.updateEditorContextKeys()));
|
||||
|
||||
this._register(this.editorGroupService.onDidAddGroup(() => this.updateEditorContextKeys()));
|
||||
this._register(this.editorGroupService.onDidRemoveGroup(() => this.updateEditorContextKeys()));
|
||||
this._register(this.editorGroupService.onDidGroupIndexChange(() => this.updateEditorContextKeys()));
|
||||
|
||||
this._register(addDisposableListener(window, EventType.FOCUS_IN, () => this.updateInputContextKeys(), true));
|
||||
|
||||
@@ -141,6 +146,8 @@ export class WorkbenchContextKeysHandler extends Disposable {
|
||||
this.textCompareEditorVisibleContext = TextCompareEditorVisibleContext.bindTo(this.contextKeyService);
|
||||
this.textCompareEditorActiveContext = TextCompareEditorActiveContext.bindTo(this.contextKeyService);
|
||||
this.activeEditorGroupEmpty = ActiveEditorGroupEmptyContext.bindTo(this.contextKeyService);
|
||||
this.activeEditorGroupIndex = ActiveEditorGroupIndexContext.bindTo(this.contextKeyService);
|
||||
this.activeEditorGroupLast = ActiveEditorGroupLastContext.bindTo(this.contextKeyService);
|
||||
this.multipleEditorGroupsContext = MultipleEditorGroupsContext.bindTo(this.contextKeyService);
|
||||
|
||||
// Inputs
|
||||
@@ -176,6 +183,7 @@ export class WorkbenchContextKeysHandler extends Disposable {
|
||||
}
|
||||
|
||||
private updateEditorContextKeys(): void {
|
||||
const activeGroup = this.editorGroupService.activeGroup;
|
||||
const activeControl = this.editorService.activeControl;
|
||||
const visibleEditors = this.editorService.visibleControls;
|
||||
|
||||
@@ -194,12 +202,16 @@ export class WorkbenchContextKeysHandler extends Disposable {
|
||||
this.activeEditorGroupEmpty.reset();
|
||||
}
|
||||
|
||||
if (this.editorGroupService.count > 1) {
|
||||
const groupCount = this.editorGroupService.count;
|
||||
if (groupCount > 1) {
|
||||
this.multipleEditorGroupsContext.set(true);
|
||||
} else {
|
||||
this.multipleEditorGroupsContext.reset();
|
||||
}
|
||||
|
||||
this.activeEditorGroupIndex.set(activeGroup.index);
|
||||
this.activeEditorGroupLast.set(activeGroup.index === groupCount - 1);
|
||||
|
||||
if (activeControl) {
|
||||
this.activeEditorContext.set(activeControl.getId());
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user