Fixed issue #9051: t3editor / On Mac Os X the key combination CMD+LEFT will close...
authorTobias Liebig <mail@etobi.de>
Wed, 15 Apr 2009 19:37:45 +0000 (19:37 +0000)
committerTobias Liebig <mail@etobi.de>
Wed, 15 Apr 2009 19:37:45 +0000 (19:37 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@5314 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/t3editor/jslib/codemirror/editor.js

index 435e375..7db11b6 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2009-04-15  Tobias Liebig <mail_typo3@etobi.de>
 
        * Fixed issue #8103: t3editor / typoscript on the right side of an operator is not tokenized (needed to enable codecompletion behind copy or reference operator)
+       * Fixed issue #9051: t3editor / On Mac Os X the key combination CMD+LEFT will close the t3editor
 
 2009-04-10  Martin Kutschker  <masi@typo3.org>
 
index a867f50..5fc4119 100644 (file)
@@ -195,6 +195,7 @@ var Editor = (function(){
   }
   function endOfLine(node, container) {
     if (!node) node = container.firstChild;
+    else if (node.nodeName == "BR") node = node.nextSibling;
     while (node && node.nodeName != "BR") node = node.nextSibling;
     return node;
   }
@@ -617,6 +618,17 @@ var Editor = (function(){
         this.handleTab(!event.ctrlKey && !event.shiftKey);
         event.stop();
       }
+      else if (event.metaKey && !event.shiftKey && (event.keyCode == 37 || event.keyCode == 39)) { // Meta-left/right
+        var cursor = select.selectionTopNode(this.container);
+        if (cursor === false || !this.container.firstChild) return;
+
+        if (event.keyCode == 37) select.focusAfterNode(startOfLine(cursor), this.container);
+        else {
+          var end = endOfLine(cursor, this.container);
+          select.focusAfterNode(end ? end.previousSibling : this.container.lastChild, this.container);
+        }
+        event.stop();
+      }
       else if (event.ctrlKey || event.metaKey) {
         if (event.keyCode == 90 || event.keyCode == 8) { // Z, backspace
           this.history.undo();