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