summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn McLear <john@mclear.co.uk>2012-11-28 17:17:35 +0000
committerJohn McLear <john@mclear.co.uk>2012-11-28 17:17:35 +0000
commit8c7939ec9f18da05bb58da0b43d805948c9cc9b9 (patch)
treeb4910911b736d2db315d08b8417c3557ccc5232a
parent182ea62de90abb19cf1e6100d130f2051906ddb2 (diff)
downloadetherpad-lite-8c7939ec9f18da05bb58da0b43d805948c9cc9b9.zip
catch control S and send an event to save a revision
-rw-r--r--src/static/js/ace2_inner.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js
index b3bc91a9..9290fd56 100644
--- a/src/static/js/ace2_inner.js
+++ b/src/static/js/ace2_inner.js
@@ -3537,7 +3537,7 @@ function Ace2Inner(){
var keyCode = evt.keyCode;
var which = evt.which;
- // prevent ESC key
+ // prevent ESC key and Control S
if (keyCode == 27)
{
evt.preventDefault();
@@ -3562,7 +3562,7 @@ function Ace2Inner(){
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
if (!outsideKeyPress(evt))
@@ -3575,7 +3575,6 @@ function Ace2Inner(){
{
outsideKeyDown(evt);
}
-
if (!stopped)
{
var specialHandledInHook = hooks.callAll('aceKeyEvent', {
@@ -3614,6 +3613,12 @@ function Ace2Inner(){
}, 0);
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))
{
// tab