diff options
| -rw-r--r-- | CHANGELOG | 1 | ||||
| -rw-r--r-- | program/js/app.js | 13 | ||||
| -rw-r--r-- | program/steps/mail/compose.inc | 11 | 
3 files changed, 19 insertions, 6 deletions
@@ -12,6 +12,7 @@ CHANGELOG Roundcube Webmail  - Fix handling of base64-encoded attachments with extra spaces (#1490111)  - Fix handling of UNKNOWN-CTE response, try do decode content client-side (#1490046)  - Fix bug where creating subfolders in shared folders wasn't possible without ACL extension (#1490113) +- Fix reply scrolling issue with text mode and start message below the quote (#1490114)  RELEASE 1.0.3  ------------- diff --git a/program/js/app.js b/program/js/app.js index 323fd258c..6e0d6902f 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3128,7 +3128,7 @@ function rcube_webmail()      if (!this.gui_objects.messageform)        return false; -    var input_from = $("[name='_from']"), +    var i, pos, input_from = $("[name='_from']"),        input_to = $("[name='_to']"),        input_subject = $("input[name='_subject']"),        input_message = $("[name='_message']").get(0), @@ -3157,17 +3157,24 @@ function rcube_webmail()      // init live search events      this.init_address_input_events(input_to, ac_props); -    for (var i in ac_fields) { +    for (i in ac_fields) {        this.init_address_input_events($("[name='_"+ac_fields[i]+"']"), ac_props);      }      if (!html_mode) { -      this.set_caret_pos(input_message, this.env.top_posting ? 0 : $(input_message).val().length); +      pos = this.env.top_posting ? 0 : input_message.value.length; +      this.set_caret_pos(input_message, pos); +        // add signature according to selected identity        // if we have HTML editor, signature is added in callback        if (input_from.prop('type') == 'select-one') {          this.change_identity(input_from[0]);        } + +      // scroll to the bottom of the textarea (#1490114) +      if (pos) { +        $(input_message).scrollTop(input_message.scrollHeight); +      }      }      // check for locally stored compose data diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 1414d903e..6a5ce56a4 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -989,6 +989,8 @@ function rcmail_create_reply_body($body, $bodyIsHtml)          )      )); +    $reply_mode = intval($RCMAIL->config->get('reply_mode')); +      if (!$bodyIsHtml) {          $body = preg_replace('/\r?\n/', "\n", $body);          $body = trim($body, "\n"); @@ -997,10 +999,13 @@ function rcmail_create_reply_body($body, $bodyIsHtml)          $body = rcmail_wrap_and_quote($body, $LINE_LENGTH);          $prefix .= "\n"; -        $suffix = ''; -        if (intval($RCMAIL->config->get('reply_mode')) > 0) { // top-posting +        if ($reply_mode > 0) { // top-posting              $prefix = "\n\n\n" . $prefix; +            $suffix = ''; +        } +        else { +            $suffix = "\n";          }      }      else { @@ -1015,7 +1020,7 @@ function rcmail_create_reply_body($body, $bodyIsHtml)          $prefix = '<p>' . rcube::Q($prefix) . "</p>\n";          $prefix .= '<blockquote>'; -        if (intval($RCMAIL->config->get('reply_mode')) > 0) { // top-posting +        if ($reply_mode > 0) { // top-posting              $prefix = '<br>' . $prefix;              $suffix = '</blockquote>';          }  | 
