@ -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 ;