alecpl
2010-06-29 087c7dc5d2e58e4aa99f1ffdb9b8f01c6121ce1d
program/js/app.js
@@ -225,7 +225,7 @@
          }
        }
        else if (this.env.action == 'compose') {
          this.enable_command('add-attachment', 'send-attachment', 'remove-attachment', 'send', true);
          this.enable_command('send-attachment', 'remove-attachment', 'send', true);
          if (this.env.spellcheck) {
            this.env.spellcheck.spelling_state_observer = function(s){ ref.set_spellcheck_state(s); };
@@ -487,7 +487,7 @@
      // misc list commands
      case 'list':
        if (this.task=='mail') {
          if (this.env.search_request<0 || (props != '' && (this.env.search_request && props != this.env.mailbox)))
          if (!this.env.search_request || (props && props != this.env.mailbox))
            this.reset_qsearch();
          this.list_mailbox(props);
@@ -496,7 +496,7 @@
            this.set_alttext('delete', this.env.mailbox != this.env.trash_mailbox ? 'movemessagetotrash' : 'deletemessage');
        }
        else if (this.task=='addressbook') {
          if (this.env.search_request<0 || (this.env.search_request && props != this.env.source))
          if (!this.env.search_request || (props != this.env.source))
            this.reset_qsearch();
          this.list_contacts(props);
@@ -871,9 +871,6 @@
        // clear timeout (sending could take longer)
        clearTimeout(this.request_timer);
        break;
      case 'add-attachment':
        this.show_attachment_form(true);
      case 'send-attachment':
        // Reset the auto-save timer
@@ -1302,7 +1299,7 @@
          this.env.folder_coords[k].on = 0;
        }
      }
      if (layerclass != oldclass && this.contact_list && this.contact_list.draglayer)
        this.contact_list.draglayer.attr('class', layerclass);
    }
@@ -1495,13 +1492,13 @@
    if (this.env.messages[row.uid])
      this.env.messages[row.uid].expanded = row.expanded;
  };
  this.msglist_set_coltypes = function(list)
  {
    var i, found, name, cols = list.list.tHead.rows[0].cells;
    this.env.coltypes = [];
    for (i=0; i<cols.length; i++)
      if (cols[i].id && cols[i].id.match(/^rcm/)) {
        name = cols[i].id.replace(/^rcm/, '');
@@ -1520,7 +1517,7 @@
  this.check_droptarget = function(id)
  {
    var allow = false, copy = false;
    if (this.task == 'mail')
      allow = (this.env.mailboxes[id] && this.env.mailboxes[id].id != this.env.mailbox && !this.env.mailboxes[id].virtual);
    else if (this.task == 'settings')
@@ -1538,7 +1535,7 @@
        }
      }
    }
    return allow ? (copy ? 2 : 1) : 0;
  };
@@ -1594,7 +1591,9 @@
      depth: flags.depth?flags.depth:0,
      unread_children: flags.unread_children?flags.unread_children:0,
      parent_uid: flags.parent_uid?flags.parent_uid:0,
      selected: this.select_all_mode || this.message_list.in_selection(uid)
      selected: this.select_all_mode || this.message_list.in_selection(uid),
      // flags from plugins
      flags: flags.extra_flags
    });
    var c, tree = expando = '',
@@ -1729,7 +1728,7 @@
  {
    var update, add_url = '';
    if (sort_col === null)
    if (typeof sort_col == 'undefined')
      sort_col = this.env.sort_col;
    if (!sort_order)
      sort_order = this.env.sort_order;
@@ -1894,6 +1893,7 @@
      this.env.current_page = page;
      this.select_all_mode = false;
      this.show_contentframe(false);
      this.env.messages = {};
    }
    if (mbox != this.env.mailbox || (mbox == this.env.mailbox && !page && !sort))
@@ -2258,8 +2258,6 @@
      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
@@ -3067,32 +3065,6 @@
    return true;
  };
  this.show_attachment_form = function(a)
  {
    if (!this.gui_objects.uploadbox)
      return false;
    var elm, list;
    if (elm = this.gui_objects.uploadbox) {
      if (a && (list = this.gui_objects.attachmentlist)) {
        var pos = $(list).offset();
        elm.style.top = (pos.top + list.offsetHeight + 10) + 'px';
        elm.style.left = pos.left + 'px';
      }
      $(elm).toggle();
    }
    // clear upload form
    try {
      if (!a && this.gui_objects.attachmentform != this.gui_objects.messageform)
        this.gui_objects.attachmentform.reset();
    }
    catch(e){}  // ignore errors
    return true;
  };
  // upload attachment file
  this.upload_file = function(form)
  {
@@ -3155,8 +3127,6 @@
      form.setAttribute('enctype', 'multipart/form-data');
      form.submit();
      // hide upload form
      this.show_attachment_form(false);
      // display upload indicator and cancel button
      var content = this.get_label('uploading');
      if (this.env.loadingicon)
@@ -4673,7 +4643,7 @@
  this.set_quota = function(content)
  {
    if (content && this.gui_objects.quotadisplay) {
      if (typeof(content) == 'object')
      if (typeof(content) == 'object' && content.type == 'image')
        this.percent_indicator(this.gui_objects.quotadisplay, content);
      else
        $(this.gui_objects.quotadisplay).html(content);
@@ -4824,6 +4794,9 @@
      quota_width = parseInt(quota / 100 * width),
      pos = $(obj).position();
    // Opera bug?
    pos.top = Math.max(0, pos.top);
    this.env.indicator_width = width;
    this.env.indicator_height = height;
@@ -4832,6 +4805,9 @@
      quota_width = width;
      quota = 100; 
    }
    if (data.title)
      data.title = this.get_label('quota') + ': ' +  data.title;
    // main div
    var main = $('<div>');
@@ -4863,6 +4839,8 @@
    // replace quota image
    $(obj).html('').append(bar1).append(bar2).append(main);
    // update #quotaimg title
    $('#quotaimg').attr('title', data.title);
  };
  /********************************************************/
@@ -4927,7 +4905,7 @@
    querystring += (querystring ? '&' : '') + '_remote=1';
    var url = this.env.comm_path + '&_action=' + action + '&' + querystring;
    // send request
    console.log('HTTP GET: ' + url);
    $.get(url, { _unlock:(lock?1:0) }, function(data){ ref.http_response(data); }, 'json');
@@ -5077,9 +5055,9 @@
    if (this._int)
      clearInterval(this._int);
    if (this.env.keep_alive && !this.env.framed && this.task=='mail' && this.gui_objects.mailboxlist)
    if (this.env.keep_alive && !this.env.framed && this.task == 'mail' && this.gui_objects.mailboxlist)
      this._int = setInterval(function(){ ref.check_for_recent(false); }, this.env.keep_alive * 1000);
    else if (this.env.keep_alive && !this.env.framed && this.task!='login')
    else if (this.env.keep_alive && !this.env.framed && this.task != 'login' && this.env.action != 'print')
      this._int = setInterval(function(){ ref.send_keep_alive(); }, this.env.keep_alive * 1000);
  };