提交 e1b9a2fe 编写于 作者: I isidor

simplify explorer title setting

上级 5c85e348
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
'use strict'; 'use strict';
import 'vs/css!./media/explorerviewlet'; import 'vs/css!./media/explorerviewlet';
import nls = require('vs/nls');
import { IActionRunner } from 'vs/base/common/actions'; import { IActionRunner } from 'vs/base/common/actions';
import { TPromise } from 'vs/base/common/winjs.base'; import { TPromise } from 'vs/base/common/winjs.base';
import * as DOM from 'vs/base/browser/dom'; import * as DOM from 'vs/base/browser/dom';
...@@ -64,7 +63,7 @@ export class ExplorerViewlet extends ComposedViewsViewlet { ...@@ -64,7 +63,7 @@ export class ExplorerViewlet extends ComposedViewsViewlet {
this.registerViews(); this.registerViews();
this.onConfigurationUpdated(); this.onConfigurationUpdated();
this._register(this.configurationService.onDidUpdateConfiguration(e => this.onConfigurationUpdated())); this._register(this.configurationService.onDidUpdateConfiguration(e => this.onConfigurationUpdated()));
this._register(this.contextService.onDidChangeWorkspaceRoots(e => this.onWorkspaceRootsChanged())); this._register(this.contextService.onDidChangeWorkspaceRoots(e => this.updateTitleArea()));
} }
public create(parent: Builder): TPromise<void> { public create(parent: Builder): TPromise<void> {
...@@ -109,7 +108,7 @@ export class ExplorerViewlet extends ComposedViewsViewlet { ...@@ -109,7 +108,7 @@ export class ExplorerViewlet extends ComposedViewsViewlet {
private createExplorerViewDescriptor(): IViewDescriptor { private createExplorerViewDescriptor(): IViewDescriptor {
return { return {
id: ExplorerView.ID, id: ExplorerView.ID,
name: this.getExplorerCaption(), name: this.contextService.getWorkspace2().name,
location: ViewLocation.Explorer, location: ViewLocation.Explorer,
ctor: ExplorerView, ctor: ExplorerView,
order: 1 order: 1
...@@ -120,19 +119,6 @@ export class ExplorerViewlet extends ComposedViewsViewlet { ...@@ -120,19 +119,6 @@ export class ExplorerViewlet extends ComposedViewsViewlet {
this.openEditorsVisibleContextKey.set(!this.contextService.hasWorkspace() || (<IFilesConfiguration>this.configurationService.getConfiguration()).explorer.openEditors.visible !== 0); this.openEditorsVisibleContextKey.set(!this.contextService.hasWorkspace() || (<IFilesConfiguration>this.configurationService.getConfiguration()).explorer.openEditors.visible !== 0);
} }
private onWorkspaceRootsChanged(): void {
if (this.views.length > 0) {
const name = this.getExplorerCaption();
this.views.filter(v => v.id === ExplorerView.ID).forEach(v => v.name = name);
this.updateTitleArea();
}
}
private getExplorerCaption(): string {
const workspace = this.contextService.getWorkspace2();
return workspace.roots.length === 1 ? workspace.name : nls.localize('folders', "Folders");
}
protected createView(viewDescriptor: IViewDescriptor, options: IViewletViewOptions): IView { protected createView(viewDescriptor: IViewDescriptor, options: IViewletViewOptions): IView {
if (viewDescriptor.id === ExplorerView.ID) { if (viewDescriptor.id === ExplorerView.ID) {
// Create a delegating editor service for the explorer to be able to delay the refresh in the opened // Create a delegating editor service for the explorer to be able to delay the refresh in the opened
......
...@@ -134,7 +134,7 @@ export class ExplorerView extends CollapsibleView { ...@@ -134,7 +134,7 @@ export class ExplorerView extends CollapsibleView {
const setHeader = () => { const setHeader = () => {
const workspace = this.contextService.getWorkspace2(); const workspace = this.contextService.getWorkspace2();
const title = workspace.roots.map(root => labels.getPathLabel(root.fsPath, void 0, this.environmentService)).join(); const title = workspace.roots.map(root => labels.getPathLabel(root.fsPath, void 0, this.environmentService)).join();
titleSpan.text(workspace.roots.length === 1 ? workspace.name : nls.localize('folders', "Folders")).title(title); titleSpan.text(this.name).title(title);
}; };
this.toDispose.push(this.contextService.onDidChangeWorkspaceRoots(() => setHeader())); this.toDispose.push(this.contextService.onDidChangeWorkspaceRoots(() => setHeader()));
setHeader(); setHeader();
...@@ -142,6 +142,15 @@ export class ExplorerView extends CollapsibleView { ...@@ -142,6 +142,15 @@ export class ExplorerView extends CollapsibleView {
super.renderHeader(container); super.renderHeader(container);
} }
public get name(): string {
const workspace = this.contextService.getWorkspace2();
return workspace.roots.length === 1 ? workspace.name : nls.localize('folders', "Folders");
}
public set name(value) {
// noop
}
public renderBody(container: HTMLElement): void { public renderBody(container: HTMLElement): void {
this.treeContainer = super.renderViewTree(container); this.treeContainer = super.renderViewTree(container);
DOM.addClass(this.treeContainer, 'explorer-folders-view'); DOM.addClass(this.treeContainer, 'explorer-folders-view');
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册