alecpl
2008-10-10 9e951be64d8baa11f253f00f4634f63694e7e3bc
program/js/app.js
@@ -423,6 +423,7 @@
    var input_replyto = rcube_find_object('_replyto');
    var input_subject = rcube_find_object('_subject');
    var input_message = rcube_find_object('_message');
    var draftid = rcube_find_object('_draft_saveid');
    // init live search events
    if (input_to)
@@ -433,7 +434,7 @@
      this.init_address_input_events(input_bcc);
    // add signature according to selected identity
    if (input_from && input_from.type=='select-one')
    if (input_from && input_from.type=='select-one' && (!draftid || draftid.value==''))
      this.change_identity(input_from);
    if (input_to && input_to.value=='')
@@ -821,22 +822,27 @@
      case 'compose':
        var url = this.env.comm_path+'&_action=compose';
       
        if (this.task=='mail' && this.env.mailbox==this.env.drafts_mailbox)
        if (this.task=='mail')
          {
          var uid;
          if (uid = this.get_single_uid())
            url += '&_draft_uid='+uid+'&_mbox='+urlencode(this.env.mailbox);
          }
         url += '&_mbox='+urlencode(this.env.mailbox);
     if (this.env.mailbox==this.env.drafts_mailbox)
       {
       var uid;
            if (uid = this.get_single_uid())
              url += '&_draft_uid='+uid;
            }
     }
        // modify url if we're in addressbook
        else if (this.task=='addressbook')
          {
          // switch to mail compose step directly
          if (props && props.indexOf('@') > 0)
          {
            {
            url = this.get_task_url('mail', url);
            this.redirect(url + '&_to='+urlencode(props));
            break;
          }
            }
          
          // use contact_id passed as command parameter
          var a_cids = new Array();
@@ -1575,6 +1581,8 @@
      rows[uid].forwarded = status;
    else if (flag == 'flagged')
      rows[uid].flagged = status;
    this.env.messages[uid] = rows[uid];
    }
  // set message row status, class and icon
@@ -1607,6 +1615,17 @@
      {
      rows[uid].classname = rows[uid].classname.replace(/\s*deleted/, '');
      this.set_classname(rows[uid].obj, 'deleted', false);
      }
    if (rows[uid].flagged && rows[uid].classname.indexOf('flagged')<0)
      {
      rows[uid].classname += ' flagged';
      this.set_classname(rows[uid].obj, 'flagged', true);
      }
    else if (!rows[uid].flagged && rows[uid].classname.indexOf('flagged')>=0)
      {
      rows[uid].classname = rows[uid].classname.replace(/\s*flagged/, '');
      this.set_classname(rows[uid].obj, 'flagged', false);
      }
    this.set_message_icon(uid);
@@ -1708,14 +1727,14 @@
          this.message_list.remove_row(id, (n == selection.length-1));
        else
        {
          rows[id].deleted = true;
          this.set_message_status(id, 'deleted', true);
          if (this.env.read_when_deleted)
           rows[id].unread = false;
           this.set_message_status(id, 'unread', false);
     this.set_message(id);
        }
      }
    }
    // also send search request to get the right messages 
    if (this.env.search_request) 
      add_url += '&_search='+this.env.search_request;
@@ -1885,11 +1904,7 @@
      {
      uid = a_uids[i];
      if (rows[uid])
        {
        rows[uid].unread = false;
        rows[uid].read = true;
   this.set_message(uid);
        }
        this.set_message(uid, 'unread', false);
      }
  };
  
@@ -2112,7 +2127,7 @@
   if (this.env.signatures[id])
     {
     newsig = String(this.env.signatures[id]['text']).replace("\n", "\r\n");
     newsig = this.env.signatures[id]['text'];
     htmlsig = this.env.signatures[id]['is_html'];
     }
@@ -3401,7 +3416,11 @@
    
    var row = document.createElement('TR');
    row.id = 'rcmrow'+uid;
    row.className = 'message '+(even ? 'even' : 'odd')+(flags.unread ? ' unread' : '')+(flags.deleted ? ' deleted' : '');
    row.className = 'message'
   + (even ? ' even' : ' odd')
        + (flags.unread ? ' unread' : '')
   + (flags.deleted ? ' deleted' : '')
   + (flags.flagged ? ' flagged' : '');
    if (this.message_list.in_selection(uid))
      row.className += ' selected';