提交 66ab6580 编写于 作者: A Alex Ross

Add back hideHover and use on tree context menu show

Fixes #106268
上级 2edbe68c
......@@ -113,6 +113,7 @@ export class TreeView extends Disposable implements ITreeView {
@IKeybindingService private readonly keybindingService: IKeybindingService,
@INotificationService private readonly notificationService: INotificationService,
@IViewDescriptorService private readonly viewDescriptorService: IViewDescriptorService,
@IHoverService private readonly hoverService: IHoverService,
@IContextKeyService contextKeyService: IContextKeyService
) {
super();
......@@ -434,6 +435,7 @@ export class TreeView extends Disposable implements ITreeView {
}
private onContextMenu(treeMenus: TreeMenus, treeEvent: ITreeContextMenuEvent<ITreeItem>, actionRunner: MultipleSelectionActionRunner): void {
this.hoverService.hideHover();
const node: ITreeItem | null = treeEvent.element;
if (node === null) {
return;
......@@ -1026,7 +1028,7 @@ export class CustomTreeView extends TreeView {
@IHoverService hoverService: IHoverService,
@IExtensionService private readonly extensionService: IExtensionService,
) {
super(id, title, themeService, instantiationService, commandService, configurationService, progressService, contextMenuService, keybindingService, notificationService, viewDescriptorService, contextKeyService);
super(id, title, themeService, instantiationService, commandService, configurationService, progressService, contextMenuService, keybindingService, notificationService, viewDescriptorService, hoverService, contextKeyService);
}
setVisibility(isVisible: boolean): void {
......
......@@ -30,6 +30,11 @@ export interface IHoverService {
* ```
*/
showHover(options: IHoverOptions, focus?: boolean): IDisposable | undefined;
/**
* Hides the hover if it was visible.
*/
hideHover(): void;
}
export interface IHoverOptions {
......
......@@ -47,6 +47,14 @@ export class HoverService implements IHoverService {
return hover;
}
hideHover(): void {
if (!this._currentHoverOptions) {
return;
}
this._currentHoverOptions = undefined;
this._contextViewService.hideContextView();
}
private _intersectionChange(entries: IntersectionObserverEntry[], hover: IDisposable): void {
const entry = entries[entries.length - 1];
if (!entry.isIntersecting) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册