summaryrefslogtreecommitdiff
path: root/skins
diff options
context:
space:
mode:
Diffstat (limited to 'skins')
-rw-r--r--skins/larry/ui.js17
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));
}
}