catch control S and send an event to save a revision

pull/1229/head
John McLear 2012-11-28 17:17:35 +00:00
parent 182ea62de9
commit 8c7939ec9f
1 changed files with 8 additions and 3 deletions

View File

@ -3537,7 +3537,7 @@ function Ace2Inner(){
var keyCode = evt.keyCode; var keyCode = evt.keyCode;
var which = evt.which; var which = evt.which;
// prevent ESC key // prevent ESC key and Control S
if (keyCode == 27) if (keyCode == 27)
{ {
evt.preventDefault(); evt.preventDefault();
@ -3562,7 +3562,7 @@ function Ace2Inner(){
inCallStackIfNecessary("handleKeyEvent", function() inCallStackIfNecessary("handleKeyEvent", function()
{ {
if (type == "keypress" || (isTypeForSpecialKey && keyCode == 13 /*return*/ )) if (type == "keypress" || (isTypeForSpecialKey && keyCode == 13 || keyCode == 83 /*return*/ ))
{ {
// in IE, special keys don't send keypress, the keydown does the action // in IE, special keys don't send keypress, the keydown does the action
if (!outsideKeyPress(evt)) if (!outsideKeyPress(evt))
@ -3575,7 +3575,6 @@ function Ace2Inner(){
{ {
outsideKeyDown(evt); outsideKeyDown(evt);
} }
if (!stopped) if (!stopped)
{ {
var specialHandledInHook = hooks.callAll('aceKeyEvent', { var specialHandledInHook = hooks.callAll('aceKeyEvent', {
@ -3614,6 +3613,12 @@ function Ace2Inner(){
}, 0); }, 0);
specialHandled = true; specialHandled = true;
} }
if ((!specialHandled) && isTypeForSpecialKey && keyCode == 83)
{
evt.preventDefault();
parent.parent.pad.collabClient.sendMessage({"type":"SAVE_REVISION"}); /* The parent.parent part of this is BAD and I feel bad.. It may break something */
specialHandled = true;
}
if ((!specialHandled) && isTypeForSpecialKey && keyCode == 9 && !(evt.metaKey || evt.ctrlKey)) if ((!specialHandled) && isTypeForSpecialKey && keyCode == 9 && !(evt.metaKey || evt.ctrlKey))
{ {
// tab // tab