Changeset 1519 in subversion


Ignore:
Timestamp:
Jun 12, 2008 10:02:26 AM (5 years ago)
Author:
alec
Message:
Location:
branches/devel-jquery/program/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/devel-jquery/program/js/app.js

    r1518 r1519  
    13981398      this.set_busy(true, 'movingmessage'); 
    13991399      } 
    1400     else 
     1400    else if (!this.env.flag_for_deletion) 
    14011401      this.show_contentframe(false); 
    14021402 
     
    14041404    this.enable_command('reply', 'reply-all', 'forward', 'delete', 'mark', 'print', false); 
    14051405 
    1406     this._with_selected_messages('moveto', lock, add_url); 
     1406    this._with_selected_messages('moveto', lock, add_url, (this.env.flag_for_deletion ? false : true)); 
    14071407    }; 
    14081408 
     
    14541454       
    14551455    this.show_contentframe(false); 
    1456     this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : '')); 
     1456    this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : ''), true); 
    14571457    }; 
    14581458 
    14591459  // Send a specifc request with UIDs of all selected messages 
    14601460  // @private 
    1461   this._with_selected_messages = function(action, lock, add_url) 
     1461  this._with_selected_messages = function(action, lock, add_url, remove) 
    14621462    { 
    14631463    var a_uids = new Array(); 
     
    14681468      { 
    14691469      var selection = this.message_list.get_selection(); 
     1470      var rows = this.message_list.rows; 
    14701471      var id; 
    14711472      for (var n=0; n<selection.length; n++) 
     
    14741475        a_uids[a_uids.length] = id; 
    14751476 
    1476         this.message_list.remove_row(id, (n == selection.length-1)); 
     1477        if (remove) 
     1478          this.message_list.remove_row(id, (n == selection.length-1)); 
     1479        else 
     1480          { 
     1481          rows[id].deleted = true; 
     1482         
     1483          if (rows[id].classname.indexOf('deleted')<0) 
     1484            { 
     1485            rows[id].classname += ' deleted'; 
     1486            this.set_classname(rows[id].obj, 'deleted', true); 
     1487            } 
     1488         
     1489          if (rows[id].icon && this.env.deletedicon) 
     1490            rows[id].icon.src = this.env.deletedicon; 
     1491          } 
    14771492        } 
    14781493      } 
  • branches/devel-jquery/program/js/list.js

    r1290 r1519  
    8888    // set body events 
    8989    if (this.keyboard) 
    90       rcube_event.add_listener({element:document, event:'keydown', object:this, method:'key_press'}); 
     90      rcube_event.add_listener({element:document, event:'keypress', object:this, method:'key_press'}); 
    9191  } 
    9292}, 
     
    558558    case 40: 
    559559    case 38:  
     560        case 63233: // "down", in safari keypress 
     561        case 63232: // "up", in safari keypress 
    560562      return this.use_arrow_key(keyCode, mod_key); 
    561563      break; 
     
    577579{ 
    578580  var new_row; 
    579   if (keyCode == 40) // down arrow key pressed 
     581  // Safari uses the nonstandard keycodes 63232/63233 for up/down, if we're 
     582  // using the keypress event (but not the keydown or keyup event). 
     583  if (keyCode == 40 || keyCode == 63233) // down arrow key pressed 
    580584    new_row = this.get_next_row(); 
    581   else if (keyCode == 38) // up arrow key pressed 
     585  else if (keyCode == 38 || keyCode == 63232) // up arrow key pressed 
    582586    new_row = this.get_prev_row(); 
    583587 
     
    693697  rcube_event.remove_listener({element:document, event:'mouseup', object:this, method:'drag_mouse_up'}); 
    694698 
     699  this.focus(); 
     700 
    695701  return rcube_event.cancel(e); 
    696702}, 
Note: See TracChangeset for help on using the changeset viewer.