summaryrefslogtreecommitdiff
path: root/program/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js/app.js')
-rw-r--r--program/js/app.js33
1 files changed, 19 insertions, 14 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 943b144f6..bda67002e 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -35,7 +35,7 @@ function rcube_webmail()
// webmail client settings
this.dblclick_time = 500;
- this.message_time = 5000;
+ this.message_time = 3000;
this.identifier_expr = new RegExp('[^0-9a-z\-_]', 'gi');
@@ -694,7 +694,7 @@ function rcube_webmail()
}
}
- this.goto_url('get', qstring+'&_download=1');
+ this.goto_url('get', qstring+'&_download=1', false);
break;
case 'select-all':
@@ -1063,7 +1063,9 @@ function rcube_webmail()
this.unfocus_folder(id);
this.command('moveto', id);
}
-
+
+ // Hide message command buttons until a message is selected
+ this.enable_command('reply', 'reply-all', 'forward', 'delete', 'print', false);
return false;
};
@@ -1088,15 +1090,16 @@ function rcube_webmail()
clearTimeout(this.preview_timer);
var selected = list.selection.length==1;
+
+ // Hide certain command buttons when Drafts folder is selected
if (this.env.mailbox == this.env.drafts_mailbox)
{
- this.enable_command('show', selected);
- this.enable_command('delete', 'moveto', list.selection.length>0 ? true : false);
+ this.enable_command('reply', 'reply-all', 'forward', false);
+ this.enable_command('show', 'delete', 'moveto', selected);
}
else
{
- this.enable_command('show', 'reply', 'reply-all', 'forward', 'print', selected);
- this.enable_command('delete', 'moveto', list.selection.length>0 ? true : false);
+ this.enable_command('show', 'reply', 'reply-all', 'forward', 'print', 'delete', 'moveto', selected);
}
// start timer for message preview (wait for double click)
@@ -1680,7 +1683,7 @@ function rcube_webmail()
}
// check for empty body
- if ((input_message.value=='')&&(tinyMCE.getContent()==''))
+ if ((input_message.value=='')&&(tinyMCE == null ? true : (tinyMCE.getContent()=='' || tinyMCE.getContent() == null)))
{
if (!confirm(this.get_label('nobodywarning')))
{
@@ -1711,6 +1714,9 @@ function rcube_webmail()
{
if (this.env.draft_autosave)
this.save_timer = self.setTimeout(function(){ ref.command("savedraft"); }, this.env.draft_autosave * 1000);
+
+ // Unlock interface now that saving is complete
+ this.busy = false;
};
@@ -3187,9 +3193,11 @@ function rcube_webmail()
/********* remote request methods *********/
/********************************************************/
- this.redirect = function(url)
+ this.redirect = function(url, lock)
{
- this.set_busy(true);
+ if (lock || lock == NULL)
+ this.set_busy(true);
+
if (this.env.framed && window.parent)
parent.location.href = url;
else
@@ -3198,11 +3206,8 @@ function rcube_webmail()
this.goto_url = function(action, query, lock)
{
- if (lock)
- this.set_busy(true);
-
var querystring = query ? '&'+query : '';
- this.redirect(this.env.comm_path+'&_action='+action+querystring);
+ this.redirect(this.env.comm_path+'&_action='+action+querystring, lock);
};