summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/js/app.js10
1 files changed, 7 insertions, 3 deletions
diff --git a/program/js/app.js b/program/js/app.js
index fe5e4ce1e..da7d18c9a 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -274,6 +274,9 @@ function rcube_webmail()
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 13:
+ this.command('show','',this);
+ break;
case 40:
case 38:
return this.use_arrow_key(keyCode, mod_key, msg_list_frame);
@@ -284,6 +287,7 @@ function rcube_webmail()
default:
return true;
}
+ return true;
}
this.use_arrow_key = function(keyCode, mod_key, msg_list_frame) {
@@ -1099,7 +1103,7 @@ function rcube_webmail()
return false;
// selects currently unselected row
- if (!this.in_selection_before)
+ if (!this.in_selection_before && !this.list_rows[id].clicked)
{
var mod_key = this.get_modifier(e);
this.select_row(id,mod_key,false);
@@ -1129,14 +1133,14 @@ function rcube_webmail()
}
// unselects currently selected row
- if (!this.drag_active && this.in_selection_before==id)
+ if (!this.drag_active && this.in_selection_before==id && !this.list_rows[id].clicked)
this.select_row(id,mod_key,false);
this.drag_start = false;
this.in_selection_before = false;
// row was double clicked
- if (this.task=='mail' && this.list_rows && this.list_rows[id].clicked && !mod_key)
+ if (this.task=='mail' && this.list_rows && this.list_rows[id].clicked && this.in_selection(id))
{
this.show_message(id);
return false;