diff --git a/src/vs/workbench/parts/files/electron-browser/explorerService.ts b/src/vs/workbench/parts/files/electron-browser/explorerService.ts index 69fa9cf4aeee16596ac119f8aaaa6522acccae14..010305f551fceda7f45418759fe9f3fd6681c31e 100644 --- a/src/vs/workbench/parts/files/electron-browser/explorerService.ts +++ b/src/vs/workbench/parts/files/electron-browser/explorerService.ts @@ -84,6 +84,8 @@ export class ExplorerService implements IExplorerService { return model; } + // IExplorerService methods + findClosest(resource: URI): ExplorerItem { return this.model.findClosest(resource); } @@ -121,14 +123,6 @@ export class ExplorerService implements IExplorerService { }, e => { this.notificationService.error(e); }); } - private onConfigurationUpdated(configuration: IFilesConfiguration, event?: IConfigurationChangeEvent): void { - const configSortOrder = configuration && configuration.explorer && configuration.explorer.sortOrder || 'default'; - if (this.sortOrder !== configSortOrder) { - this.sortOrder = configSortOrder; - this.roots.forEach(r => this._onDidChangeItem.fire(r)); - } - } - // File events private onFileOperation(e: FileOperationEvent): void { @@ -297,6 +291,14 @@ export class ExplorerService implements IExplorerService { })); } + private onConfigurationUpdated(configuration: IFilesConfiguration, event?: IConfigurationChangeEvent): void { + const configSortOrder = configuration && configuration.explorer && configuration.explorer.sortOrder || 'default'; + if (this.sortOrder !== configSortOrder) { + this.sortOrder = configSortOrder; + this.roots.forEach(r => this._onDidChangeItem.fire(r)); + } + } + dispose(): void { dispose(this.disposables); } diff --git a/src/vs/workbench/parts/files/electron-browser/views/explorerView.ts b/src/vs/workbench/parts/files/electron-browser/views/explorerView.ts index 1e29f06b1aa513eff218bdde620df3024f73baa5..9fb1f7a9dfa04f0e7f0bad6f6c82718801304f33 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/explorerView.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/explorerView.ts @@ -198,18 +198,6 @@ export class ExplorerView extends ViewletPanel { } } - private getActiveFile(): URI { - const input = this.editorService.activeEditor; - - // ignore diff editor inputs (helps to get out of diffing when returning to explorer) - if (input instanceof DiffEditorInput) { - return undefined; - } - - // check for files - return toResource(input, { supportSideBySide: true }); - } - private createTree(container: HTMLElement): void { this.filter = this.instantiationService.createInstance(FilesFilter); this.disposables.push(this.filter); @@ -276,13 +264,6 @@ export class ExplorerView extends ViewletPanel { this.disposables.push(this.tree.onContextMenu(e => this.onContextMenu(e))); } - getOptimalWidth(): number { - const parentNode = this.tree.getHTMLElement(); - const childNodes = ([] as HTMLElement[]).slice.call(parentNode.querySelectorAll('.explorer-item .label-name')); // select all file labels - - return DOM.getLargestChildWidth(parentNode, childNodes); - } - // React on events private onConfigurationUpdated(configuration: IFilesConfiguration, event?: IConfigurationChangeEvent): void { @@ -357,6 +338,13 @@ export class ExplorerView extends ViewletPanel { return this.tree.refresh(toRefresh, true); } + getOptimalWidth(): number { + const parentNode = this.tree.getHTMLElement(); + const childNodes = ([] as HTMLElement[]).slice.call(parentNode.querySelectorAll('.explorer-item .label-name')); // select all file labels + + return DOM.getLargestChildWidth(parentNode, childNodes); + } + private setTreeInput(newRoots?: IWorkspaceFolder[]): Promise { if (!this.isVisible()) { this.shouldRefresh = true; @@ -392,6 +380,18 @@ export class ExplorerView extends ViewletPanel { return promise; } + private getActiveFile(): URI { + const input = this.editorService.activeEditor; + + // ignore diff editor inputs (helps to get out of diffing when returning to explorer) + if (input instanceof DiffEditorInput) { + return undefined; + } + + // check for files + return toResource(input, { supportSideBySide: true }); + } + private onSelectItem(fileStat: ExplorerItem, reveal = this.autoReveal): Promise { if (!fileStat || !this.isVisible()) { return Promise.resolve(void 0); diff --git a/src/vs/workbench/parts/files/test/electron-browser/explorerModel.test.ts b/src/vs/workbench/parts/files/test/electron-browser/explorerModel.test.ts index 5e06f2fbe26d79ca012b30f8c3b91e6ca0b3d9e3..a6dd98de1bfc05260dec7e2ba9079f4fe017352a 100644 --- a/src/vs/workbench/parts/files/test/electron-browser/explorerModel.test.ts +++ b/src/vs/workbench/parts/files/test/electron-browser/explorerModel.test.ts @@ -20,7 +20,6 @@ function toResource(path) { } else { return URI.file(join('/home/john', path)); } - } suite('Files - View Model', () => {