alecpl
2008-06-11 d87fc29fee9e629fad49d956a449ae647c0bc142
program/js/app.js
@@ -1397,13 +1397,13 @@
      lock = true;
      this.set_busy(true, 'movingmessage');
      }
    else
    else if (!this.env.flag_for_deletion)
      this.show_contentframe(false);
    // Hide message command buttons until a message is selected
    this.enable_command('reply', 'reply-all', 'forward', 'delete', 'mark', 'print', false);
    this._with_selected_messages('moveto', lock, add_url);
    this._with_selected_messages('moveto', lock, add_url, (this.env.flag_for_deletion ? false : true));
    };
  // delete selected messages from the current mailbox
@@ -1453,12 +1453,12 @@
      return;
      
    this.show_contentframe(false);
    this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : ''));
    this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : ''), true);
    };
  // Send a specifc request with UIDs of all selected messages
  // @private
  this._with_selected_messages = function(action, lock, add_url)
  this._with_selected_messages = function(action, lock, add_url, remove)
    {
    var a_uids = new Array();
@@ -1467,13 +1467,28 @@
    else
      {
      var selection = this.message_list.get_selection();
      var rows = this.message_list.rows;
      var id;
      for (var n=0; n<selection.length; n++)
        {
        id = selection[n];
        a_uids[a_uids.length] = id;
        this.message_list.remove_row(id, (n == selection.length-1));
   if (remove)
          this.message_list.remove_row(id, (n == selection.length-1));
        else
     {
     rows[id].deleted = true;
          if (rows[id].classname.indexOf('deleted')<0)
       {
            rows[id].classname += ' deleted';
            this.set_classname(rows[id].obj, 'deleted', true);
            }
     if (rows[id].icon && this.env.deletedicon)
            rows[id].icon.src = this.env.deletedicon;
     }
        }
      }
    
@@ -1838,9 +1853,9 @@
    var input_cc = rcube_find_object('_cc');
    var input_bcc = rcube_find_object('_bcc');
    var input_subject = rcube_find_object('_subject');
    var input_message = rcube_find_object('_message');
    var editor, input_message;
    var str = '';
    if (input_to && input_to.value)
      str += input_to.value+':';
    if (input_cc && input_cc.value)
@@ -1849,8 +1864,14 @@
      str += input_bcc.value+':';
    if (input_subject && input_subject.value)
      str += input_subject.value+':';
    if (input_message && input_message.value)
    if (editor = tinyMCE.get('compose-body'))
      str += editor.getContent();
    else
      {
      input_message = rcube_find_object('_message');
      str += input_message.value;
      }
    
    if (save)
      this.cmp_hash = str;
@@ -2647,12 +2668,20 @@
    var form;
    if ((form = this.gui_objects.editform) && form.elements['_folder_name'])
      {
      name = form.elements['_folder_name'].value;
    if (this.env.folder && name != '')
      name = this.env.folder+this.env.delimiter+name;
    if (name)
      if (name.indexOf(this.env.delimiter)>=0)
        {
        alert(this.get_label('forbiddencharacter')+' ('+this.env.delimiter+')');
        return false;
        }
      if (this.env.folder && name != '')
        name = this.env.folder+this.env.delimiter+name;
      this.http_post('create-folder', '_name='+urlencode(name), true);
      }
    else if (form.elements['_folder_name'])
      form.elements['_folder_name'].focus();
    };
@@ -2716,8 +2745,15 @@
      var newname = this.name_input ? this.name_input.value : null;
      if (this.edit_folder && newname)
        {
        if (newname.indexOf(this.env.delimiter)>=0)
          {
          alert(this.get_label('forbiddencharacter')+' ('+this.env.delimiter+')');
          return false;
          }
        if (this.name_input.__parent)
          newname = this.name_input.__parent + this.env.delimiter + newname;
        this.http_post('rename-folder', '_folder_oldname='+urlencode(this.env.subscriptionrows[this.edit_folder][0])+'&_folder_newname='+urlencode(newname));
        }
      }
@@ -2749,7 +2785,6 @@
  // add a new folder to the subscription list by cloning a folder row
  this.add_folder_row = function(name, display_name, replace, before)
    {
    name = name.replace('\\',"");
    if (!this.gui_objects.subscriptionlist)
      return false;