Changeset 3594 in subversion


Ignore:
Timestamp:
May 5, 2010 3:14:53 PM (3 years ago)
Author:
alec
Message:
  • Set focus to editor on reply in HTML mode (#1486632)
  • Fix composing in HTML jumps cursor to body instead of recipients (#1486674)
Location:
trunk/roundcubemail
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/CHANGELOG

    r3584 r3594  
    22=========================== 
    33 
     4- Set focus to editor on reply in HTML mode (#1486632) 
     5- Fix composing in HTML jumps cursor to body instead of recipients (#1486674) 
    46- Allow columns order change per user - drag&drop (#1485795) 
    57- Add References header in read receipt (#1486681) 
  • trunk/roundcubemail/program/js/app.js

    r3584 r3594  
    26222622    else if (input_subject.val() == '') 
    26232623      input_subject.focus(); 
    2624     else if (input_message && !html_mode) 
     2624    else if (input_message) 
    26252625      input_message.focus(); 
     2626 
     2627    this.env.compose_focus_elem = document.activeElement; 
    26262628 
    26272629    // get summary of all field values 
     
    27902792      show_sig = this.env.show_sig; 
    27912793 
    2792     var id = obj.options[obj.selectedIndex].value; 
    2793     var input_message = $("[name='_message']"); 
    2794     var message = input_message.val(); 
    2795     var is_html = ($("input[name='_is_html']").val() == '1'); 
    2796     var sig_separator = this.env.sig_above && (this.env.compose_mode == 'reply' || this.env.compose_mode == 'forward') ? '---' : '-- '; 
    2797     var sig, cursor_pos, p = -1; 
     2794    var sig, cursor_pos, p = -1, 
     2795      id = obj.options[obj.selectedIndex].value, 
     2796      input_message = $("[name='_message']"), 
     2797      message = input_message.val(), 
     2798      is_html = ($("input[name='_is_html']").val() == '1'), 
     2799      sig_separator = this.env.sig_above && (this.env.compose_mode == 'reply' || this.env.compose_mode == 'forward') ? '---' : '-- '; 
    27982800 
    27992801    if (!this.env.identity) 
     
    28312833            message = message.substring(0, p) + sig + message.substring(p, message.length); 
    28322834            cursor_pos = p - 1; 
    2833           }  
     2835          } 
    28342836          else if (pos = this.get_caret_pos(input_message.get(0))) { // at cursor position 
    28352837            message = message.substring(0, pos) + '\n' + sig + '\n\n' + message.substring(pos, message.length); 
     
    28392841            cursor_pos = 0; 
    28402842            message = '\n\n' + sig + '\n\n' + message.replace(/^[\r\n]+/, ''); 
    2841           }  
     2843          } 
    28422844        } 
    28432845        else { 
     
    28562858    } 
    28572859    else if (show_sig && this.env.signatures) {  // html 
    2858       var editor = tinyMCE.get(this.env.composebody); 
    2859       var sigElem = editor.dom.get('_rc_sig'); 
     2860      var editor = tinyMCE.get(this.env.composebody), 
     2861        sigElem = editor.dom.get('_rc_sig'); 
    28602862 
    28612863      // Append the signature as a div within the body 
    28622864      if (!sigElem) { 
    2863         var body = editor.getBody(); 
    2864         var doc = editor.getDoc(); 
     2865        var body = editor.getBody(), 
     2866          doc = editor.getDoc(); 
    28652867 
    28662868        sigElem = doc.createElement('div'); 
     
    28692871        if (this.env.sig_above) { 
    28702872          // if no existing sig and top posting then insert at caret pos 
    2871           editor.getWin().focus(); // correct focus in IE 
     2873          editor.getWin().focus(); // correct focus in IE & Chrome 
    28722874 
    28732875          var node = editor.selection.getNode(); 
  • trunk/roundcubemail/program/js/editor.js

    r3469 r3594  
    6464function rcmail_editor_callback(editor) 
    6565{ 
    66   var input_from = rcube_find_object('_from'); 
    67   if (input_from && input_from.type=='select-one') 
    68     rcmail.change_identity(input_from); 
     66  var editor, elem = rcube_find_object('_from'); 
     67  if (elem && elem.type=='select-one') 
     68    rcmail.change_identity(elem); 
    6969  // set tabIndex 
    7070  rcmail_editor_tabindex(); 
     71  // set focus to element that was focused before 
     72  if (elem = rcmail.env.compose_focus_elem) { 
     73    if (elem.id == rcmail.env.composebody && (editor = tinyMCE.get(rcmail.env.composebody))) 
     74      editor.getWin().focus(); 
     75    else 
     76      elem.focus(); 
     77  } 
    7178} 
    7279 
Note: See TracChangeset for help on using the changeset viewer.