summaryrefslogtreecommitdiff
path: root/skins/larry/ui.js
diff options
context:
space:
mode:
Diffstat (limited to 'skins/larry/ui.js')
-rw-r--r--skins/larry/ui.js37
1 files changed, 29 insertions, 8 deletions
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index 0fd0241f7..75dcba8ec 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -106,14 +106,17 @@ function rcube_mail_ui()
// add menu link for each attachment
$('#attachment-list > li').each(function() {
- $(this).append($('<a class="drop">').click(function() { attachmentmenu(this); }));
+ $(this).append($('<a class="drop"></a>').click(function() { attachmentmenu(this); }));
});
}
else if (rcmail.env.action == 'compose') {
- rcmail.addEventListener('aftertoggle-editor', function(){ window.setTimeout(function(){ layout_composeview() }, 200); });
+ rcmail.addEventListener('aftertoggle-editor', function(e){
+ window.setTimeout(function(){ layout_composeview() }, 200);
+ if (e && e.mode)
+ $("select[name='editorSelector']").val(e.mode);
+ });
rcmail.addEventListener('aftersend-attachment', show_uploadform);
rcmail.addEventListener('add-recipient', function(p){ show_header_row(p.field, true); });
- layout_composeview();
// Show input elements with non-empty value
var f, v, field, fields = ['cc', 'bcc', 'replyto', 'followupto'];
@@ -133,6 +136,10 @@ function rcube_mail_ui()
return false;
}).css('cursor', 'pointer');
+ // adjust hight when textarea starts to scroll
+ $("textarea[name='_to'], textarea[name='_cc'], textarea[name='_bcc']").change(function(e){ adjust_compose_editfields(this); }).change();
+ rcmail.addEventListener('autocomplete_insert', function(p){ adjust_compose_editfields(p.field); });
+
// toggle compose options if opened in new window and they were visible before
var opener_rc = rcmail.opener();
if (opener_rc && opener_rc.env.action == 'compose' && $('#composeoptionstoggle', opener.document).hasClass('remove'))
@@ -366,6 +373,10 @@ function rcube_mail_ui()
*/
function message_displayed(p)
{
+ var siblings = $(p.object).siblings('div');
+ if (siblings.length)
+ $(p.object).insertBefore(siblings.first());
+
// show a popup dialog on errors
if (p.type == 'error' && rcmail.env.task != 'login') {
if (me.message_timer) {
@@ -392,12 +403,12 @@ function rcube_mail_ui()
me.messagedialog.dialog('destroy').hide();
},
position: ['center', pos.top],
- hide: { effect:'drop', direction:'down' },
+ hide: { effect:'drop', direction:'right' },
width: 420,
minHeight: 90
}).show();
- me.message_timer = 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(3000, p.timeout / 2));
}
}
@@ -428,6 +439,16 @@ function rcube_mail_ui()
// STUB
}
+ function adjust_compose_editfields(elem)
+ {
+ if (elem.nodeName == 'TEXTAREA') {
+ var $elem = $(elem), line_height = 14, // hard-coded because some browsers only provide the outer height in elem.clientHeight
+ content_height = elem.scrollHeight,
+ rows = elem.value.length > 80 && content_height > line_height*1.5 ? 2 : 1;
+ $elem.css('height', (line_height*rows) + 'px');
+ layout_composeview();
+ }
+ }
function layout_composeview()
{
@@ -592,7 +613,7 @@ function rcube_mail_ui()
if (visible) {
$('#mailview-top').removeClass('fullheight').css({ bottom:'auto' });
- $('#mailview-bottom').css({ height:'auto' });
+ $('#mailview-bottom').css({ height:'auto' }).show();
rcmail.env.contentframe = 'messagecontframe';
if (uid = rcmail.message_list.get_single_selection())
@@ -610,8 +631,8 @@ function rcube_mail_ui()
rcmail.env.contentframe = null;
rcmail.show_contentframe(false);
- $('#mailview-top').addClass('fullheight').css({ height:'auto', bottom:'28px' });
- $('#mailview-bottom').css({ top:'auto', height:'26px' });
+ $('#mailview-top').addClass('fullheight').css({ height:'auto', bottom:'0px' });
+ $('#mailview-bottom').css({ top:'auto', height:'0px' }).hide();
if (mailviewsplit.handle)
mailviewsplit.handle.hide();