From 3b9f1598091936073f4a8d243f414c53797f31eb Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 1 Dec 2016 16:01:33 +0100 Subject: [PATCH] fix dragging of unpinned viewlet --- .../browser/parts/activitybar/activitybarPart.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts index bb728ec49d5..48621649d71 100644 --- a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +++ b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts @@ -354,7 +354,7 @@ export class ActivitybarPart extends Part implements IActivityBarService { return this.pinnedViewlets.indexOf(viewletId) >= 0; } - public pin(viewletId: string): void { + public pin(viewletId: string, update = true): void { if (this.isPinned(viewletId)) { return; } @@ -366,11 +366,19 @@ export class ActivitybarPart extends Part implements IActivityBarService { this.pinnedViewlets.push(viewletId); this.pinnedViewlets = arrays.distinct(this.pinnedViewlets); - this.updateViewletSwitcher(); + if (update) { + this.updateViewletSwitcher(); + } }); } public move(viewletId: string, toViewletId: string): void { + + // Make sure a moved viewlet gets pinned + if (!this.isPinned(viewletId)) { + this.pin(viewletId, false /* defer update, we take care of it */); + } + const fromIndex = this.pinnedViewlets.indexOf(viewletId); const toIndex = this.pinnedViewlets.indexOf(toViewletId); -- GitLab