From 17a8fb353bd5141db990dfa467c8fc2634f8de58 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 20 Nov 2012 14:52:44 -0500
Subject: [PATCH] Fix keybord events on messages list in opera browser (#1488823)
---
program/js/list.js | 49 ++++++++++---------------------------------------
CHANGELOG | 1 +
2 files changed, 11 insertions(+), 39 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index f1daa23..fd6393f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix keybord events on messages list in opera browser (#1488823)
- Fix selection of collapsed thread rows (#1488772)
- Always save drafts with format=flowed in order to keep original line wraps (#1488799)
- Fix wrapping of quoted text with format=flowed (#1488177)
diff --git a/program/js/list.js b/program/js/list.js
index 99c47d9..660b74d 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -88,10 +88,8 @@
this.frame = this.list.parentNode;
// set body events
- if (this.keyboard) {
- rcube_event.add_listener({event:bw.opera?'keypress':'keydown', object:this, method:'key_press'});
- rcube_event.add_listener({event:'keydown', object:this, method:'key_down'});
- }
+ if (this.keyboard)
+ rcube_event.add_listener({event:'keydown', object:this, method:'key_press'});
}
},
@@ -1007,6 +1005,14 @@
case 35: // End
this.select_last(mod_key);
return rcube_event.cancel(e);
+ case 27:
+ if (this.drag_active)
+ return this.drag_mouse_up(e);
+ if (this.col_drag_active) {
+ this.selected_column = null;
+ return this.column_drag_mouse_up(e);
+ }
+ return rcube_event.cancel(e);
default:
this.key_pressed = keyCode;
this.modkey = mod_key;
@@ -1015,41 +1021,6 @@
if (this.key_pressed == this.BACKSPACE_KEY)
return rcube_event.cancel(e);
- }
-
- return true;
-},
-
-/**
- * Handler for keydown events
- */
-key_down: function(e)
-{
- var target = e.target || {};
- if (this.focused != true || target.nodeName == 'INPUT' || target.nodeName == 'TEXTAREA' || target.nodeName == 'SELECT')
- return true;
-
- switch (rcube_event.get_keycode(e)) {
- case 27:
- if (this.drag_active)
- return this.drag_mouse_up(e);
- if (this.col_drag_active) {
- this.selected_column = null;
- return this.column_drag_mouse_up(e);
- }
-
- case 40:
- case 38:
- case 63233:
- case 63232:
- case 61:
- case 107:
- case 109:
- case 32:
- if (!rcube_event.get_modifier(e) && this.focused)
- return rcube_event.cancel(e);
-
- default:
}
return true;
--
Gitblit v1.9.1