Merge pull request #1281 from ajaxorg/fix/double_tab

Fix double tab
This commit is contained in:
Garen Torikian 2013-03-05 13:26:46 -08:00
commit 031b3b534b
3 changed files with 21 additions and 12 deletions

View file

@ -923,7 +923,7 @@ oop.inherits(FoldMode, BaseFoldMode);
</li> </li>
<li> <li>
<img src="http://pagesofinterest.net/images/projects/aceview.png" <img src="http://pagesofinterest.net/images/projects/aceview.png"
style="position: relative; left: -6px; width: 113px;top: -17px;"> style="position: relative; left: 2px; width: 96px;top: -8px;">
<a href="https://github.com/faceleg/ACEView">ACEView</a> <a href="https://github.com/faceleg/ACEView">ACEView</a>
</li> </li>
<li> <li>
@ -939,6 +939,11 @@ oop.inherits(FoldMode, BaseFoldMode);
<div class="text-logo" style="margin-left:-5px;">Debuggex</div> <div class="text-logo" style="margin-left:-5px;">Debuggex</div>
<a href="http://www.debuggex.com">Debuggex</a> <a href="http://www.debuggex.com">Debuggex</a>
</li> </li>
<li>
<img src="http://slimtext.org/dist/0.0.1/image/icon128.png"
style="position: relative; left: 3px; width: 96px;top: -12px;">
<a href="http://slimtext.org/">Slim Text</a>
</li>
<li> <li>
<a href="https://github.com/Gozala/sky-edit">Sky Edit</a> <a href="https://github.com/Gozala/sky-edit">Sky Edit</a>
</li> </li>

View file

@ -121,10 +121,14 @@ function HashHandler(config, platform) {
var key = typeof binding == "string" ? binding: binding[this.platform]; var key = typeof binding == "string" ? binding: binding[this.platform];
this.bindKey(key, command); this.bindKey(key, command);
}; };
// accepts keys in the form ctrl+Enter or ctrl-Enter // accepts keys in the form ctrl+Enter or ctrl-Enter
// keys without modifiers or shift only // keys without modifiers or shift only
this.parseKeys = function(keys) { this.parseKeys = function(keys) {
// todo support keychains
if (keys.indexOf(" ") != -1)
keys = keys.split(/\s+/).pop();
var parts = keys.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x}); var parts = keys.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x});
var key = parts.pop(); var key = parts.pop();
@ -139,8 +143,11 @@ function HashHandler(config, platform) {
var hashId = 0; var hashId = 0;
for (var i = parts.length; i--;) { for (var i = parts.length; i--;) {
var modifier = keyUtil.KEY_MODS[parts[i]]; var modifier = keyUtil.KEY_MODS[parts[i]];
if (modifier == null) if (modifier == null) {
throw "invalid modifier " + parts[i] + " in " + keys; if (typeof console != "undefined")
console.error("invalid modifier " + parts[i] + " in " + keys);
return false;
}
hashId |= modifier; hashId |= modifier;
} }
return {key: key, hashId: hashId}; return {key: key, hashId: hashId};

View file

@ -113,6 +113,7 @@ var MouseHandler = function(editor) {
var onCaptureEnd = function(e) { var onCaptureEnd = function(e) {
clearInterval(timerId); clearInterval(timerId);
onCaptureInterval();
self[self.state + "End"] && self[self.state + "End"](e); self[self.state + "End"] && self[self.state + "End"](e);
self.$clickSelection = null; self.$clickSelection = null;
if (renderer.$keepTextAreaAtCursor == null) { if (renderer.$keepTextAreaAtCursor == null) {
@ -124,14 +125,10 @@ var MouseHandler = function(editor) {
var onCaptureInterval = function() { var onCaptureInterval = function() {
self[self.state] && self[self.state](); self[self.state] && self[self.state]();
} };
if (useragent.isOldIE && ev.domEvent.type == "dblclick") { if (useragent.isOldIE && ev.domEvent.type == "dblclick") {
setTimeout(function() { return setTimeout(function() {onCaptureEnd(ev.domEvent);});
onCaptureInterval();
onCaptureEnd(ev.domEvent);
});
return;
} }
event.capture(this.editor.container, onMouseMove, onCaptureEnd); event.capture(this.editor.container, onMouseMove, onCaptureEnd);