From 464a0fba9d8376962fa216b4fd9e023a3182f7fa Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 16 Oct 2012 17:57:05 +0200 Subject: Display connection errors in UI. Stack error messages in popup (Larry skin) --- skins/larry/ui.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'skins/larry') 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 = $('
').addClass('popupdialog'); + me.messagedialog = $('
').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.message + '

'; + + 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)); } } -- cgit v1.2.3