From e734a013db5a47b03b4c0ee14c7daa5598b5e2ba Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Wed, 9 May 2018 12:47:30 +0200 Subject: [PATCH] Composite bar: Save state on change and do not save on shutdown --- .../parts/activitybar/activitybarPart.ts | 1 - .../browser/parts/compositebar/compositeBar.ts | 17 ++++------------- .../workbench/browser/parts/panel/panelPart.ts | 5 ----- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index 300830a13ff..338c2a65dee 100644 --- a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -326,7 +326,6 @@ export class ActivitybarPart extends Part { public shutdown(): void { const state = this.viewletService.getViewlets().filter(viewlet => this.hasRegisteredViews(viewlet)).map(viewlet => ({ id: viewlet.id, iconUrl: viewlet.iconUrl })); this.storageService.store(ActivitybarPart.PLACEHOLDER_VIEWLETS, JSON.stringify(state), StorageScope.GLOBAL); - this.compositeBar.shutdown(); super.shutdown(); } diff --git a/src/vs/workbench/browser/parts/compositebar/compositeBar.ts b/src/vs/workbench/browser/parts/compositebar/compositeBar.ts index 23213cd2c12..57176fe9b29 100644 --- a/src/vs/workbench/browser/parts/compositebar/compositeBar.ts +++ b/src/vs/workbench/browser/parts/compositebar/compositeBar.ts @@ -196,8 +196,6 @@ export class CompositeBar extends Widget implements ICompositeBar { public pin(compositeId: string, open?: boolean): void { if (this.model.setPinned(compositeId, true)) { this.updateCompositeSwitcher(); - // Persist - this.saveCompositeItems(); if (open) { this.options.openComposite(compositeId) @@ -210,8 +208,6 @@ export class CompositeBar extends Widget implements ICompositeBar { if (this.model.setPinned(compositeId, false)) { this.updateCompositeSwitcher(); - // Persist - this.saveCompositeItems(); const defaultCompositeId = this.options.getDefaultCompositeId(); @@ -254,11 +250,7 @@ export class CompositeBar extends Widget implements ICompositeBar { public move(compositeId: string, toCompositeId: string): void { if (this.model.move(compositeId, toCompositeId)) { // timeout helps to prevent artifacts from showing up - setTimeout(() => { - this.updateCompositeSwitcher(); - // Persist - this.saveCompositeItems(); - }, 0); + setTimeout(() => this.updateCompositeSwitcher(), 0); } } @@ -399,6 +391,9 @@ export class CompositeBar extends Widget implements ICompositeBar { this.compositeSwitcherBar.push(this.compositeOverflowAction, { label: false, icon: true }); } + + // Persist + this.saveCompositeItems(); } private getOverflowingComposites(): { id: string, name: string }[] { @@ -452,10 +447,6 @@ export class CompositeBar extends Widget implements ICompositeBar { this.storedState = this.model.toJSON(); this.storageService.store(this.options.storageId, JSON.stringify(this.storedState), StorageScope.GLOBAL); } - - public shutdown(): void { - this.saveCompositeItems(); - } } interface ISerializedCompositeBarItem { diff --git a/src/vs/workbench/browser/parts/panel/panelPart.ts b/src/vs/workbench/browser/parts/panel/panelPart.ts index 21552f02b5e..c22eec7af83 100644 --- a/src/vs/workbench/browser/parts/panel/panelPart.ts +++ b/src/vs/workbench/browser/parts/panel/panelPart.ts @@ -237,11 +237,6 @@ export class PanelPart extends CompositePart implements IPanelService { return sizes; } - public shutdown(): void { - this.compositeBar.shutdown(); - super.shutdown(); - } - private layoutCompositeBar(): void { if (this.dimension) { let availableWidth = this.dimension.width - 40; // take padding into account -- GitLab