提交 5ca45ab7 编写于 作者: J Johannes Rieken

Revert "fix #15395"

This reverts commit 58ab5ecd.
上级 89bf4916
......@@ -11,12 +11,11 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base';
import * as dom from 'vs/base/browser/dom';
import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
import { ActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
import { ActionItem, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
import { IMenuService, MenuId } from 'vs/platform/actions/common/actions';
import { fillInActions } from 'vs/platform/actions/browser/menuItemActionItem';
import { ICommonCodeEditor, IEditorContribution, MouseTargetType, EditorContextKeys, IScrollEvent } from 'vs/editor/common/editorCommon';
import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
......@@ -125,9 +124,17 @@ export class ContextMenuController implements IEditorContribution {
private _getMenuActions(): IAction[] {
const result: IAction[] = [];
const contextMenu = this._menuService.createMenu(MenuId.EditorContext, this._contextKeyService);
fillInActions(contextMenu, this._editor.getModel().uri, result);
let contextMenu = this._menuService.createMenu(MenuId.EditorContext, this._contextKeyService);
const groups = contextMenu.getActions(this._editor.getModel().uri);
contextMenu.dispose();
for (let group of groups) {
const [, actions] = group;
result.push(...actions);
result.push(new Separator());
}
result.pop(); // remove last separator
return result;
}
......
......@@ -17,7 +17,7 @@ import { domEvent } from 'vs/base/browser/event';
import { Emitter } from 'vs/base/common/event';
export function fillInActions(menu: IMenu, context: any, target: IAction[] | { primary: IAction[]; secondary: IAction[]; }, ignoreAltKey?: boolean): void {
export function fillInActions(menu: IMenu, context: any, target: IAction[] | { primary: IAction[]; secondary: IAction[]; }): void {
const groups = menu.getActions(context);
if (groups.length === 0) {
return;
......@@ -25,11 +25,6 @@ export function fillInActions(menu: IMenu, context: any, target: IAction[] | { p
for (let tuple of groups) {
let [group, actions] = tuple;
if (!ignoreAltKey && _altKey.value) {
swapWithAltActionsIfPossible(actions);
}
if (group === 'navigation') {
const head = Array.isArray<IAction>(target) ? target : target.primary;
......@@ -67,13 +62,6 @@ export function fillInActions(menu: IMenu, context: any, target: IAction[] | { p
}
}
function swapWithAltActionsIfPossible(actions: MenuItemAction[]): void {
for (let i = 0; i < actions.length; i++) {
if (actions[i].alt) {
actions[i] = actions[i].alt;
}
}
}
export function createActionItem(action: IAction, keybindingService: IKeybindingService, messageService: IMessageService): ActionItem {
if (action instanceof MenuItemAction) {
......@@ -86,8 +74,6 @@ const _altKey = new class extends Emitter<boolean> {
private _subscriptions: IDisposable[] = [];
private _value = false;
constructor() {
super();
......@@ -97,15 +83,6 @@ const _altKey = new class extends Emitter<boolean> {
this._subscriptions.push(domEvent(document.body, 'blur')(e => this.fire(false)));
}
fire(value: boolean) {
super.fire(value);
this._value = value;
}
get value() {
return this._value;
}
dispose() {
super.dispose();
this._subscriptions = dispose(this._subscriptions);
......
......@@ -323,7 +323,7 @@ export abstract class TitleControl implements ITitleAreaControl {
const titleBarMenu = this.menuService.createMenu(MenuId.EditorTitle, scopedContextKeyService);
this.disposeOnEditorActions.push(titleBarMenu, titleBarMenu.onDidChange(_ => this.update()));
fillInActions(titleBarMenu, this.resourceContext.get(), { primary, secondary }, true);
fillInActions(titleBarMenu, this.resourceContext.get(), { primary, secondary });
}
return { primary, secondary };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册