提交 8f69bfe9 编写于 作者: I isidor

parts: do not layout if not visible

fixes #39185
上级 6e618bd7
......@@ -18,7 +18,7 @@ import { Part } from 'vs/workbench/browser/part';
import { GlobalActivityActionItem, GlobalActivityAction, ViewletActivityAction, ToggleViewletAction } from 'vs/workbench/browser/parts/activitybar/activitybarActions';
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { IBadge } from 'vs/workbench/services/activity/common/activity';
import { IPartService, Position as SideBarPosition } from 'vs/workbench/services/part/common/partService';
import { IPartService, Parts, Position as SideBarPosition } from 'vs/workbench/services/part/common/partService';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
......@@ -184,6 +184,9 @@ export class ActivitybarPart extends Part {
* Layout title, content and status area in the given dimension.
*/
public layout(dimension: Dimension): Dimension[] {
if (!this.partService.isVisible(Parts.ACTIVITYBAR_PART)) {
return [dimension];
}
// Pass to super
const sizes = super.layout(dimension);
......
......@@ -213,6 +213,9 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
}
public layout(dimension: Dimension): Dimension[] {
if (!this.partService.isVisible(Parts.PANEL_PART)) {
return [dimension];
}
if (this.partService.getPanelPosition() === Position.RIGHT) {
// Take into account the 1px border when layouting
......
......@@ -29,6 +29,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
import { contrastBorder } from 'vs/platform/theme/common/colorRegistry';
import { SIDE_BAR_TITLE_FOREGROUND, SIDE_BAR_BACKGROUND, SIDE_BAR_FOREGROUND, SIDE_BAR_BORDER } from 'vs/workbench/common/theme';
import { ToggleSidebarVisibilityAction } from 'vs/workbench/browser/actions/toggleSidebarVisibility';
import { Dimension } from 'vs/base/browser/builder';
export class SidebarPart extends CompositePart<Viewlet> {
......@@ -128,6 +129,14 @@ export class SidebarPart extends CompositePart<Viewlet> {
return this.hideActiveComposite().then(composite => void 0);
}
public layout(dimension: Dimension): Dimension[] {
if (!this.partService.isVisible(Parts.SIDEBAR_PART)) {
return [dimension];
}
return super.layout(dimension);
}
protected getTitleAreaContextMenuActions(): IAction[] {
const contextMenuActions = super.getTitleAreaContextMenuActions();
if (contextMenuActions.length) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册