From 7fe87bba240c8190ffbf9abc52e0b3a0eefd819b Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sun, 27 Sep 2015 06:56:17 -0400 Subject: [PATCH] Mailvelope integration with classic skin --- skins/classic/mail.css | 65 ++++++++++++++++++++++++++++++++ skins/classic/functions.js | 24 +++++++++++- skins/classic/templates/compose.html | 3 + skins/classic/images/mail_toolbar.png | 0 4 files changed, 89 insertions(+), 3 deletions(-) diff --git a/skins/classic/functions.js b/skins/classic/functions.js index f179a3d..a23fd37 100644 --- a/skins/classic/functions.js +++ b/skins/classic/functions.js @@ -193,6 +193,9 @@ catch(e){} // ignore errors } + if (rcmail.mailvelope_editor) + return; + this.show_popupmenu('uploadmenu', show); if (!document.all && this.popups.uploadmenu.obj.is(':visible')) @@ -1035,9 +1038,16 @@ setTimeout(function() { rcmail.message_list.resize(); }, 10); }); - if (rcmail.env.action == 'compose') + if (rcmail.env.action == 'compose') { rcmail_ui.init_compose_form(); - else if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') + rcmail.addEventListener('compose-encrypted', function(e) { + $("a.button.encrypt")[(e.active ? 'addClass' : 'removeClass')]('selected'); + $("select[name='editorSelector']").prop('disabled', e.active); + $('a.button.attach, a.button.responses, a.button.attach, #uploadmenulink')[(e.active ? 'addClass' : 'removeClass')]('buttonPas disabled'); + $('#responseslist a.insertresponse')[(e.active ? 'removeClass' : 'addClass')]('active'); + }); + } + else if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') { // add menu link for each attachment $('#attachment-list > li[id^="attach"]').each(function() { $(this).append($('<a class="drop"></a>').bind('click keypress', function(e) { @@ -1047,6 +1057,16 @@ } })); }); + + $(window).resize(function() { + var mvlpe = $('#messagebody.mailvelope'); + if (mvlpe.length) { + var content = $('#messageframe'), + h = (content.length ? content.height() + content.offset().top - 25 : $(this).height()) - mvlpe.offset().top - 20; + mvlpe.height(h); + } + }); + } } else if (rcmail.env.task == 'addressbook') { rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); }) diff --git a/skins/classic/images/mail_toolbar.png b/skins/classic/images/mail_toolbar.png index a550395..1c6747a 100644 --- a/skins/classic/images/mail_toolbar.png +++ b/skins/classic/images/mail_toolbar.png Binary files differ diff --git a/skins/classic/mail.css b/skins/classic/mail.css index 060503b..75a58a3 100644 --- a/skins/classic/mail.css +++ b/skins/classic/mail.css @@ -184,6 +184,14 @@ background-position: -548px 0; } +#messagetoolbar a.encrypt { + background-position: -612px 0; +} + +#messagetoolbar a.encryptSel { + background-position: -612px -32px; +} + #messagemenu li a.active:hover, #attachmentmenu li a.active:hover, #markmessagemenu li a.active:hover @@ -1029,6 +1037,10 @@ background-color: #F4F4F4; } +#messagebody.mailvelope { + padding: 10px 8px; +} + #messagebody table.headers-table { margin: 16px 6px 6px 6px; @@ -1712,3 +1724,56 @@ top: 45px; position: absolute; } + +.mailvelopekeyimport div.key { + position: relative; + margin-bottom: 2px; + padding: 1em 1em 5px; + background-color: #ebebeb; +} + +.mailvelopekeyimport div.key.revoked, +.mailvelopekeyimport div.key.disabled { + color: #a0a0a0; +} + +.mailvelopekeyimport div.key label { + display: inline-block; + margin-right: 0.5em; +} + +.mailvelopekeyimport div.key label:after { + content: ":"; +} + +.mailvelopekeyimport div.key label + a, +.mailvelopekeyimport div.key label + span { + display: inline-block; + margin-right: 2em; + white-space: nowrap; +} + +.mailvelopekeyimport div.key label + a { + font-weight: bold; +} + +.mailvelopekeyimport ul.uids { + margin: 5px 1em 0 1em; + padding: 0; +} + +.mailvelopekeyimport li.uid { + border: 0; + padding: 2px; +} + +.mailvelopekeyimport div.key input.button.importkey { + position: absolute; + top: 0.8em; + right: 0.8em; + padding: 2px 6px; +} + +.mailvelopekeyimport div.key input.button[disabled] { + display: none; +} diff --git a/skins/classic/templates/compose.html b/skins/classic/templates/compose.html index 8050325..aef064e 100644 --- a/skins/classic/templates/compose.html +++ b/skins/classic/templates/compose.html @@ -39,6 +39,7 @@ </span> <roundcube:endif /> <a href="#responses" class="button responses" label="responses" title="<roundcube:label name='insertresponse' />" id="responsesmenulink" unselectable="on" onmousedown="return false" onclick="rcmail_ui.show_popup('responsesmenu');return false"> </a> + <roundcube:button command="compose-encrypted" type="link" class="buttonPas encrypt disabled" classAct="button encrypt" classSel="button encrypt" title="encryptmessagemailvelope" content=" " style="display:none" /> <roundcube:container name="toolbar" id="compose-toolbar" /> <roundcube:button name="messageoptions" id="composemenulink" type="link" class="button messagemenu" title="messageoptions" onclick="rcmail_ui.show_popup('composemenu', true);return false" content=" " /> </div> @@ -135,7 +136,7 @@ </div> <div id="compose-div"> <div id="compose-body-div"> - <div class="boxlistcontent" style="overflow: hidden; top: 0"> + <div id="compose-body-parent" class="boxlistcontent" style="overflow: hidden; top: 0"> <roundcube:object name="composeBody" id="compose-body" form="form" cols="70" rows="20" tabindex="9" /> </div> <div class="boxfooter"> -- Gitblit v1.9.1