diff --git a/IPython/html/static/notebook/js/celltoolbar.js b/IPython/html/static/notebook/js/celltoolbar.js index 50ee988..8a1d231 100644 --- a/IPython/html/static/notebook/js/celltoolbar.js +++ b/IPython/html/static/notebook/js/celltoolbar.js @@ -185,6 +185,10 @@ var IPython = (function (IPython) { CellToolbar.register_preset = function(name, preset_list) { CellToolbar._presets[name] = preset_list; $([IPython.events]).trigger('preset_added.CellToolbar', {name: name}); + // When "register_callback" is called by a custom extension, it may be executed after notebook is loaded. + // In that case, activate the preset if needed. + if (IPython.notebook && IPython.notebook.metadata && IPython.notebook.metadata.celltoolbar === name) + this.activate_preset(name); }; @@ -224,6 +228,8 @@ var IPython = (function (IPython) { CellToolbar._ui_controls_list = preset; CellToolbar.rebuild_all(); } + + $([IPython.events]).trigger('preset_activated.CellToolbar', {name: preset_name}); }; diff --git a/IPython/html/static/notebook/js/maintoolbar.js b/IPython/html/static/notebook/js/maintoolbar.js index 6db1956..8a8ee75 100644 --- a/IPython/html/static/notebook/js/maintoolbar.js +++ b/IPython/html/static/notebook/js/maintoolbar.js @@ -20,7 +20,7 @@ var IPython = (function (IPython) { this.bind_events(); }; - MainToolBar.prototype = new IPython.ToolBar(); + MainToolBar.prototype = new IPython.ToolBar(); MainToolBar.prototype.construct = function () { this.add_buttons_group([ @@ -92,7 +92,7 @@ var IPython = (function (IPython) { } } ],'move_up_down'); - + this.add_buttons_group([ { @@ -170,12 +170,17 @@ var IPython = (function (IPython) { var name = data.name; select.append($('