提交 ab168f71 编写于 作者: B Benjamin Pasero

labels - adopt in comments panel

上级 f729ca0e
......@@ -23,11 +23,13 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
import { textLinkForeground, textLinkActiveForeground, focusBorder } from 'vs/platform/theme/common/colorRegistry';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { ResourceLabels } from 'vs/workbench/browser/labels';
export const COMMENTS_PANEL_ID = 'workbench.panel.comments';
export const COMMENTS_PANEL_TITLE = 'Comments';
export class CommentsPanel extends Panel {
private labels: ResourceLabels;
private tree: WorkbenchTree;
private treeContainer: HTMLElement;
private messageBoxContainer: HTMLElement;
......@@ -129,9 +131,11 @@ export class CommentsPanel extends Panel {
}
private createTree(): void {
this.tree = this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, {
this.labels = this._register(this.instantiationService.createInstance(ResourceLabels));
this.tree = this._register(this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, {
dataSource: new CommentsDataSource(),
renderer: new CommentsModelRenderer(this.instantiationService, this.openerService),
renderer: new CommentsModelRenderer(this.labels, this.openerService),
accessibilityProvider: new DefaultAccessibilityProvider,
controller: new DefaultController(),
dnd: new DefaultDragAndDrop(),
......@@ -139,7 +143,7 @@ export class CommentsPanel extends Panel {
}, {
twistiePixels: 20,
ariaLabel: COMMENTS_PANEL_TITLE
});
}));
const commentsNavigator = this._register(new TreeResourceNavigator(this.tree, { openOnFocus: true }));
this._register(Event.debounce(commentsNavigator.openResource, (last, event) => event, 100, true)(options => {
......
......@@ -10,9 +10,8 @@ import { onUnexpectedError } from 'vs/base/common/errors';
import { Disposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri';
import { IDataSource, IFilter, IRenderer as ITreeRenderer, ITree } from 'vs/base/parts/tree/browser/tree';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { FileLabel } from 'vs/workbench/browser/labels';
import { IResourceLabelHandle, ResourceLabels } from 'vs/workbench/browser/labels';
import { CommentNode, CommentsModel, ResourceWithCommentThreads } from 'vs/workbench/parts/comments/common/commentModel';
export class CommentsDataSource implements IDataSource {
......@@ -56,7 +55,7 @@ export class CommentsDataSource implements IDataSource {
}
interface IResourceTemplateData {
resourceLabel: FileLabel;
resourceLabel: IResourceLabelHandle;
}
interface ICommentThreadTemplateData {
......@@ -70,9 +69,8 @@ export class CommentsModelRenderer implements ITreeRenderer {
private static RESOURCE_ID = 'resource-with-comments';
private static COMMENT_ID = 'comment-node';
constructor(
@IInstantiationService private instantiationService: IInstantiationService,
private labels: ResourceLabels,
@IOpenerService private openerService: IOpenerService
) {
}
......@@ -124,7 +122,7 @@ export class CommentsModelRenderer implements ITreeRenderer {
private renderResourceTemplate(container: HTMLElement): IResourceTemplateData {
const data = <IResourceTemplateData>Object.create(null);
const labelContainer = dom.append(container, dom.$('.resource-container'));
data.resourceLabel = this.instantiationService.createInstance(FileLabel, labelContainer, {});
data.resourceLabel = this.labels.create(labelContainer);
return data;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册