diff --git a/python/ipnb/resources/META-INF/plugin.xml b/python/ipnb/resources/META-INF/plugin.xml index ff23491042f9..180d2057386f 100644 --- a/python/ipnb/resources/META-INF/plugin.xml +++ b/python/ipnb/resources/META-INF/plugin.xml @@ -45,10 +45,10 @@ - - - - + + + + diff --git a/python/ipnb/src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java b/python/ipnb/src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java index 4d55d679e15e..a21ab2b9aedb 100644 --- a/python/ipnb/src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java +++ b/python/ipnb/src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java @@ -22,6 +22,7 @@ import org.jetbrains.plugins.ipnb.format.cells.output.IpnbOutputCell; import javax.swing.*; import java.awt.*; +import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -285,6 +286,22 @@ public class IpnbFilePanel extends JPanel implements Scrollable, DataProvider { } } } + else if (e.getKeyCode() == KeyEvent.VK_DELETE) { + if (!mySelectedCell.isEditing()) + deleteCell(mySelectedCell); + } + else if (e.getKeyCode() == KeyEvent.VK_X && e.getModifiers() == InputEvent.CTRL_MASK) { + if (!mySelectedCell.isEditing()) + cutCell(); + } + else if (e.getKeyCode() == KeyEvent.VK_C && e.getModifiers() == InputEvent.CTRL_MASK) { + if (!mySelectedCell.isEditing()) + copyCell(); + } + else if (e.getKeyCode() == KeyEvent.VK_V && e.getModifiers() == InputEvent.CTRL_MASK) { + if (!mySelectedCell.isEditing()) + pasteCell(); + } else { getParent().dispatchEvent(e); }