summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-10-02 20:28:02 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-10-02 20:28:02 +0200
commit6547093937cd4ee33adb7f9e55ce6851e25a6a8f (patch)
tree2688409177d58d64bac864351a44645120e9bdfd
parentaa4612e7304d6a8f99842702593954c99a702b4d (diff)
Backported commit 10467e8a5957 and other improvements
-rw-r--r--program/include/html.php2
-rw-r--r--skins/larry/ie7hacks.css6
-rw-r--r--skins/larry/iehacks.css2
-rw-r--r--skins/larry/mail.css56
-rw-r--r--skins/larry/svggradients.css2
-rw-r--r--skins/larry/templates/message.html5
-rw-r--r--skins/larry/templates/messagepreview.html5
-rw-r--r--skins/larry/ui.js3
8 files changed, 49 insertions, 32 deletions
diff --git a/program/include/html.php b/program/include/html.php
index c15ef45cb..dc93b3317 100644
--- a/program/include/html.php
+++ b/program/include/html.php
@@ -301,7 +301,7 @@ class html
$attrib_arr[] = $key . '="' . Q($value, 'strict', false) . '"';
}
else {
- $attrib_arr[] = $key . '="' . Q($value) . '"';
+ $attrib_arr[] = $key . '="' . htmlspecialchars($value, ENT_COMPAT, RCMAIL_CHARSET) . '"';
}
}
return count($attrib_arr) ? ' '.implode(' ', $attrib_arr) : '';
diff --git a/skins/larry/ie7hacks.css b/skins/larry/ie7hacks.css
index 024c35bb2..80fa5c7b7 100644
--- a/skins/larry/ie7hacks.css
+++ b/skins/larry/ie7hacks.css
@@ -29,7 +29,7 @@ a.deletebutton,
.boxfooter .listbutton .inner,
.attachmentslist li a.delete,
.attachmentslist li a.cancelupload,
-#messagepreviewheader .iconlink {
+.previewheader .iconlink {
/* workaround for text-indent which also offsets the background image */
text-indent: 0;
font-size: 0;
@@ -45,7 +45,7 @@ a.deletebutton,
.pagenav a.button,
.pagenav a.button span.inner,
-#messagepreviewheader .iconlink,
+.previewheader .iconlink,
#uploadform a.iconlink {
display: inline;
}
@@ -67,7 +67,7 @@ a.deletebutton,
text-align: left;
}
-#messagepreviewheader .iconlink {
+#messageheader.previewheader .iconlink {
color: #fff;
height: 14px;
}
diff --git a/skins/larry/iehacks.css b/skins/larry/iehacks.css
index 288202111..93f483c11 100644
--- a/skins/larry/iehacks.css
+++ b/skins/larry/iehacks.css
@@ -144,7 +144,7 @@ ul.toolbarmenu li a.active:hover,
}
#messageheader, #partheader, #composeheaders {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e9e9e9', GradientType=0);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0f0f0', GradientType=0);
}
#previewheaderstoggle {
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index 8297fde49..e5c0ae045 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -676,10 +676,10 @@ a.iconbutton.threadmode.selected {
#messagecontent {
position: absolute;
- top: 140px;
+ top: 110px;
left: 0;
width: 100%;
- bottom: 0;
+ bottom: 27px;
overflow: auto;
border-radius: 4px 4px 0 0;
}
@@ -690,16 +690,20 @@ a.iconbutton.threadmode.selected {
position: relative;
padding: 3px 0;
background: #f9f9f9;
- background: -moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#e9e9e9));
- background: -o-linear-gradient(top, #fff 0%, #e9e9e9 100%);
- background: -ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);
- background: linear-gradient(top, #fff 0%, #e9e9e9 100%);
+ background: -moz-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f0f0));
+ background: -o-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+ background: -ms-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+ background: linear-gradient(top, #fff 0%, #f0f0f0 100%);
+ border-bottom: 1px solid #dfdfdf;
}
#mailview-right #messageheader {
border-radius: 4px 4px 0 0;
- border-bottom: 2px solid #e6e6e6;
+ padding-left: 26px;
+ /* avoid headers eating up all the vertical space */
+ max-height: 50%;
+ overflow: auto;
}
h2.subject {
@@ -725,16 +729,23 @@ h3.subject {
padding: 2px 8px;
}
-.headers-table td.header {
+.headers-table td.header,
+.ui-dialog-content.popup span.adr {
font-weight: bold;
}
-.headers-table td.header a {
+.headers-table td.header-title {
+ white-space: nowrap;
+}
+
+.headers-table td.header a,
+.ui-dialog-content.popup span.adr a {
color: #666;
text-decoration: none;
}
-.headers-table td.header a:hover {
+.headers-table td.header a:hover,
+.ui-dialog-content.popup span.adr a:hover {
text-decoration: underline;
}
@@ -744,10 +755,17 @@ h3.subject {
font-weight: bold;
}
-.headers-table td.header span {
+.headers-table td.header span,
+.ui-dialog-content.popup span.adr {
white-space: nowrap;
}
+.headers-table td.header a.morelink {
+ color: #0069a6;
+ white-space: nowrap;
+ font-weight: normal;
+}
+
.rcmaddcontact {
position: relative;
top: 1px;
@@ -788,6 +806,7 @@ h3.subject {
background: -ms-linear-gradient(left, #fbfbfb 0, #e9e9e9 100%);
background: linear-gradient(left, #fbfbfb 0, #e9e9e9 100%);
border-right: 1px solid #dfdfdf;
+ border-radius: 3px 0 0 0; /* for Opera */
}
#previewheaderstoggle .iconlink {
@@ -847,23 +866,21 @@ div.hide-headers {
color: #333;
}
-#messagepreviewheader #all-headers {
+#messageheader.previewheader #all-headers {
margin-left: 0;
}
-#messagepreviewheader {
+#messageheader.previewheader {
position: relative;
height: auto;
- margin: 0 8px 0 0;
- padding: 0 0 6px 26px;
- border-bottom: 2px solid #f0f0f0;
+ min-height: 52px;
+ padding: 0 0 3px 26px;
}
-#messagepreviewheader h3.subject {
+#messageheader.previewheader h3.subject {
padding: 8px 8px 2px 0;
}
-#messagepreviewheader #countcontrols,
#messageheader #countcontrols {
position: absolute;
top: 8px;
@@ -1097,6 +1114,7 @@ div.message-part blockquote blockquote blockquote {
-webkit-box-shadow: 0 2px 3px 0 #999;
-moz-box-shadow: 0 2px 3px 0 #999;
box-shadow: 0 2px 3px 0 #999;
+ border-bottom: 0;
}
#composebuttons {
diff --git a/skins/larry/svggradients.css b/skins/larry/svggradients.css
index 143fb375f..5b3fedbfc 100644
--- a/skins/larry/svggradients.css
+++ b/skins/larry/svggradients.css
@@ -134,7 +134,7 @@ ul.toolbarmenu li a.active:hover,
}
#messageheader, #partheader, #composeheaders {
- background-image: url(svggradient.php?c=ffffff;e9e9e9);
+ background-image: url(svggradient.php?c=ffffff;f0f0f0);
}
#previewheaderstoggle {
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html
index 50ac84473..141d66e92 100644
--- a/skins/larry/templates/message.html
+++ b/skins/larry/templates/message.html
@@ -34,8 +34,10 @@
<div id="mailview-right" class="offset uibox">
<div id="messageheader">
+<span id="previewheaderstoggle"></span>
+
<h2 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h2>
-<roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject" />
+<roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject" max="20" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
<!-- record navigation -->
@@ -45,7 +47,6 @@
<roundcube:button command="nextmessage" type="link" class="button nextpage disabled" classAct="button nextpage" classSel="button nextpage pressed" innerClass="inner" title="nextmessage" content="&amp;gt;" />
</div>
-<div id="contactphoto"><roundcube:object name="contactphoto" /></div>
</div>
<div id="messagecontent">
diff --git a/skins/larry/templates/messagepreview.html b/skins/larry/templates/messagepreview.html
index 792c1bd63..62e90ad8f 100644
--- a/skins/larry/templates/messagepreview.html
+++ b/skins/larry/templates/messagepreview.html
@@ -6,11 +6,10 @@
</head>
<body class="iframe fullheight">
-<div id="messagepreviewheader">
+<div id="messageheader" class="previewheader">
<h3 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h3>
<a href="#details" id="previewheaderstoggle"><span class="iconlink"></span></a>
-<div id="contactphoto"><roundcube:object name="contactphoto" /></div>
<table class="headers-table" id="preview-shortheaders"><tbody><tr>
<roundcube:if condition="env:mailbox == config:drafts_mbox || env:mailbox == config:sent_mbox">
@@ -24,7 +23,7 @@
<td class="header date"><span><roundcube:object name="messageHeaders" valueOf="date" /></span></td>
</tr></tbody></table>
-<roundcube:object name="messageHeaders" id="preview-allheaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject,replyto" />
+<roundcube:object name="messageHeaders" id="preview-allheaders" class="headers-table" addicon="/images/addcontact.png" max="10" exclude="subject,replyto" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index fe449fddd..0d6ee9e67 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -75,7 +75,6 @@ function rcube_mail_ui()
}
if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') {
- layout_messageview();
rcmail.addEventListener('aftershow-headers', function() { layout_messageview(); });
rcmail.addEventListener('afterhide-headers', function() { layout_messageview(); });
$('#previewheaderstoggle').click(function(e){ toggle_preview_headers(this); return false });
@@ -317,7 +316,7 @@ function rcube_mail_ui()
*/
function layout_messageview()
{
- $('#messagecontent').css('top', ($('#messageheader').outerHeight() + 10) + 'px');
+ $('#messagecontent').css('top', ($('#messageheader').outerHeight() + 1) + 'px');
$('#message-objects div a').addClass('button');
if (!$('#attachment-list li').length) {