mirror of
https://github.com/Microsoft/vscode
synced 2024-08-28 05:19:39 +00:00
use disposableStore
This commit is contained in:
parent
ae2fe7d085
commit
7b2d02766c
|
@ -30,6 +30,7 @@ import { openContextMenu } from 'vs/workbench/contrib/terminal/browser/terminalC
|
||||||
import { ACTIVE_GROUP } from 'vs/workbench/services/editor/common/editorService';
|
import { ACTIVE_GROUP } from 'vs/workbench/services/editor/common/editorService';
|
||||||
import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/browser/layoutService';
|
import { IWorkbenchLayoutService, Parts } from 'vs/workbench/services/layout/browser/layoutService';
|
||||||
import { IBaseActionViewItemOptions } from 'vs/base/browser/ui/actionbar/actionViewItems';
|
import { IBaseActionViewItemOptions } from 'vs/base/browser/ui/actionbar/actionViewItems';
|
||||||
|
import { DisposableStore } from 'vs/base/common/lifecycle';
|
||||||
|
|
||||||
export class TerminalEditor extends EditorPane {
|
export class TerminalEditor extends EditorPane {
|
||||||
|
|
||||||
|
@ -46,6 +47,8 @@ export class TerminalEditor extends EditorPane {
|
||||||
|
|
||||||
private _cancelContextMenu: boolean = false;
|
private _cancelContextMenu: boolean = false;
|
||||||
|
|
||||||
|
private _disposableStore = this._register(new DisposableStore());
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
group: IEditorGroup,
|
group: IEditorGroup,
|
||||||
@ITelemetryService telemetryService: ITelemetryService,
|
@ITelemetryService telemetryService: ITelemetryService,
|
||||||
|
@ -224,10 +227,11 @@ export class TerminalEditor extends EditorPane {
|
||||||
* Actions might be of type Action (disposable) or Separator or SubmenuAction, which don't extend Disposable
|
* Actions might be of type Action (disposable) or Separator or SubmenuAction, which don't extend Disposable
|
||||||
*/
|
*/
|
||||||
private _registerDisposableActions(dropdownAction: IAction, dropdownMenuActions: IAction[]): void {
|
private _registerDisposableActions(dropdownAction: IAction, dropdownMenuActions: IAction[]): void {
|
||||||
|
this._disposableStore.clear();
|
||||||
if (dropdownAction instanceof Action) {
|
if (dropdownAction instanceof Action) {
|
||||||
this._register(dropdownAction);
|
this._disposableStore.add(dropdownAction);
|
||||||
}
|
}
|
||||||
dropdownMenuActions.filter(a => a instanceof Action).forEach(a => this._register(a));
|
dropdownMenuActions.filter(a => a instanceof Action).forEach(a => this._disposableStore.add(a));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _getDefaultProfileName(): string {
|
private _getDefaultProfileName(): string {
|
||||||
|
|
|
@ -33,7 +33,7 @@ import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels';
|
||||||
import { getColorForSeverity } from 'vs/workbench/contrib/terminal/browser/terminalStatusList';
|
import { getColorForSeverity } from 'vs/workbench/contrib/terminal/browser/terminalStatusList';
|
||||||
import { createAndFillInContextMenuActions, MenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem';
|
import { createAndFillInContextMenuActions, MenuEntryActionViewItem } from 'vs/platform/actions/browser/menuEntryActionViewItem';
|
||||||
import { DropdownWithPrimaryActionViewItem } from 'vs/platform/actions/browser/dropdownWithPrimaryActionViewItem';
|
import { DropdownWithPrimaryActionViewItem } from 'vs/platform/actions/browser/dropdownWithPrimaryActionViewItem';
|
||||||
import { dispose, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
import { DisposableStore, dispose, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { ColorScheme } from 'vs/platform/theme/common/theme';
|
import { ColorScheme } from 'vs/platform/theme/common/theme';
|
||||||
import { getColorClass, getUriClasses } from 'vs/workbench/contrib/terminal/browser/terminalIcon';
|
import { getColorClass, getUriClasses } from 'vs/workbench/contrib/terminal/browser/terminalIcon';
|
||||||
|
@ -58,6 +58,7 @@ export class TerminalViewPane extends ViewPane {
|
||||||
private readonly _dropdownMenu: IMenu;
|
private readonly _dropdownMenu: IMenu;
|
||||||
private readonly _singleTabMenu: IMenu;
|
private readonly _singleTabMenu: IMenu;
|
||||||
private _viewShowing: IContextKey<boolean>;
|
private _viewShowing: IContextKey<boolean>;
|
||||||
|
private _disposableStore = this._register(new DisposableStore());
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
options: IViewPaneOptions,
|
options: IViewPaneOptions,
|
||||||
|
@ -287,10 +288,11 @@ export class TerminalViewPane extends ViewPane {
|
||||||
* Actions might be of type Action (disposable) or Separator or SubmenuAction, which don't extend Disposable
|
* Actions might be of type Action (disposable) or Separator or SubmenuAction, which don't extend Disposable
|
||||||
*/
|
*/
|
||||||
private _registerDisposableActions(dropdownAction: IAction, dropdownMenuActions: IAction[]): void {
|
private _registerDisposableActions(dropdownAction: IAction, dropdownMenuActions: IAction[]): void {
|
||||||
|
this._disposableStore.clear();
|
||||||
if (dropdownAction instanceof Action) {
|
if (dropdownAction instanceof Action) {
|
||||||
this._register(dropdownAction);
|
this._disposableStore.add(dropdownAction);
|
||||||
}
|
}
|
||||||
dropdownMenuActions.filter(a => a instanceof Action).forEach(a => this._register(a));
|
dropdownMenuActions.filter(a => a instanceof Action).forEach(a => this._disposableStore.add(a));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _getDefaultProfileName(): string {
|
private _getDefaultProfileName(): string {
|
||||||
|
|
Loading…
Reference in a new issue