提交 4af1965f 编写于 作者: J Johannes Rieken

use message service to show errors, fixes #8505

上级 5891645f
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
import {localize} from 'vs/nls'; import {localize} from 'vs/nls';
import {IKeybindingService} from 'vs/platform/keybinding/common/keybindingService'; import {IKeybindingService} from 'vs/platform/keybinding/common/keybindingService';
import {IMenu, MenuItemAction} from 'vs/platform/actions/common/actions'; import {IMenu, MenuItemAction} from 'vs/platform/actions/common/actions';
import {IMessageService} from 'vs/platform/message/common/message';
import Severity from 'vs/base/common/severity';
import {IAction} from 'vs/base/common/actions'; import {IAction} from 'vs/base/common/actions';
import {IDisposable, dispose} from 'vs/base/common/lifecycle'; import {IDisposable, dispose} from 'vs/base/common/lifecycle';
import {ActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar'; import {ActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
...@@ -40,9 +42,9 @@ export function fillInActions(menu: IMenu, target: IAction[] | { primary: IActio ...@@ -40,9 +42,9 @@ export function fillInActions(menu: IMenu, target: IAction[] | { primary: IActio
} }
export function createActionItem(action: IAction, keybindingService: IKeybindingService): ActionItem { export function createActionItem(action: IAction, keybindingService: IKeybindingService, messageService: IMessageService): ActionItem {
if (action instanceof MenuItemAction) { if (action instanceof MenuItemAction) {
return new MenuItemActionItem(action, keybindingService); return new MenuItemActionItem(action, keybindingService, messageService);
} }
} }
...@@ -74,7 +76,8 @@ class MenuItemActionItem extends ActionItem { ...@@ -74,7 +76,8 @@ class MenuItemActionItem extends ActionItem {
constructor( constructor(
action: MenuItemAction, action: MenuItemAction,
@IKeybindingService private _keybindingService: IKeybindingService @IKeybindingService private _keybindingService: IKeybindingService,
@IMessageService private _messageService: IMessageService
) { ) {
super(undefined, action, { icon: !!action.command.iconClass, label: !action.command.iconClass }); super(undefined, action, { icon: !!action.command.iconClass, label: !action.command.iconClass });
} }
...@@ -88,7 +91,9 @@ class MenuItemActionItem extends ActionItem { ...@@ -88,7 +91,9 @@ class MenuItemActionItem extends ActionItem {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
(<MenuItemAction>this._action).run(this._altKeyDown).done(undefined, console.error); (<MenuItemAction>this._action).run(this._altKeyDown).done(undefined, err => {
this._messageService.show(Severity.Error, err);
});
} }
render(container: HTMLElement): void { render(container: HTMLElement): void {
......
...@@ -268,7 +268,7 @@ export abstract class TitleControl implements ITitleAreaControl { ...@@ -268,7 +268,7 @@ export abstract class TitleControl implements ITitleAreaControl {
// Check extensions // Check extensions
if (!actionItem) { if (!actionItem) {
actionItem = createActionItem(action, this.keybindingService); actionItem = createActionItem(action, this.keybindingService, this.messageService);
} }
return actionItem; return actionItem;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册