提交 770832f0 编写于 作者: A Alex Dima

Remove keybinding migration prompt

上级 77e7fa62
......@@ -34,10 +34,6 @@ import { WindowsKeyboardMapper, IWindowsKeyboardMapping, windowsKeyboardMappingE
import { IMacLinuxKeyboardMapping, MacLinuxKeyboardMapper, macLinuxKeyboardMappingEquals } from 'vs/workbench/services/keybinding/common/macLinuxKeyboardMapper';
import { MacLinuxFallbackKeyboardMapper } from 'vs/workbench/services/keybinding/common/macLinuxFallbackKeyboardMapper';
import Event, { Emitter } from 'vs/base/common/event';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { Action } from 'vs/base/common/actions';
import { TPromise } from 'vs/base/common/winjs.base';
import Severity from 'vs/base/common/severity';
import { Extensions as ConfigExtensions, IConfigurationRegistry, IConfigurationNode } from 'vs/platform/configuration/common/configurationRegistry';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
......@@ -88,10 +84,6 @@ export class KeyboardMapperFactory {
return this._layoutInfo;
}
public isUSStandard(): boolean {
return KeyboardMapperFactory._isUSStandard(this.getCurrentKeyboardLayout());
}
private static _isUSStandard(_kbInfo: nativeKeymap.IKeyboardLayoutInfo): boolean {
if (OS === OperatingSystem.Linux) {
const kbInfo = <nativeKeymap.ILinuxKeyboardLayoutInfo>_kbInfo;
......@@ -251,43 +243,6 @@ let keybindingsExtPoint = ExtensionsRegistry.registerExtensionPoint<ContributedK
]
});
interface IStorageData {
dontShowPrompt: boolean;
}
class KeybindingsMigrationsStorage {
private static KEY = 'keybindingsMigration';
private _storageService: IStorageService;
private _value: IStorageData;
constructor(storageService: IStorageService) {
this._storageService = storageService;
this._value = this._read();
}
private _read(): IStorageData {
let jsonValue = this._storageService.get(KeybindingsMigrationsStorage.KEY, StorageScope.GLOBAL);
if (!jsonValue) {
return null;
}
try {
return JSON.parse(jsonValue);
} catch (err) {
return null;
}
}
public get(): IStorageData {
return this._value;
}
public set(data: IStorageData): void {
this._value = data;
this._storageService.store(KeybindingsMigrationsStorage.KEY, JSON.stringify(this._value), StorageScope.GLOBAL);
}
}
export const enum DispatchConfig {
Code,
KeyCode
......@@ -313,7 +268,6 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService {
@ITelemetryService private telemetryService: ITelemetryService,
@IMessageService private messageService: IMessageService,
@IEnvironmentService environmentService: IEnvironmentService,
@IStorageService private storageService: IStorageService,
@IStatusbarService statusBarService: IStatusbarService,
@IConfigurationService private configurationService: IConfigurationService
) {
......@@ -373,52 +327,6 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService {
telemetryService.publicLog('keyboardLayout', {
currentKeyboardLayout: data
});
if (OS === OperatingSystem.Macintosh || OS === OperatingSystem.Linux) {
const isUSStandard = KeyboardMapperFactory.INSTANCE.isUSStandard();
if (!isUSStandard) {
this._promptIfNeeded();
}
}
}
private _promptIfNeeded(): void {
const storage = new KeybindingsMigrationsStorage(this.storageService);
const storedData = storage.get();
if (storedData && storedData.dontShowPrompt) {
// Do not prompt stored
return;
}
storage.set({
dontShowPrompt: true
});
this._prompt();
}
private _prompt(): void {
const openDocumentation = new Action(
'keybindingMigration.openDocumentation',
nls.localize('openDocumentation', 'Learn More'),
'',
true,
() => {
window.open('https://go.microsoft.com/fwlink/?linkid=846147'); // Don't change link.
return TPromise.as(true);
}
);
const okAction = new Action(
'keybindingMigration.ok',
nls.localize('keybindingMigration.ok', "OK"),
null,
true,
() => TPromise.as(true)
);
this.messageService.show(Severity.Info, {
message: nls.localize('keybindingMigration.prompt', "Some keyboard shortcuts have changed for your keyboard layout."),
actions: [openDocumentation, okAction]
});
}
public dumpDebugInfo(): string {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册