From 80069de0836f6a73a054b600f5d71be57ae1d278 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Fri, 17 Jun 2022 11:54:47 +0200 Subject: [PATCH] Cleaned up `File` menu. Removed: - `New File`, - `New Window`. Closes #1014. Signed-off-by: Akos Kitta --- .../src/browser/arduino-ide-frontend-module.ts | 6 ++++++ .../theia/core/common-frontend-contribution.ts | 1 + .../src/browser/theia/core/window-contribution.ts | 15 +++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 arduino-ide-extension/src/browser/theia/core/window-contribution.ts diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index d52969253..8638c2618 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -296,6 +296,8 @@ import { SurveyNotificationService, SurveyNotificationServicePath, } from '../common/protocol/survey-service'; +import { WindowContribution } from './theia/core/window-contribution'; +import { WindowContribution as TheiaWindowContribution } from '@theia/core/lib/browser/window-contribution'; MonacoThemingService.register({ id: 'arduino-theme', @@ -605,6 +607,10 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(OutputToolbarContribution).toSelf().inSingletonScope(); rebind(TheiaOutputToolbarContribution).toService(OutputToolbarContribution); + // To remove `New Window` from the `File` menu + bind(WindowContribution).toSelf().inSingletonScope(); + rebind(TheiaWindowContribution).toService(WindowContribution); + bind(ArduinoDaemon) .toDynamicValue((context) => WebSocketConnectionProvider.createProxy( diff --git a/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts b/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts index 8a0d30b5d..c92d4972f 100644 --- a/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts +++ b/arduino-ide-extension/src/browser/theia/core/common-frontend-contribution.ts @@ -21,6 +21,7 @@ export class CommonFrontendContribution extends TheiaCommonFrontendContribution CommonCommands.TOGGLE_MAXIMIZED, CommonCommands.PIN_TAB, CommonCommands.UNPIN_TAB, + CommonCommands.NEW_FILE, ]) { commandRegistry.unregisterCommand(command); } diff --git a/arduino-ide-extension/src/browser/theia/core/window-contribution.ts b/arduino-ide-extension/src/browser/theia/core/window-contribution.ts new file mode 100644 index 000000000..4c2b6c8d6 --- /dev/null +++ b/arduino-ide-extension/src/browser/theia/core/window-contribution.ts @@ -0,0 +1,15 @@ +import { injectable } from '@theia/core/shared/inversify'; +import { WindowContribution as TheiaWindowContribution } from '@theia/core/lib/browser/window-contribution'; + +@injectable() +export class WindowContribution extends TheiaWindowContribution { + override registerCommands(): void { + // NOOP + } + override registerKeybindings(): void { + // NOO + } + override registerMenus(): void { + // NOOP; + } +}