From ec1f0e3277f5fb382b63b5b79324d33fb4cf9b4a Mon Sep 17 00:00:00 2001 From: rebornix Date: Thu, 6 Aug 2020 09:57:12 -0700 Subject: [PATCH] fix #104176. --- .../contrib/notebook/browser/notebookServiceImpl.ts | 8 ++++++++ .../notebook/browser/viewModel/notebookViewModel.ts | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts b/src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts index 40331f7bb70..24821e8fbe3 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts @@ -399,6 +399,10 @@ export class NotebookService extends Disposable implements INotebookService, ICu return false; } + if (!viewModel.metadata.editable) { + return false; + } + const currCellIndex = viewModel.getCellIndex(activeCell); let topPastedCell: CellViewModel | undefined = undefined; @@ -442,6 +446,10 @@ export class NotebookService extends Disposable implements INotebookService, ICu return false; } + if (!viewModel.metadata.editable) { + return false; + } + const clipboardService = accessor.get(IClipboardService); const notebookService = accessor.get(INotebookService); clipboardService.writeText(activeCell.getText()); diff --git a/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModel.ts b/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModel.ts index 00ab695e967..47739daac44 100644 --- a/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModel.ts +++ b/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModel.ts @@ -1070,6 +1070,10 @@ export class NotebookViewModel extends Disposable implements EditorFoldingStateD } async undo() { + if (!this.metadata.editable) { + return; + } + const editStack = this._undoService.getElements(this.uri); const element = editStack.past.length ? editStack.past[editStack.past.length - 1] : undefined; @@ -1083,6 +1087,10 @@ export class NotebookViewModel extends Disposable implements EditorFoldingStateD } async redo() { + if (!this.metadata.editable) { + return; + } + const editStack = this._undoService.getElements(this.uri); const element = editStack.future[0]; -- GitLab