Changeset 1246 in subversion


Ignore:
Timestamp:
Apr 4, 2008 2:59:07 AM (5 years ago)
Author:
alec
Message:

improved r1213 change: removed redundant code
and used mark_message() instead of toggle_read_status()
(which should be used only inside mark_message() function)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/js/app.js

    r1239 r1246  
    893893            setTimeout(function(){ ref.printwin.focus(); }, 20); 
    894894            if (this.env.action != 'show') 
    895               this.toggle_read_status('read', [uid]); 
     895              this.mark_message('read', uid); 
    896896          } 
    897897        } 
     
    14871487    { 
    14881488    var a_uids = new Array(); 
     1489    var r_uids = new Array(); 
    14891490    var selection = this.message_list ? this.message_list.get_selection() : new Array(); 
    14901491     
     
    14971498      for (var id, n=0; n<selection.length; n++) 
    14981499        { 
    1499         id = selection[n]; 
    1500         if ((flag=='read' && this.message_list.rows[id].unread) || (flag=='unread' && !this.message_list.rows[id].unread) 
    1501             || (flag=='delete' && !this.message_list.rows[id].deleted) || (flag=='undelete' && this.message_list.rows[id].deleted)) 
    1502           a_uids[a_uids.length] = id; 
    1503         } 
     1500          a_uids[a_uids.length] = selection[n]; 
     1501        } 
     1502      } 
     1503 
     1504    for (var id, n=0; n<a_uids.length; n++) 
     1505      { 
     1506        id = a_uids[n]; 
     1507        if ((flag=='read' && this.message_list.rows[id].unread)  
     1508            || (flag=='unread' && !this.message_list.rows[id].unread) 
     1509            || (flag=='delete' && !this.message_list.rows[id].deleted) 
     1510            || (flag=='undelete' && this.message_list.rows[id].deleted)) 
     1511          { 
     1512            r_uids[r_uids.length] = id; 
     1513          } 
    15041514      } 
    15051515     
    15061516    // nothing to do 
    1507     if (!a_uids.length) 
     1517    if (!r_uids.length) 
    15081518      return; 
    15091519       
     
    15121522        case 'read': 
    15131523        case 'unread': 
    1514           this.toggle_read_status(flag, a_uids); 
     1524          this.toggle_read_status(flag, r_uids); 
    15151525          break; 
    15161526        case 'delete': 
    15171527        case 'undelete': 
    1518           this.toggle_delete_status(a_uids); 
     1528          this.toggle_delete_status(r_uids); 
    15191529          break; 
    15201530      } 
     
    15261536    // mark all message rows as read/unread 
    15271537    var icn_src; 
    1528     var res_uids = new Array();  
    15291538    var rows = this.message_list.rows; 
    15301539    for (var i=0; i<a_uids.length; i++) 
    15311540      { 
    15321541      uid = a_uids[i]; 
    1533       // check if flag isn't set yet  
    1534       if (rows[uid] && ((flag=='unread' && !rows[uid].unread) || (flag=='read' && rows[uid].unread))) 
    1535         { 
    1536         res_uids[res_uids.length] = uid; 
    1537  
     1542      if (rows[uid]) 
     1543        { 
    15381544        rows[uid].unread = (flag=='unread' ? true : false); 
    15391545         
     
    15621568      } 
    15631569 
    1564     if (res_uids.length) 
    1565       this.http_post('mark', '_uid='+res_uids.join(',')+'&_flag='+flag); 
     1570    this.http_post('mark', '_uid='+a_uids.join(',')+'&_flag='+flag); 
    15661571  }; 
    15671572   
     
    15701575  { 
    15711576    if (this.env.read_when_deleted) 
    1572       this.toggle_read_status('read',a_uids); 
     1577      this.mark_message('read',a_uids); 
    15731578 
    15741579    // if deleting message from "view message" don't bother with delete icon 
Note: See TracChangeset for help on using the changeset viewer.