move query actions from underneath scrollbar, permanently show scrollbar (#3007)

This commit is contained in:
Anthony Dresser
2018-10-29 15:23:55 -07:00
committed by GitHub
parent 98d06b2892
commit 2c0d6b93ee
2 changed files with 6 additions and 3 deletions

View File

@@ -17,11 +17,13 @@ import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElemen
import { HeightMap, IView as HeightIView, IViewItem as HeightIViewItem } from './heightMap'; import { HeightMap, IView as HeightIView, IViewItem as HeightIViewItem } from './heightMap';
import { ArrayIterator } from 'vs/base/common/iterator'; import { ArrayIterator } from 'vs/base/common/iterator';
import { mixin } from 'vs/base/common/objects'; import { mixin } from 'vs/base/common/objects';
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
export { Orientation } from 'vs/base/browser/ui/sash/sash'; export { Orientation } from 'vs/base/browser/ui/sash/sash';
export interface ISplitViewOptions { export interface ISplitViewOptions {
orientation?: Orientation; // default Orientation.VERTICAL orientation?: Orientation; // default Orientation.VERTICAL
enableResizing?: boolean; enableResizing?: boolean;
verticalScrollbarVisibility?: ScrollbarVisibility;
} }
const defaultOptions: ISplitViewOptions = { const defaultOptions: ISplitViewOptions = {
@@ -127,7 +129,7 @@ export class ScrollableSplitView extends HeightMap implements IDisposable {
this.options = mixin(options, defaultOptions, false); this.options = mixin(options, defaultOptions, false);
this.el = document.createElement('div'); this.el = document.createElement('div');
this.scrollable = new ScrollableElement(this.el, {}); this.scrollable = new ScrollableElement(this.el, { vertical: options.verticalScrollbarVisibility });
debounceEvent(this.scrollable.onScroll, (l, e) => e, 25)(e => { debounceEvent(this.scrollable.onScroll, (l, e) => e, 25)(e => {
this.render(e.scrollTop, e.height); this.render(e.scrollTop, e.height);
this.relayout(); this.relayout();

View File

@@ -42,13 +42,14 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IAction } from 'vs/base/common/actions'; import { IAction } from 'vs/base/common/actions';
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
const ROW_HEIGHT = 29; const ROW_HEIGHT = 29;
const HEADER_HEIGHT = 26; const HEADER_HEIGHT = 26;
const MIN_GRID_HEIGHT_ROWS = 8; const MIN_GRID_HEIGHT_ROWS = 8;
const ESTIMATED_SCROLL_BAR_HEIGHT = 10; const ESTIMATED_SCROLL_BAR_HEIGHT = 10;
const BOTTOM_PADDING = 15; const BOTTOM_PADDING = 15;
const ACTIONBAR_WIDTH = 26; const ACTIONBAR_WIDTH = 36;
// minimum height needed to show the full actionbar // minimum height needed to show the full actionbar
const ACTIONBAR_HEIGHT = 100; const ACTIONBAR_HEIGHT = 100;
@@ -134,7 +135,7 @@ export class GridPanel extends ViewletPanel {
@IInstantiationService private instantiationService: IInstantiationService @IInstantiationService private instantiationService: IInstantiationService
) { ) {
super(options, keybindingService, contextMenuService, configurationService); super(options, keybindingService, contextMenuService, configurationService);
this.splitView = new ScrollableSplitView(this.container, { enableResizing: false }); this.splitView = new ScrollableSplitView(this.container, { enableResizing: false, verticalScrollbarVisibility: ScrollbarVisibility.Visible });
this.splitView.onScroll(e => { this.splitView.onScroll(e => {
if (this.state) { if (this.state) {
this.state.scrollPosition = e; this.state.scrollPosition = e;