diff --git a/IPython/frontend/html/notebook/static/js/notebook.js b/IPython/frontend/html/notebook/static/js/notebook.js
index 15b5fd61c..e75f1c2dd 100644
--- a/IPython/frontend/html/notebook/static/js/notebook.js
+++ b/IPython/frontend/html/notebook/static/js/notebook.js
@@ -21,6 +21,7 @@ var IPython = (function (IPython) {
this.next_prompt_number = 1;
this.kernel = null;
this.clipboard = null;
+ this.paste_enabled = false;
this.dirty = false;
this.msg_cell_map = {};
this.metadata = {};
@@ -583,19 +584,25 @@ var IPython = (function (IPython) {
Notebook.prototype.enable_paste = function () {
var that = this;
- $('#paste_cell').removeClass('ui-state-disabled')
- .on('click', function () {that.paste_cell();});
- $('#paste_cell_above').removeClass('ui-state-disabled')
- .on('click', function () {that.paste_cell_above();});
- $('#paste_cell_below').removeClass('ui-state-disabled')
- .on('click', function () {that.paste_cell_below();});
+ if (!this.paste_enabled) {
+ $('#paste_cell').removeClass('ui-state-disabled')
+ .on('click', function () {that.paste_cell();});
+ $('#paste_cell_above').removeClass('ui-state-disabled')
+ .on('click', function () {that.paste_cell_above();});
+ $('#paste_cell_below').removeClass('ui-state-disabled')
+ .on('click', function () {that.paste_cell_below();});
+ this.paste_enabled = true;
+ };
};
Notebook.prototype.disable_paste = function () {
- $('#paste_cell').addClass('ui-state-disabled').off('click');
- $('#paste_cell_above').addClass('ui-state-disabled').off('click');
- $('#paste_cell_below').addClass('ui-state-disabled').off('click');
+ if (this.paste_enabled) {
+ $('#paste_cell').addClass('ui-state-disabled').off('click');
+ $('#paste_cell_above').addClass('ui-state-disabled').off('click');
+ $('#paste_cell_below').addClass('ui-state-disabled').off('click');
+ this.paste_enabled = false;
+ };
};
@@ -612,7 +619,7 @@ var IPython = (function (IPython) {
Notebook.prototype.paste_cell = function () {
- if (this.clipboard !== null) {
+ if (this.clipboard !== null && this.paste_enabled) {
var cell_data = this.clipboard;
if (cell_data.cell_type == 'code') {
new_cell = this.insert_code_cell_above();
@@ -624,14 +631,14 @@ var IPython = (function (IPython) {
new_cell = this.insert_markdown_cell_above();
new_cell.fromJSON(cell_data);
};
+ this.select_next();
+ this.delete_cell();
};
- this.select_next();
- this.delete_cell();
};
Notebook.prototype.paste_cell_above = function () {
- if (this.clipboard !== null) {
+ if (this.clipboard !== null && this.paste_enabled) {
var cell_data = this.clipboard;
if (cell_data.cell_type == 'code') {
new_cell = this.insert_code_cell_above();
@@ -648,16 +655,16 @@ var IPython = (function (IPython) {
Notebook.prototype.paste_cell_below = function () {
- if (this.clipboard !== null) {
+ if (this.clipboard !== null && this.paste_enabled) {
var cell_data = this.clipboard;
if (cell_data.cell_type == 'code') {
- new_cell = this.insert_code_cell_above();
+ new_cell = this.insert_code_cell_below();
new_cell.fromJSON(cell_data);
} else if (cell_data.cell_type === 'html') {
- new_cell = this.insert_html_cell_above();
+ new_cell = this.insert_html_cell_below();
new_cell.fromJSON(cell_data);
} else if (cell_data.cell_type === 'markdown') {
- new_cell = this.insert_markdown_cell_above();
+ new_cell = this.insert_markdown_cell_below();
new_cell.fromJSON(cell_data);
};
};