From cc670688eea241cb869a9d85fd856acf07a9b28c Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 27 Jan 2022 08:23:17 +0100 Subject: [PATCH 1/2] Backport PR #328: Switch cell type from the cell menu --- packages/notebook-extension/src/index.ts | 42 +++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index 474f79ac..8e557d30 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -14,6 +14,8 @@ import { Text, Time } from '@jupyterlab/coreutils'; import { IDocumentManager } from '@jupyterlab/docmanager'; +import { IMainMenu } from '@jupyterlab/mainmenu'; + import { NotebookPanel, INotebookTracker } from '@jupyterlab/notebook'; import { ISettingRegistry } from '@jupyterlab/settingregistry'; @@ -24,7 +26,7 @@ import { IRetroShell } from '@retrolab/application'; import { Poll } from '@lumino/polling'; -import { Widget } from '@lumino/widgets'; +import { Menu, Widget } from '@lumino/widgets'; /** * The class for kernel status errors. @@ -223,6 +225,43 @@ const kernelStatus: JupyterFrontEndPlugin = { } }; +/** + * A plugin to customize notebook related menu entries + * TODO: switch to settings define menus when fixed upstream: https://github.com/jupyterlab/jupyterlab/issues/11754 + */ +const menuPlugin: JupyterFrontEndPlugin = { + id: '@retrolab/notebook-extension:menu-plugin', + autoStart: true, + requires: [IMainMenu, ITranslator], + activate: ( + app: JupyterFrontEnd, + mainMenu: IMainMenu, + translator: ITranslator + ) => { + const { commands } = app; + const trans = translator.load('retrolab'); + + const cellTypeSubmenu = new Menu({ commands }); + cellTypeSubmenu.title.label = trans._p('menu', 'Cell Type'); + [ + 'notebook:change-cell-to-code', + 'notebook:change-cell-to-markdown', + 'notebook:change-cell-to-raw' + ].forEach(command => { + cellTypeSubmenu.addItem({ + command + }); + }); + + mainMenu.runMenu.addItem({ type: 'separator', rank: 1000 }); + mainMenu.runMenu.addItem({ + type: 'submenu', + submenu: cellTypeSubmenu, + rank: 1010 + }); + } +}; + /** * A plugin to add an extra shortcut to execute a cell in place via Cmd-Enter on Mac. * TODO: switch to settings define menus when fixed upstream: https://github.com/jupyterlab/jupyterlab/issues/11754 @@ -341,6 +380,7 @@ const plugins: JupyterFrontEndPlugin[] = [ checkpoints, kernelLogo, kernelStatus, + menuPlugin, runShortcut, scrollOutput ]; From b906143778b7be99837371371c1c9805405edc9e Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 27 Jan 2022 08:48:52 +0100 Subject: [PATCH 2/2] Update reference snapshots --- .../opened-menu-run-chromium-linux.png | Bin 25702 -> 26931 bytes .../opened-menu-run-firefox-linux.png | Bin 21707 -> 22795 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png b/ui-tests/test/menus.spec.ts-snapshots/opened-menu-run-chromium-linux.png index 405dcbd7d672b4042bffd71fe33a7777bcb7757d..6fbe3abfd81c9573afef7f55654dc340d7f000a7 100644 GIT binary patch delta 10294 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 delta 9055 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 RvT$38($_K6&egKJ_jk~WlOg~B delta 4222 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