]> git.joonet.de Git - adminer.git/commitdiff
Treat Meta key same as Ctrl (bug #3599405)
authorJakub Vrana <jakub@vrana.cz>
Thu, 10 Jan 2013 01:38:53 +0000 (17:38 -0800)
committerJakub Vrana <jakub@vrana.cz>
Thu, 10 Jan 2013 01:38:53 +0000 (17:38 -0800)
adminer/include/version.inc.php
adminer/static/editing.js
adminer/static/functions.js
changes.txt
editor/static/editing.js

index 76368aff7518bc46c9f394a6e146f7b0888d2280..d22eb26c0f999bb8f5557983fb7b6a0e4215f9c4 100644 (file)
@@ -1,2 +1,2 @@
 <?php
-$VERSION = "3.6.2";
+$VERSION = "3.6.3-dev";
index 923ad55fe0a0dd62b2f3d158b3fb4acbcff32df9..e5d1271a993c1db4052e356f6fef5eefccae4592 100644 (file)
@@ -81,7 +81,7 @@ function loginDriver(driver) {
 * @return boolean
 */
 function textareaKeydown(target, event) {
-       if (!event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) {
+       if (!event.shiftKey && !event.altKey && !isCtrl(event)) {
                if (event.keyCode == 9) { // 9 - Tab
                        // inspired by http://pallieter.org/Projects/insertTab/
                        if (target.setSelectionRange) {
index 7bb56851850395366637b08927f066a754c3d753..da122abe38dc9621d80d01846c3c3803ecd0c9da 100644 (file)
@@ -293,6 +293,15 @@ function selectSearch(name) {
 }
 
 
+/** Check if Ctrl key (Command key on Mac) was pressed
+* @param KeyboardEvent|MouseEvent
+* @return boolean
+*/
+function isCtrl(event) {
+       return (event.ctrlKey || event.metaKey) && !event.altKey; // shiftKey allowed
+}
+
+
 
 /** Send form by Ctrl+Enter on <select> and <textarea>
 * @param KeyboardEvent
@@ -301,7 +310,7 @@ function selectSearch(name) {
 */
 function bodyKeydown(event, button) {
        var target = event.target || event.srcElement;
-       if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey && /select|textarea|input/i.test(target.tagName)) { // 13|10 - Enter, shiftKey allowed
+       if (isCtrl(event) && (event.keyCode == 13 || event.keyCode == 10) && /select|textarea|input/i.test(target.tagName)) { // 13|10 - Enter
                target.blur();
                if (button) {
                        target.form[button].click();
@@ -318,10 +327,10 @@ function bodyKeydown(event, button) {
 */
 function bodyClick(event) {
        var target = event.target || event.srcElement;
-       if ((event.ctrlKey || event.shiftKey) && target.type == 'submit' && /input/i.test(target.tagName)) {
+       if ((isCtrl(event) || event.shiftKey) && target.type == 'submit' && /input/i.test(target.tagName)) {
                target.form.target = '_blank';
                setTimeout(function () {
-                       // if (event.ctrlKey) { focus(); } doesn't work
+                       // if (isCtrl(event)) { focus(); } doesn't work
                        target.form.target = '';
                }, 0);
        }
@@ -334,7 +343,7 @@ function bodyClick(event) {
 * @return boolean
 */
 function editingKeydown(event) {
-       if ((event.keyCode == 40 || event.keyCode == 38) && event.ctrlKey && !event.altKey && !event.metaKey) { // 40 - Down, 38 - Up, shiftKey allowed
+       if ((event.keyCode == 40 || event.keyCode == 38) && isCtrl(event)) { // 40 - Down, 38 - Up
                var target = event.target || event.srcElement;
                var sibling = (event.keyCode == 40 ? 'nextSibling' : 'previousSibling');
                var el = target.parentNode.parentNode[sibling];
@@ -416,7 +425,7 @@ function ajaxSetHtml(url) {
 */
 function selectClick(td, event, text, warning) {
        var target = event.target || event.srcElement;
-       if (!event.ctrlKey || /input|textarea/i.test(td.firstChild.tagName) || /^a$/i.test(target.tagName)) {
+       if (!isCtrl(event) || /input|textarea/i.test(td.firstChild.tagName) || /^a$/i.test(target.tagName)) {
                return;
        }
        if (warning) {
@@ -429,7 +438,7 @@ function selectClick(td, event, text, warning) {
                if (!event) {
                        event = window.event;
                }
-               if (event.keyCode == 27 && !(event.ctrlKey || event.shiftKey || event.altKey || event.metaKey)) { // 27 - Esc
+               if (event.keyCode == 27 && !event.shiftKey && !event.altKey && !isCtrl(event)) { // 27 - Esc
                        td.innerHTML = original;
                }
        };
index f0422326c13453b3ef8f482321b47cc96e84fe55..d2c55070bc24549743e9d9c6db7fae63b3e5010b 100644 (file)
@@ -1,3 +1,6 @@
+Adminer 3.6.3-dev:
+Treat Meta key same as Ctrl
+
 Adminer 3.6.2 (released 2012-12-21):
 Edit values by Ctrl+click instead of double click
 Don't select row on double click
index d92fe8b92438473cf2afdbb99ede769420509857..a7cc2a1b34921d08bd466fa998904ec5ef9922a4 100644 (file)
@@ -8,7 +8,7 @@ function selectFieldChange(form) {
 
 function whisperClick(event, field) {
        var el = event.target || event.srcElement;
-       if (/^a$/i.test(el.tagName) && !(event.button || event.ctrlKey || event.shiftKey || event.altKey || event.metaKey)) {
+       if (/^a$/i.test(el.tagName) && !(event.button || event.shiftKey || event.altKey || isCtrl(event))) {
                field.value = el.firstChild.data;
                field.previousSibling.value = decodeURIComponent(el.href.replace(/.*=/, ''));
                field.nextSibling.style.display = 'none';