alecpl
2010-06-19 a2e81736a91f72c8688e6ab0f45061369614dae3
program/js/editor.js
@@ -55,7 +55,7 @@
      gecko_spellcheck : true,
      relative_urls : false,
      remove_script_host : false,
      rc_client: rcmail,
      rc_client : rcmail,
      oninit : 'rcmail_editor_callback'
    });
}
@@ -63,11 +63,18 @@
// react to real individual tinyMCE editor init
function rcmail_editor_callback(editor)
{
  var input_from = rcube_find_object('_from');
  if (input_from && input_from.type=='select-one')
    rcmail.change_identity(input_from);
  var editor, elem = rcube_find_object('_from');
  if (elem && elem.type=='select-one')
    rcmail.change_identity(elem);
  // set tabIndex
  rcmail_editor_tabindex();
  // set focus to element that was focused before
  if (elem = rcmail.env.compose_focus_elem) {
    if (elem.id == rcmail.env.composebody && (editor = tinyMCE.get(rcmail.env.composebody)))
      editor.getWin().focus();
    else
      elem.focus();
  }
}
// set tabIndex on tinyMCE editor
@@ -75,10 +82,12 @@
{
  if (rcmail.env.task == 'mail') {
    var editor = tinyMCE.get(rcmail.env.composebody);
    var textarea = editor.getElement();
    var node = editor.getContentAreaContainer().childNodes[0];
    if (textarea && node)
      node.tabIndex = textarea.tabIndex;
    if (editor) {
      var textarea = editor.getElement();
      var node = editor.getContentAreaContainer().childNodes[0];
      if (textarea && node)
        node.tabIndex = textarea.tabIndex;
    }
  }
}
@@ -98,8 +107,9 @@
    rcmail.display_spellcheck_controls(false);
    rcmail.plain2html(composeElement.value, textAreaId);
    tinyMCE.execCommand('mceAddControl', true, textAreaId);
    rcmail_editor_tabindex();
    tinyMCE.execCommand('mceAddControl', false, textAreaId);
    // #1486593
    setTimeout("rcmail_editor_tabindex();", 500);
    if (flagElement && (flag = rcube_find_object(flagElement)))
      flag.value = '1';
    }
@@ -118,7 +128,7 @@
      rcmail.html2plain(existingHtml, textAreaId);
      }
    tinyMCE.execCommand('mceRemoveControl', true, textAreaId);
    tinyMCE.execCommand('mceRemoveControl', false, textAreaId);
    rcmail.display_spellcheck_controls(true);
    if (flagElement && (flag = rcube_find_object(flagElement)))
      flag.value = '0';