提交 d16e5642 编写于 作者: I isidor

introduce IEditorContext

fixes #6685
上级 9c6c0bfe
......@@ -404,8 +404,8 @@ export class CloseEditorAction extends Action {
super(id, label, 'close-editor-action');
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
// Close Active Editor
if (typeof position !== 'number') {
......@@ -415,7 +415,7 @@ export class CloseEditorAction extends Action {
}
}
let input = editorIdentifier ? editorIdentifier.editor : null;
let input = context ? context.editor : null;
if (!input) {
// Get Top Editor at Position
......@@ -442,8 +442,8 @@ export class CloseEditorsInGroupAction extends Action {
super(id, label);
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
if (typeof position !== 'number') {
let activeEditor = this.editorService.getActiveEditor();
if (activeEditor) {
......@@ -520,8 +520,8 @@ export class CloseEditorsInOtherGroupsAction extends Action {
super(id, label);
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
if (typeof position !== 'number') {
let activeEditor = this.editorService.getActiveEditor();
if (activeEditor) {
......@@ -546,9 +546,9 @@ export class CloseOtherEditorsInGroupAction extends Action {
super(id, label);
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
let input = editorIdentifier ? editorIdentifier.editor : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
let input = context ? context.editor : null;
// If position or input are not passed in take the position and input of the active editor.
const active = this.editorService.getActiveEditor();
......@@ -574,8 +574,8 @@ export class CloseAllEditorsInGroupAction extends Action {
super(id, label, 'action-close-all-files');
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
if (typeof position !== 'number') {
let activeEditor = this.editorService.getActiveEditor();
if (activeEditor) {
......@@ -598,8 +598,8 @@ export class MoveGroupLeftAction extends Action {
super(id, label);
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
if (typeof position !== 'number') {
let activeEditor = this.editorService.getActiveEditor();
if (activeEditor && (activeEditor.position === Position.CENTER || activeEditor.position === Position.RIGHT)) {
......@@ -627,8 +627,8 @@ export class MoveGroupRightAction extends Action {
super(id, label);
}
public run(editorIdentifier: IEditorIdentifier): TPromise<any> {
let position = editorIdentifier ? this.editorService.getStacksModel().positionOfGroup(editorIdentifier.group) : null;
public run(context: IEditorContext): TPromise<any> {
let position = context ? this.editorService.getStacksModel().positionOfGroup(context.group) : null;
if (typeof position !== 'number') {
let activeEditor = this.editorService.getActiveEditor();
let editors = this.editorService.getVisibleEditors();
......@@ -1097,4 +1097,8 @@ export class QuickOpenNavigatePreviousAction extends BaseQuickOpenNavigateAction
interface IEditorPickOpenEntry extends IPickOpenEntry {
identifier: IEditorIdentifier;
}
\ No newline at end of file
}
export interface IEditorContext extends IEditorIdentifier {
event: any;
}
......@@ -18,6 +18,7 @@ import {MarkdownEditorInput} from 'vs/workbench/parts/markdown/common/markdownEd
import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {IMessageService, Severity} from 'vs/platform/message/common/message';
import {IEditorContext} from 'vs/workbench/browser/parts/editor/editorActions';
export class GlobalTogglePreviewMarkdownAction extends Action {
......@@ -81,7 +82,7 @@ export class OpenPreviewToSideAction extends Action {
super(id, label);
}
public run(event?: any): TPromise<any> {
public run(context?: IEditorContext): TPromise<any> {
let activeInput = this.editorService.getActiveEditorInput();
// Do nothing if already in markdown preview
......@@ -125,7 +126,7 @@ export class PreviewMarkdownAction extends Action {
this.markdownResource = markdownResource;
}
public run(event?: any): TPromise<any> {
public run(context?: IEditorContext): TPromise<any> {
let input = this.instantiationService.createInstance(MarkdownEditorInput, this.markdownResource, void 0, void 0);
return this.editorService.openEditor(input);
......@@ -144,8 +145,9 @@ export class PreviewMarkdownEditorInputAction extends EditorInputAction {
this.order = 100; // far end
}
public run(event?: any): TPromise<any> {
public run(context: IEditorContext): TPromise<any> {
let input = <FileEditorInput>this.input;
const event = context ? context.event : null;
let sideBySide = !!(event && (event.ctrlKey || event.metaKey));
let markdownInput = this.instantiationService.createInstance(MarkdownEditorInput, input.getResource(), void 0, void 0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册