diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-10-16 17:57:05 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-10-16 17:57:05 +0200 |
commit | 464a0fba9d8376962fa216b4fd9e023a3182f7fa (patch) | |
tree | 987ba2ac3009dabeafc9835261144c498cbc48b0 /skins | |
parent | 699cb1fda3594705918c987714e7277572afb8b0 (diff) |
Display connection errors in UI. Stack error messages in popup (Larry skin)
Diffstat (limited to 'skins')
-rw-r--r-- | skins/larry/ui.js | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/skins/larry/ui.js b/skins/larry/ui.js index 9b5d8309c..42d5237ea 100644 --- a/skins/larry/ui.js +++ b/skins/larry/ui.js @@ -288,14 +288,21 @@ function rcube_mail_ui() { // show a popup dialog on errors if (p.type == 'error' && rcmail.env.task != 'login') { + if (me.message_timer) { + window.clearTimeout(me.message_timer); + } if (!me.messagedialog) { - me.messagedialog = $('<div>').addClass('popupdialog'); + me.messagedialog = $('<div>').addClass('popupdialog').hide(); } - var pos = $(p.object).offset(); + var msg = p.message, + pos = $(p.object).offset(); pos.top -= (rcmail.env.task == 'login' ? 20 : 160); - me.messagedialog.dialog('close'); - me.messagedialog.html(p.message) + + if (me.messagedialog.is(':visible')) + msg = me.messagedialog.html() + '<p>' + p.message + '</p>'; + + me.messagedialog.html(msg) .dialog({ resizable: false, closeOnEscape: true, @@ -310,7 +317,7 @@ function rcube_mail_ui() minHeight: 90 }).show(); - window.setTimeout(function(){ me.messagedialog.dialog('close'); }, Math.max(2000, p.timeout / 2)); + me.message_timer = window.setTimeout(function(){ me.messagedialog.dialog('close'); }, Math.max(2000, p.timeout / 2)); } } |