loleaflet/src/map/handler/Map.Keyboard.js |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

New commits:
commit 951a3a263cdcade3443080644c99a6ca64b0d540
Author: Andras Timar <[email protected]>
Date:   Sun Jan 24 18:20:30 2016 +0100

    loleaflet: fix Cmd+C / Cmd+X / Cmd+V on OS X Safari
    
    (cherry picked from commit bc98b0194ed5993b1c19dda7287cf2a4319f83ce)

diff --git a/loleaflet/src/map/handler/Map.Keyboard.js 
b/loleaflet/src/map/handler/Map.Keyboard.js
index a4fef65..e765bcf 100644
--- a/loleaflet/src/map/handler/Map.Keyboard.js
+++ b/loleaflet/src/map/handler/Map.Keyboard.js
@@ -317,13 +317,15 @@ L.Map.Keyboard = L.Handler.extend({
        },
 
        _handleCtrlCommand: function (e) {
-               if (e.type !== 'keydown' && e.originalEvent.key !== 'c' && 
e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x') {
+               if (e.type !== 'keydown' && e.originalEvent.key !== 'c' && 
e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x' &&
+                       /* Safari */ e.originalEvent.keyCode !== 99 && 
e.originalEvent.keyCode !== 118 && e.originalEvent.keyCode !== 120) {
                        e.originalEvent.preventDefault();
                        return true;
                }
 
                if (e.originalEvent.keyCode !== 67 && e.originalEvent.keyCode 
!== 86 && e.originalEvent.keyCode !== 88 &&
-                               e.originalEvent.key !== 'c' && 
e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x') {
+                       /* Safari */ e.originalEvent.keyCode !== 99 && 
e.originalEvent.keyCode !== 118 && e.originalEvent.keyCode !== 120 &&
+                       e.originalEvent.key !== 'c' && e.originalEvent.key !== 
'v' && e.originalEvent.key !== 'x') {
                        // not copy or paste
                        e.originalEvent.preventDefault();
                }
@@ -374,6 +376,8 @@ L.Map.Keyboard = L.Handler.extend({
                                return false;
                        case 67: // c
                        case 88: // x
+                       case 99: // c (Safari)
+                       case 120: // x (Safari)
                                // we prepare for a copy or cut event
                                this._map._docLayer._textArea.value = 'dummy 
text';
                                this._map._docLayer._textArea.focus();
@@ -383,6 +387,7 @@ L.Map.Keyboard = L.Handler.extend({
                                this._map.print();
                                return true;
                        case 86: // v
+                       case 118: // v (Safari)
                                return true;
                        case 112: // f1
                                this._map._socket.sendMessage('uno 
.uno:NoteVisible');
commit 2b2d5b8791468a819a77d47dda3cffc66821c511
Author: Andras Timar <[email protected]>
Date:   Sun Jan 24 17:42:19 2016 +0100

    loleaflet: fix Cmd+C / Cmd+X / Cmd+V on OS X Firefox and Chrome
    
    (cherry picked from commit 7e50b73f5089acabaa473ebd3bd25cd094a17565)

diff --git a/loleaflet/src/map/handler/Map.Keyboard.js 
b/loleaflet/src/map/handler/Map.Keyboard.js
index 956b118..a4fef65 100644
--- a/loleaflet/src/map/handler/Map.Keyboard.js
+++ b/loleaflet/src/map/handler/Map.Keyboard.js
@@ -233,11 +233,7 @@ L.Map.Keyboard = L.Handler.extend({
                var cmd = e.originalEvent.metaKey ? this.keyModifier.ctrlMac : 
0;
                this.modifier = shift | ctrl | alt | cmd;
 
-               if (cmd) {
-                       return;
-               }
-
-               if (ctrl) {
+               if (ctrl || cmd) {
                        if (this._handleCtrlCommand(e)) {
                                return;
                        }
@@ -398,7 +394,8 @@ L.Map.Keyboard = L.Handler.extend({
                                this._map._socket.sendMessage('uno 
.uno:SuperScript');
                                return true;
                }
-               if (e.type === 'keypress' && e.originalEvent.ctrlKey && 
(e.originalEvent.key === 'c' || e.originalEvent.key === 'v' || 
e.originalEvent.key === 'x')) {
+               if (e.type === 'keypress' && (e.originalEvent.ctrlKey || 
e.originalEvent.metaKey) &&
+                       (e.originalEvent.key === 'c' || e.originalEvent.key === 
'v' || e.originalEvent.key === 'x')) {
                        // need to handle this separately for Firefox
                        return true;
                }
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to