From 82dcbb7488ce1625ba4f41fbdc8e6319d3da9691 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sun, 20 Sep 2015 11:45:53 -0400 Subject: [PATCH] Fix various issues in Mailvelope integration (#1490533) --- skins/larry/ui.js | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 14 deletions(-) diff --git a/skins/larry/ui.js b/skins/larry/ui.js index fb7ca31..b3c6abd 100644 --- a/skins/larry/ui.js +++ b/skins/larry/ui.js @@ -1,5 +1,3 @@ -// @license http://creativecommons.org/publicdomain/zero/1.0/legalcode CC0 - /** * Roundcube functions for default skin interface * @@ -9,6 +7,8 @@ * License. It is allowed to copy, distribute, transmit and to adapt the work * by keeping credits to the original autors in the README file. * See http://creativecommons.org/licenses/by-sa/3.0/ for details. + * + * @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0 */ function rcube_mail_ui() @@ -174,11 +174,15 @@ } else if (rcmail.env.action == 'compose') { rcmail.addEventListener('aftersend-attachment', show_uploadform) - .addEventListener('add-recipient', function(p){ show_header_row(p.field, true); }) - .addEventListener('aftertoggle-editor', function(e){ + .addEventListener('aftertoggle-editor', function(e) { window.setTimeout(function(){ layout_composeview() }, 200); if (e && e.mode) $("select[name='editorSelector']").val(e.mode); + }) + .addEventListener('compose-encrypted', function(e) { + $("select[name='editorSelector']").prop('disabled', e.active); + $('a.button.attach, a.button.responses')[(e.active?'addClass':'removeClass')]('disabled'); + $('#responseslist a.insertresponse')[(e.active?'removeClass':'addClass')]('active'); }); // Show input elements with non-empty value @@ -231,6 +235,8 @@ if (previewframe) mailviewsplit.init(); + rcmail.init_pagejumper('#pagejumper'); + rcmail.addEventListener('setquota', update_quota) .addEventListener('enable-command', enable_command) .addEventListener('afterimport-messages', show_uploadform); @@ -277,19 +283,22 @@ orientation:'v', relative:true, start:266, min:180, size:12 }).init(); } else if (rcmail.env.action == 'edit-prefs') { - $('<a href="#toggle"></a>') + var legend = $('#preferences-details fieldset.advanced legend'), + toggle = $('<a href="#toggle"></a>') .text(env.toggleoptions) .attr('title', env.toggleoptions) - .addClass('advanced-toggle') - .appendTo('#preferences-details fieldset.advanced legend'); + .addClass('advanced-toggle'); - $('#preferences-details fieldset.advanced legend').click(function(e){ - var collapsed = $(this).hasClass('collapsed'), - toggle = $('.advanced-toggle', this).html(collapsed ? '▲' : '▼'); - $(this) - .toggleClass('collapsed') - .closest('fieldset').children('.propform').toggle() - }).addClass('collapsed') + legend.click(function(e) { + toggle.html($(this).hasClass('collapsed') ? '▲' : '▼'); + + $(this).toggleClass('collapsed') + .closest('fieldset').children('.propform').toggle() + }).append(toggle).addClass('collapsed') + + // this magically fixes incorrect position of toggle link created above in Firefox 3.6 + if (bw.mz) + legend.parents('form').css('display', 'inline'); } } /*** addressbook task ***/ @@ -463,6 +472,14 @@ $('div.rightcol').hide().attr('aria-hidden', 'true'); $('div.leftcol').css('margin-right', '0'); } + + var mvlpe = $('#messagebody.mailvelope'); + if (mvlpe.length) { + var h = $('#messagecontent').length ? + $('#messagecontent').height() - 16 : + $(window).height() - mvlpe.offset().top - 10; + mvlpe.height(h); + } } @@ -529,6 +546,7 @@ y -= step; element.css('background-position', '0 -' + y + 'px'); + element.attr('class', 'countdisplay p' + (Math.round(p.percent / 10) * 10)); if (p.table) { if (!menu.length) @@ -1010,6 +1028,10 @@ return; } + // do nothing if mailvelope editor is active + if (rcmail.mailvelope_editor) + return; + // add icons to clone file input field if (rcmail.env.action == 'compose' && !$dialog.data('extended')) { $('<a>') -- Gitblit v1.9.1