mirror of
https://github.com/jupyter/notebook.git
synced 2025-03-19 13:20:36 +08:00
Added platform dep. logic.
This commit is contained in:
parent
1af4bfb3ce
commit
0af185787a
@ -459,6 +459,16 @@ IPython.utils = (function (IPython) {
|
||||
return M;
|
||||
})();
|
||||
|
||||
// http://stackoverflow.com/questions/11219582/how-to-detect-my-browser-version-and-operating-system-using-javascript
|
||||
var platform = (function () {
|
||||
var OSName="Unknown OS";
|
||||
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
|
||||
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
|
||||
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
|
||||
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
|
||||
return OSName
|
||||
})();
|
||||
|
||||
var is_or_has = function (a, b) {
|
||||
// Is b a child of a or a itself?
|
||||
return a.has(b).length !==0 || a.is(b);
|
||||
@ -500,6 +510,7 @@ IPython.utils = (function (IPython) {
|
||||
splitext : splitext,
|
||||
always_new : always_new,
|
||||
browser : browser,
|
||||
platform: platform,
|
||||
is_or_has : is_or_has,
|
||||
is_focused : is_focused
|
||||
};
|
||||
|
@ -50,6 +50,7 @@ var IPython = (function (IPython) {
|
||||
}
|
||||
|
||||
var browser = IPython.utils.browser[0];
|
||||
var platform = IPython.utils.platform;
|
||||
|
||||
if (browser === 'Firefox' || browser === 'Opera') {
|
||||
$.extend(_keycodes, _mozilla_keycodes);
|
||||
@ -78,24 +79,6 @@ var IPython = (function (IPython) {
|
||||
// Default keyboard shortcuts
|
||||
|
||||
var default_common_shortcuts = {
|
||||
'meta+s' : {
|
||||
help : 'save notebook',
|
||||
help_index : 'fb',
|
||||
handler : function (event) {
|
||||
IPython.notebook.save_checkpoint();
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
'ctrl+s' : {
|
||||
help : 'save notebook',
|
||||
help_index : 'fc',
|
||||
handler : function (event) {
|
||||
IPython.notebook.save_checkpoint();
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
'shift' : {
|
||||
help : '',
|
||||
help_index : '',
|
||||
@ -130,6 +113,30 @@ var IPython = (function (IPython) {
|
||||
}
|
||||
}
|
||||
|
||||
if (platform === 'MacOS') {
|
||||
default_common_shortcuts['cmd+s'] =
|
||||
{
|
||||
help : 'save notebook',
|
||||
help_index : 'fb',
|
||||
handler : function (event) {
|
||||
IPython.notebook.save_checkpoint();
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
} else {
|
||||
default_common_shortcuts['ctrl+s'] =
|
||||
{
|
||||
help : 'save notebook',
|
||||
help_index : 'fb',
|
||||
handler : function (event) {
|
||||
IPython.notebook.save_checkpoint();
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Edit mode defaults
|
||||
|
||||
var default_edit_shortcuts = {
|
||||
@ -195,6 +202,48 @@ var IPython = (function (IPython) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
'tab' : {
|
||||
help : 'indent or complete',
|
||||
help_index : 'ec',
|
||||
},
|
||||
'shift+tab' : {
|
||||
help : 'tooltip',
|
||||
help_index : 'ed',
|
||||
},
|
||||
}
|
||||
|
||||
if (platform === 'MacOS') {
|
||||
default_edit_shortcuts['cmd+/'] =
|
||||
{
|
||||
help : 'toggle comment',
|
||||
help_index : 'ee'
|
||||
};
|
||||
default_edit_shortcuts['cmd+]'] =
|
||||
{
|
||||
help : 'indent',
|
||||
help_index : 'ef'
|
||||
};
|
||||
default_edit_shortcuts['cmd+['] =
|
||||
{
|
||||
help : 'dedent',
|
||||
help_index : 'eg'
|
||||
};
|
||||
} else {
|
||||
default_edit_shortcuts['ctrl+/'] =
|
||||
{
|
||||
help : 'toggle comment',
|
||||
help_index : 'ee'
|
||||
};
|
||||
default_edit_shortcuts['ctrl+]'] =
|
||||
{
|
||||
help : 'indent',
|
||||
help_index : 'ef'
|
||||
};
|
||||
default_edit_shortcuts['ctrl+['] =
|
||||
{
|
||||
help : 'dedent',
|
||||
help_index : 'eg'
|
||||
};
|
||||
}
|
||||
|
||||
// Command mode defaults
|
||||
@ -402,7 +451,7 @@ var IPython = (function (IPython) {
|
||||
}
|
||||
},
|
||||
'shift+o' : {
|
||||
help : 'toggle output',
|
||||
help : 'toggle output scroll',
|
||||
help_index : 'gc',
|
||||
handler : function (event) {
|
||||
IPython.notebook.toggle_output_scroll();
|
||||
@ -483,6 +532,14 @@ var IPython = (function (IPython) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
'shift+m' : {
|
||||
help : 'merge cell below',
|
||||
help_index : 'ek',
|
||||
handler : function (event) {
|
||||
IPython.notebook.merge_cell_below();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -500,6 +557,9 @@ var IPython = (function (IPython) {
|
||||
var help_string = this._shortcuts[shortcut]['help'];
|
||||
var help_index = this._shortcuts[shortcut]['help_index'];
|
||||
if (help_string) {
|
||||
if (platform === 'MacOS') {
|
||||
shortcut = shortcut.replace('meta', 'cmd');
|
||||
}
|
||||
help.push({
|
||||
shortcut: shortcut,
|
||||
help: help_string,
|
||||
@ -523,6 +583,7 @@ var IPython = (function (IPython) {
|
||||
|
||||
ShortcutManager.prototype.normalize_shortcut = function (shortcut) {
|
||||
// Sort a sequence of + separated modifiers into the order alt+ctrl+meta+shift
|
||||
shortcut = shortcut.replace('cmd', 'meta').toLowerCase();
|
||||
var values = shortcut.split("+");
|
||||
if (values.length === 1) {
|
||||
return this.normalize_key(values[0])
|
||||
|
@ -88,7 +88,7 @@ var IPython = (function (IPython) {
|
||||
});
|
||||
|
||||
$([IPython.events]).on('status_interrupting.Kernel',function () {
|
||||
knw.set_message("Interrupting kernel");
|
||||
knw.set_message("Interrupting kernel", 2000);
|
||||
});
|
||||
|
||||
$([IPython.events]).on('status_dead.Kernel',function () {
|
||||
|
Loading…
x
Reference in New Issue
Block a user