diff options
Diffstat (limited to 'program/js/app.js')
-rw-r--r-- | program/js/app.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/program/js/app.js b/program/js/app.js index fb9c299ec..88e4606a7 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -507,6 +507,11 @@ function rcube_webmail() if (this.busy) return false; + // let the browser handle this click (shift/ctrl usually opens the link in a new window/tab) + if ((obj && obj.href && String(obj.href).indexOf(location.href) < 0) && rcube_event.get_modifier(event)) { + return true; + } + // command not supported or allowed if (!this.commands[command]) { // pass command to parent window @@ -562,7 +567,7 @@ function rcube_webmail() break; case 'about': - location.href = '?_task=settings&_action=about'; + this.redirect('?_task=settings&_action=about', false); break; case 'permaurl': @@ -3415,6 +3420,10 @@ function rcube_webmail() message = message.substring(0, p) + sig + message.substring(p, message.length); cursor_pos = p - 1; } + else if (!message) { // empty message + cursor_pos = 0; + message = '\n\n' + sig; + } else if (pos = this.get_caret_pos(input_message.get(0))) { // at cursor position message = message.substring(0, pos) + '\n' + sig + '\n\n' + message.substring(pos, message.length); cursor_pos = pos; |