Changeset 26f5b09 in github


Ignore:
Timestamp:
Aug 22, 2008 6:37:48 AM (5 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
9e7a1b4
Parents:
0ced2b9
Message:

Fix keyboard control of the list widgets and prevent Safari from scrolling (#1485279)

Location:
program/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • program/js/app.js

    rf74b283 r26f5b09  
    11901190    // start timer for message preview (wait for double click) 
    11911191    if (selected && this.env.contentframe && !list.multi_selecting) 
    1192       this.preview_timer = window.setTimeout(function(){ ref.msglist_get_preview(); }, this.dblclick_time + 10); 
     1192      this.preview_timer = window.setTimeout(function(){ ref.msglist_get_preview(); }, 200); 
    11931193    else if (this.env.contentframe) 
    11941194      this.show_contentframe(false); 
     
    24612461      var id, frame, ref = this; 
    24622462      if (id = list.get_single_selection()) 
    2463         this.preview_timer = window.setTimeout(function(){ ref.load_contact(id, 'show'); }, this.dblclick_time + 10); 
     2463        this.preview_timer = window.setTimeout(function(){ ref.load_contact(id, 'show'); }, 200); 
    24642464      else if (this.env.contentframe) 
    24652465        this.show_contentframe(false); 
  • program/js/list.js

    re9b57bb8 r26f5b09  
    8787 
    8888    // set body events 
    89     if (this.keyboard) 
    90       rcube_event.add_listener({element:document, event:'keypress', object:this, method:'key_press'}); 
     89    if (this.keyboard) { 
     90      rcube_event.add_listener({element:document, event:'keyup', object:this, method:'key_press'}); 
     91      rcube_event.add_listener({element:document, event:'keydown', object:rcube_event, method:'cancel'}); 
     92    } 
    9193  } 
    9294}, 
     
    549551key_press: function(e) 
    550552{ 
    551   if (this.focused != true)  
     553  if (this.focused != true) 
    552554    return true; 
    553555 
    554   var keyCode = document.layers ? e.which : document.all ? event.keyCode : document.getElementById ? e.keyCode : 0; 
     556  var keyCode = rcube_event.get_keycode(e); 
    555557  var mod_key = rcube_event.get_modifier(e); 
    556558  switch (keyCode) 
     
    558560    case 40: 
    559561    case 38:  
    560         case 63233: // "down", in safari keypress 
    561         case 63232: // "up", in safari keypress 
     562    case 63233: // "down", in safari keypress 
     563    case 63232: // "up", in safari keypress 
     564      // Stop propagation so that the browser doesn't scroll 
     565      rcube_event.cancel(e); 
    562566      return this.use_arrow_key(keyCode, mod_key); 
    563       break; 
    564  
    565567    default: 
    566568      this.shiftkey = e.shiftKey; 
Note: See TracChangeset for help on using the changeset viewer.