mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from vscode fb5dc0083bfa9a0e3da7ed1f86e1ecb9836fcc8b
This commit is contained in:
@@ -55,7 +55,7 @@ export class CloseSidebarAction extends Action {
|
||||
}
|
||||
}
|
||||
|
||||
registry.registerWorkbenchAction(SyncActionDescriptor.create(CloseSidebarAction, CloseSidebarAction.ID, CloseSidebarAction.LABEL), 'View: Close Side Bar ', viewCategory);
|
||||
registry.registerWorkbenchAction(SyncActionDescriptor.create(CloseSidebarAction, CloseSidebarAction.ID, CloseSidebarAction.LABEL), 'View: Close Side Bar', viewCategory);
|
||||
|
||||
// --- Toggle Activity Bar
|
||||
|
||||
@@ -237,7 +237,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarAppearanceMenu, {
|
||||
|
||||
export class ToggleEditorVisibilityAction extends Action {
|
||||
static readonly ID = 'workbench.action.toggleEditorVisibility';
|
||||
static readonly LABEL = nls.localize('toggleEditor', "Toggle Editor Area");
|
||||
static readonly LABEL = nls.localize('toggleEditor', "Toggle Editor Area Visibility");
|
||||
|
||||
constructor(
|
||||
id: string,
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.monaco-workbench .sidebar > .content {
|
||||
/* Removed to allow progress bar positioning to escape */
|
||||
/* .monaco-workbench .sidebar > .content {
|
||||
overflow: hidden;
|
||||
}
|
||||
} */
|
||||
|
||||
.monaco-workbench.nosidebar > .part.sidebar {
|
||||
display: none !important;
|
||||
|
||||
@@ -28,10 +28,14 @@
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
.monaco-pane-view .pane > .pane-header .monaco-progress-container {
|
||||
.monaco-pane-view .pane .monaco-progress-container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
top: -2px;
|
||||
z-index: 5;
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.monaco-pane-view .pane:not(.merged-header) .monaco-progress-container {
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
@@ -225,6 +225,15 @@ export abstract class ViewPane extends Pane implements IView {
|
||||
this.viewWelcomeController = new ViewWelcomeController(this.id, contextKeyService);
|
||||
}
|
||||
|
||||
get headerVisible(): boolean {
|
||||
return super.headerVisible;
|
||||
}
|
||||
|
||||
set headerVisible(visible: boolean) {
|
||||
super.headerVisible = visible;
|
||||
toggleClass(this.element, 'merged-header', !visible);
|
||||
}
|
||||
|
||||
setVisible(visible: boolean): void {
|
||||
if (this._isVisible !== visible) {
|
||||
this._isVisible = visible;
|
||||
@@ -294,13 +303,6 @@ export abstract class ViewPane extends Pane implements IView {
|
||||
const onDidRelevantConfigurationChange = Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration(ViewPane.AlwaysShowActionsConfig));
|
||||
this._register(onDidRelevantConfigurationChange(this.updateActionsVisibility, this));
|
||||
this.updateActionsVisibility();
|
||||
|
||||
if (this.progressBar !== undefined) {
|
||||
// Progress bar
|
||||
this.progressBar = this._register(new ProgressBar(this.headerContainer));
|
||||
this._register(attachProgressBarStyler(this.progressBar, this.themeService));
|
||||
this.progressBar.hide();
|
||||
}
|
||||
}
|
||||
|
||||
protected renderTwisties(container: HTMLElement): void {
|
||||
@@ -333,13 +335,9 @@ export abstract class ViewPane extends Pane implements IView {
|
||||
}
|
||||
|
||||
getProgressIndicator() {
|
||||
if (!this.headerContainer) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (this.progressBar === undefined) {
|
||||
// Progress bar
|
||||
this.progressBar = this._register(new ProgressBar(this.headerContainer));
|
||||
this.progressBar = this._register(new ProgressBar(this.element));
|
||||
this._register(attachProgressBarStyler(this.progressBar, this.themeService));
|
||||
this.progressBar.hide();
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import { WorkspaceService } from 'vs/workbench/services/configuration/browser/co
|
||||
import { ConfigurationCache } from 'vs/workbench/services/configuration/browser/configurationCache';
|
||||
import { ISignService } from 'vs/platform/sign/common/sign';
|
||||
import { SignService } from 'vs/platform/sign/browser/signService';
|
||||
import { hash } from 'vs/base/common/hash';
|
||||
import { IWorkbenchConstructionOptions, IWorkspace } from 'vs/workbench/workbench.web.api';
|
||||
import { FileUserDataProvider } from 'vs/workbench/services/userData/common/fileUserDataProvider';
|
||||
import { BACKUPS } from 'vs/platform/environment/common/environment';
|
||||
@@ -51,6 +50,7 @@ import { isWorkspaceToOpen, isFolderToOpen } from 'vs/platform/windows/common/wi
|
||||
import { getWorkspaceIdentifier } from 'vs/workbench/services/workspaces/browser/workspaces';
|
||||
import { coalesce } from 'vs/base/common/arrays';
|
||||
import { InMemoryFileSystemProvider } from 'vs/platform/files/common/inMemoryFilesystemProvider';
|
||||
import { WebResourceIdentityService, IResourceIdentityService } from 'vs/platform/resource/common/resourceIdentityService';
|
||||
|
||||
class BrowserMain extends Disposable {
|
||||
|
||||
@@ -157,7 +157,11 @@ class BrowserMain extends Disposable {
|
||||
const logService = new BufferLogService(this.configuration.logLevel);
|
||||
serviceCollection.set(ILogService, logService);
|
||||
|
||||
const payload = this.resolveWorkspaceInitializationPayload();
|
||||
// Resource Identity
|
||||
const resourceIdentityService = this._register(new WebResourceIdentityService());
|
||||
serviceCollection.set(IResourceIdentityService, resourceIdentityService);
|
||||
|
||||
const payload = await this.resolveWorkspaceInitializationPayload(resourceIdentityService);
|
||||
|
||||
// Environment
|
||||
const environmentService = new BrowserWorkbenchEnvironmentService({ workspaceId: payload.id, logsPath, ...this.configuration });
|
||||
@@ -292,7 +296,7 @@ class BrowserMain extends Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
private resolveWorkspaceInitializationPayload(): IWorkspaceInitializationPayload {
|
||||
private async resolveWorkspaceInitializationPayload(resourceIdentityService: IResourceIdentityService): Promise<IWorkspaceInitializationPayload> {
|
||||
let workspace: IWorkspace | undefined = undefined;
|
||||
if (this.configuration.workspaceProvider) {
|
||||
workspace = this.configuration.workspaceProvider.workspace;
|
||||
@@ -305,7 +309,8 @@ class BrowserMain extends Disposable {
|
||||
|
||||
// Single-folder workspace
|
||||
if (workspace && isFolderToOpen(workspace)) {
|
||||
return { id: hash(workspace.folderUri.toString()).toString(16), folder: workspace.folderUri };
|
||||
const id = await resourceIdentityService.resolveResourceIdentity(workspace.folderUri);
|
||||
return { id, folder: workspace.folderUri };
|
||||
}
|
||||
|
||||
return { id: 'empty-window' };
|
||||
|
||||
@@ -335,6 +335,7 @@ export class Workbench extends Layout {
|
||||
|
||||
addClasses(this.container, ...workbenchClasses);
|
||||
addClass(document.body, platformClass); // used by our fonts
|
||||
this.container.setAttribute('role', 'application');
|
||||
|
||||
if (isWeb) {
|
||||
addClass(document.body, 'web');
|
||||
|
||||
Reference in New Issue
Block a user