Compare commits

...

3 Commits

Author SHA1 Message Date
Karl Burtram
b73b09a1d3 Bump SQL Ops version to 0.23.3 for next release candidate build (#479) 2018-01-11 17:21:53 -08:00
Cory Rivera
a69a9778a6 Fix update package download paths (#476)
* Change update package download path to use sqlops naming.

* Add SqlEdit comments above download path changes.
2018-01-11 17:19:40 -08:00
Matt Irvine
6d3995aa29 Enable hot exit for saved files (#469) 2018-01-11 14:29:26 -08:00
9 changed files with 35 additions and 30 deletions

2
npm-shrinkwrap.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "sqlops", "name": "sqlops",
"version": "0.25.2", "version": "0.25.3",
"dependencies": { "dependencies": {
"@angular/animations": { "@angular/animations": {
"version": "4.1.3", "version": "4.1.3",

View File

@@ -1,6 +1,6 @@
{ {
"name": "sqlops", "name": "sqlops",
"version": "0.25.2", "version": "0.25.3",
"electronVersion": "1.7.9", "electronVersion": "1.7.9",
"distro": "8c3e97e3425cc9814496472ab73e076de2ba99ee", "distro": "8c3e97e3425cc9814496472ab73e076de2ba99ee",
"author": { "author": {

View File

@@ -5,7 +5,6 @@
import { TPromise } from 'vs/base/common/winjs.base'; import { TPromise } from 'vs/base/common/winjs.base';
import { EditorInput, EditorModel } from 'vs/workbench/common/editor'; import { EditorInput, EditorModel } from 'vs/workbench/common/editor';
import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
import { IDisposable } from 'vs/base/common/lifecycle'; import { IDisposable } from 'vs/base/common/lifecycle';
import URI from 'vs/base/common/uri'; import URI from 'vs/base/common/uri';
import { IModelService } from 'vs/editor/common/services/modelService'; import { IModelService } from 'vs/editor/common/services/modelService';
@@ -70,7 +69,7 @@ export class DashboardInput extends EditorInput {
} }
public getTypeId(): string { public getTypeId(): string {
return UntitledEditorInput.ID; return DashboardInput.ID;
} }
public getResource(): URI { public getResource(): URI {

View File

@@ -116,7 +116,7 @@ export class QueryInput extends EditorInput implements IEncodingSupport, IConnec
public getQueryResultsInputResource(): string { return this._results.uri; } public getQueryResultsInputResource(): string { return this._results.uri; }
public showQueryResultsEditor(): void { this._showQueryResultsEditor.fire(); } public showQueryResultsEditor(): void { this._showQueryResultsEditor.fire(); }
public updateSelection(selection: ISelectionData): void { this._updateSelection.fire(selection); } public updateSelection(selection: ISelectionData): void { this._updateSelection.fire(selection); }
public getTypeId(): string { return UntitledEditorInput.ID; } public getTypeId(): string { return QueryInput.ID; }
public getDescription(): string { return this._description; } public getDescription(): string { return this._description; }
public supportsSplitEditor(): boolean { return false; } public supportsSplitEditor(): boolean { return false; }
public getModeId(): string { return QueryInput.SCHEMA; } public getModeId(): string { return QueryInput.SCHEMA; }

View File

@@ -41,7 +41,8 @@ export class Win32AutoUpdaterImpl extends EventEmitter implements IAutoUpdater {
} }
get cachePath(): TPromise<string> { get cachePath(): TPromise<string> {
const result = path.join(tmpdir(), `vscode-update-${process.arch}`); // {{SQL CARBON EDIT}}
const result = path.join(tmpdir(), `sqlops-update-${process.arch}`);
return new TPromise<string>((c, e) => mkdirp(result, null, err => err ? e(err) : c(result))); return new TPromise<string>((c, e) => mkdirp(result, null, err => err ? e(err) : c(result)));
} }
@@ -112,7 +113,8 @@ export class Win32AutoUpdaterImpl extends EventEmitter implements IAutoUpdater {
} }
private getUpdatePackagePath(version: string): TPromise<string> { private getUpdatePackagePath(version: string): TPromise<string> {
return this.cachePath.then(cachePath => path.join(cachePath, `CodeSetup-${product.quality}-${version}.exe`)); // {{SQL CARBON EDIT}}
return this.cachePath.then(cachePath => path.join(cachePath, `SqlOpsStudioSetup-${product.quality}-${version}.exe`));
} }
private cleanup(exceptVersion: string = null): Promise { private cleanup(exceptVersion: string = null): Promise {

View File

@@ -42,10 +42,6 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { isMacintosh } from 'vs/base/common/platform'; import { isMacintosh } from 'vs/base/common/platform';
import { GroupOnePicker, GroupTwoPicker, GroupThreePicker, AllEditorsPicker } from 'vs/workbench/browser/parts/editor/editorPicker'; import { GroupOnePicker, GroupTwoPicker, GroupThreePicker, AllEditorsPicker } from 'vs/workbench/browser/parts/editor/editorPicker';
// {{SQL CARBON EDIT}}
import { QueryResultsInput } from 'sql/parts/query/common/queryResultsInput';
import { QueryInput } from 'sql/parts/query/common/queryInput';
// Register String Editor // Register String Editor
Registry.as<IEditorRegistry>(EditorExtensions.Editors).registerEditor( Registry.as<IEditorRegistry>(EditorExtensions.Editors).registerEditor(
new EditorDescriptor( new EditorDescriptor(
@@ -136,23 +132,15 @@ class UntitledEditorInputFactory implements IEditorInputFactory {
return JSON.stringify(serialized); return JSON.stringify(serialized);
} }
// {{SQL CARBON EDIT}} public deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): UntitledEditorInput {
public deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): EditorInput { return instantiationService.invokeFunction<UntitledEditorInput>(accessor => {
return instantiationService.invokeFunction<EditorInput>(accessor => {
const deserialized: ISerializedUntitledEditorInput = JSON.parse(serializedEditorInput); const deserialized: ISerializedUntitledEditorInput = JSON.parse(serializedEditorInput);
const resource = !!deserialized.resourceJSON ? URI.revive(deserialized.resourceJSON) : URI.parse(deserialized.resource); const resource = !!deserialized.resourceJSON ? URI.revive(deserialized.resourceJSON) : URI.parse(deserialized.resource);
const filePath = resource.scheme === 'file' ? resource.fsPath : void 0; const filePath = resource.scheme === 'file' ? resource.fsPath : void 0;
const language = deserialized.modeId; const language = deserialized.modeId;
const encoding = deserialized.encoding; const encoding = deserialized.encoding;
// {{SQL CARBON EDIT}} return accessor.get(IWorkbenchEditorService).createInput({ resource, filePath, language, encoding }) as UntitledEditorInput;
let input = accessor.get(IWorkbenchEditorService).createInput({ resource, filePath, language, encoding }) as UntitledEditorInput;
if (deserialized.modeId === QueryInput.SCHEMA) {
const queryResultsInput: QueryResultsInput = instantiationService.createInstance(QueryResultsInput, resource.toString());
return instantiationService.createInstance(QueryInput, input.getName(), '', input, queryResultsInput, undefined);
} else {
return input;
}
}); });
} }
} }

View File

@@ -17,6 +17,10 @@ import { Registry } from 'vs/platform/registry/common/platform';
import { Position, Direction } from 'vs/platform/editor/common/editor'; import { Position, Direction } from 'vs/platform/editor/common/editor';
import { ResourceMap } from 'vs/base/common/map'; import { ResourceMap } from 'vs/base/common/map';
// {{SQL CARBON EDIT}}
import { QueryInput } from 'sql/parts/query/common/queryInput';
import * as CustomInputConverter from 'sql/parts/common/customInputConverter';
export interface EditorCloseEvent extends IEditorCloseEvent { export interface EditorCloseEvent extends IEditorCloseEvent {
editor: EditorInput; editor: EditorInput;
} }
@@ -643,7 +647,14 @@ export class EditorGroup implements IEditorGroup {
let serializableEditors: EditorInput[] = []; let serializableEditors: EditorInput[] = [];
let serializedEditors: ISerializedEditorInput[] = []; let serializedEditors: ISerializedEditorInput[] = [];
let serializablePreviewIndex: number; let serializablePreviewIndex: number;
this.editors.forEach(e => { // {{SQL CARBON EDIT}}
let editors = this.editors.map(e => {
if (e instanceof QueryInput) {
return e.sql;
}
return e;
});
editors.forEach(e => {
let factory = registry.getEditorInputFactory(e.getTypeId()); let factory = registry.getEditorInputFactory(e.getTypeId());
if (factory) { if (factory) {
let value = factory.serialize(e); let value = factory.serialize(e);
@@ -658,7 +669,14 @@ export class EditorGroup implements IEditorGroup {
} }
}); });
const serializableMru = this.mru.map(e => this.indexOf(e, serializableEditors)).filter(i => i >= 0); // {{SQL CARBON EDIT}}
let mru = this.mru.map(e => {
if (e instanceof QueryInput) {
return e.sql;
}
return e;
});
const serializableMru = mru.map(e => this.indexOf(e, serializableEditors)).filter(i => i >= 0);
return { return {
label: this.label, label: this.label,
@@ -680,7 +698,8 @@ export class EditorGroup implements IEditorGroup {
this.hookEditorListeners(editor); this.hookEditorListeners(editor);
this.updateResourceMap(editor, false /* add */); this.updateResourceMap(editor, false /* add */);
return editor; // {{SQL CARBON EDIT}}
return CustomInputConverter.convertEditorInput(editor, undefined, this.instantiationService);
} }
return null; return null;

View File

@@ -267,7 +267,7 @@ configurationRegistry.registerConfiguration({
'files.hotExit': { 'files.hotExit': {
'type': 'string', 'type': 'string',
'enum': [HotExitConfiguration.OFF, HotExitConfiguration.ON_EXIT, HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE], 'enum': [HotExitConfiguration.OFF, HotExitConfiguration.ON_EXIT, HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE],
'default': HotExitConfiguration.ON_EXIT, 'default': HotExitConfiguration.OFF,
'enumDescriptions': [ 'enumDescriptions': [
nls.localize('hotExit.off', 'Disable hot exit.'), nls.localize('hotExit.off', 'Disable hot exit.'),
nls.localize('hotExit.onExit', 'Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the workbench.action.quit command is triggered (command palette, keybinding, menu). All windows with backups will be restored upon next launch.'), nls.localize('hotExit.onExit', 'Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the workbench.action.quit command is triggered (command palette, keybinding, menu). All windows with backups will be restored upon next launch.'),

View File

@@ -366,10 +366,7 @@ export abstract class TextFileService implements ITextFileService {
} }
// Hot exit // Hot exit
// {{SQL CARBON EDIT}} const hotExitMode = configuration && configuration.files ? configuration.files.hotExit : HotExitConfiguration.ON_EXIT;
// const hotExitMode = configuration && configuration.files ? configuration.files.hotExit : HotExitConfiguration.ON_EXIT;
const hotExitMode = HotExitConfiguration.OFF;
if (hotExitMode === HotExitConfiguration.OFF || hotExitMode === HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE) { if (hotExitMode === HotExitConfiguration.OFF || hotExitMode === HotExitConfiguration.ON_EXIT_AND_WINDOW_CLOSE) {
this.configuredHotExit = hotExitMode; this.configuredHotExit = hotExitMode;
} else { } else {