|
|
@ -236,7 +236,7 @@ function rcube_webmail() |
|
|
|
|
|
|
|
// load body click event
|
|
|
|
document.onmousedown = function(){ return rcube_webmail_client.reset_click(); }; |
|
|
|
document.onkeydown = function(e){ return rcube_webmail_client.use_arrow_keys(e, msg_list_frame); }; |
|
|
|
document.onkeydown = function(e){ return rcube_webmail_client.key_pressed(e, msg_list_frame); }; |
|
|
|
|
|
|
|
|
|
|
|
// flag object as complete
|
|
|
@ -268,15 +268,26 @@ function rcube_webmail() |
|
|
|
e.cancelBubble = true; |
|
|
|
}; |
|
|
|
|
|
|
|
// reset last clicked if user clicks on anything other than the message table
|
|
|
|
this.use_arrow_keys = function(e, msg_list_frame) { |
|
|
|
this.key_pressed = function(e, msg_list_frame) { |
|
|
|
if (this.in_message_list != true) |
|
|
|
return true; |
|
|
|
|
|
|
|
var keyCode = document.layers ? e.which : document.all ? event.keyCode : document.getElementById ? e.keyCode : 0; |
|
|
|
var mod_key = this.get_modifier(e); |
|
|
|
switch (keyCode) { |
|
|
|
case 40: |
|
|
|
case 38: |
|
|
|
return this.use_arrow_key(keyCode, mod_key, msg_list_frame); |
|
|
|
break; |
|
|
|
case 46: |
|
|
|
return this.use_delete_key(keyCode, mod_key, msg_list_frame); |
|
|
|
break; |
|
|
|
default: |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
this.use_arrow_key = function(keyCode, mod_key, msg_list_frame) { |
|
|
|
var scroll_to = 0; |
|
|
|
|
|
|
|
var last_selected_row = this.list_rows[this.last_selected]; |
|
|
|
|
|
|
|
if (keyCode == 40) { // down arrow key pressed
|
|
|
@ -302,9 +313,13 @@ function rcube_webmail() |
|
|
|
((Number(new_row.offsetTop) + Number(new_row.offsetHeight)) > (Number(msg_list_frame.scrollTop) + Number(msg_list_frame.offsetHeight)))) { |
|
|
|
msg_list_frame.scrollTop = scroll_to; |
|
|
|
} |
|
|
|
|
|
|
|
return false; |
|
|
|
}; |
|
|
|
|
|
|
|
this.use_delete_key = function(keyCode, mod_key, msg_list_frame){ |
|
|
|
this.command('delete','',this); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
// get all message rows from HTML table and init each row
|
|
|
|
this.init_messagelist = function(msg_list) |
|
|
|