Skip to content

Commit

Permalink
💄
Browse files Browse the repository at this point in the history
  • Loading branch information
sandy081 committed Apr 21, 2020
1 parent 4a7dc99 commit 66efeeb
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 32 deletions.
12 changes: 6 additions & 6 deletions src/vs/workbench/browser/parts/activitybar/activitybarPart.ts
Expand Up @@ -478,11 +478,11 @@ export class ActivitybarPart extends Part implements IActivityBarService {
for (const viewlet of viewlets) {
const viewContainer = this.getViewContainer(viewlet.id)!;
const viewContainerModel = this.viewDescriptorService.getViewContainerModel(viewContainer);
this.updateActivity(viewlet, viewContainerModel);
this.updateActivity(viewContainer, viewContainerModel);
this.onDidChangeActiveViews(viewContainer, viewContainerModel);

const disposables = new DisposableStore();
disposables.add(viewContainerModel.onDidChangeContainerInfo(() => this.updateActivity(viewlet, viewContainerModel)));
disposables.add(viewContainerModel.onDidChangeContainerInfo(() => this.updateActivity(viewContainer, viewContainerModel)));
disposables.add(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.onDidChangeActiveViews(viewContainer, viewContainerModel)));

this.viewletDisposables.set(viewlet.id, disposables);
Expand All @@ -499,17 +499,17 @@ export class ActivitybarPart extends Part implements IActivityBarService {
this.hideComposite(viewletId);
}

private updateActivity(viewlet: ViewletDescriptor, viewContainerModel: IViewContainerModel): void {
private updateActivity(viewContainer: ViewContainer, viewContainerModel: IViewContainerModel): void {

const activity: IActivity = {
id: viewlet.id,
id: viewContainer.id,
name: viewContainerModel.title,
iconUrl: URI.isUri(viewContainerModel.icon) ? viewContainerModel.icon : undefined,
cssClass: isString(viewContainerModel.icon) ? viewContainerModel.icon : undefined,
keybindingId: viewlet.keybindingId
keybindingId: viewContainer.focusCommand?.id || viewContainer.id
};

const { activityAction, pinnedAction } = this.getCompositeActions(viewlet.id);
const { activityAction, pinnedAction } = this.getCompositeActions(viewContainer.id);
activityAction.setActivity(activity);

if (pinnedAction instanceof PlaceHolderToggleCompositePinnedAction) {
Expand Down
40 changes: 14 additions & 26 deletions src/vs/workbench/browser/parts/panel/panelPart.ts
Expand Up @@ -209,14 +209,14 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
}

for (const panel of panels) {
this.enableCompositeActions(panel);
const viewContainer = this.getViewContainer(panel.id)!;
const viewContainerModel = this.viewDescriptorService.getViewContainerModel(viewContainer);
this.onDidChangeActiveViews(panel, viewContainerModel, viewContainer.hideIfEmpty);
this.updateActivity(viewContainer, viewContainerModel);
this.onDidChangeActiveViews(viewContainer, viewContainerModel);

const disposables = new DisposableStore();
disposables.add(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.onDidChangeActiveViews(panel, viewContainerModel, viewContainer.hideIfEmpty)));
disposables.add(viewContainerModel.onDidChangeContainerInfo(() => this.onDidUpdateViews(panel, viewContainerModel)));
disposables.add(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.onDidChangeActiveViews(viewContainer, viewContainerModel)));
disposables.add(viewContainerModel.onDidChangeContainerInfo(() => this.updateActivity(viewContainer, viewContainerModel)));

this.panelDisposables.set(panel.id, disposables);
}
Expand All @@ -232,40 +232,28 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
this.hideComposite(panelId);
}

private enableCompositeActions(panel: PanelDescriptor): void {
const { activityAction, pinnedAction } = this.getCompositeActions(panel.id);
activityAction.setActivity(panel);

if (pinnedAction instanceof PlaceHolderToggleCompositePinnedAction) {
pinnedAction.setActivity(panel);
}
}

private updateActivity(panel: PanelDescriptor, viewContainerModel: IViewContainerModel): void {
private updateActivity(viewContainer: ViewContainer, viewContainerModel: IViewContainerModel): void {
const activity: IActivity = {
id: panel.id,
id: viewContainer.id,
name: viewContainerModel.title,
keybindingId: panel.keybindingId
keybindingId: viewContainer.focusCommand?.id
};

const { activityAction, pinnedAction } = this.getCompositeActions(panel.id);
const { activityAction, pinnedAction } = this.getCompositeActions(viewContainer.id);
activityAction.setActivity(activity);

if (pinnedAction instanceof PlaceHolderToggleCompositePinnedAction) {
pinnedAction.setActivity(activity);
}
}

private onDidUpdateViews(panel: PanelDescriptor, viewDescriptors: IViewContainerModel): void {
this.updateActivity(panel, viewDescriptors);
this.saveCachedPanels();
}

private onDidChangeActiveViews(panel: PanelDescriptor, viewDescriptors: IViewContainerModel, hideIfEmpty?: boolean): void {
if (viewDescriptors.activeViewDescriptors.length) {
this.updateActivity(panel, viewDescriptors);
this.compositeBar.addComposite(panel);
} else if (hideIfEmpty) {
this.hideComposite(panel.id);
private onDidChangeActiveViews(viewContainer: ViewContainer, viewContainerModel: IViewContainerModel): void {
if (viewContainerModel.activeViewDescriptors.length) {
this.compositeBar.addComposite(viewContainer);
} else if (viewContainer.hideIfEmpty) {
this.hideComposite(viewContainer.id);
}
}

Expand Down

0 comments on commit 66efeeb

Please sign in to comment.