diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-10-02 20:28:02 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-10-02 20:28:02 +0200 |
commit | 6547093937cd4ee33adb7f9e55ce6851e25a6a8f (patch) | |
tree | 2688409177d58d64bac864351a44645120e9bdfd | |
parent | aa4612e7304d6a8f99842702593954c99a702b4d (diff) |
Backported commit 10467e8a5957 and other improvements
-rw-r--r-- | program/include/html.php | 2 | ||||
-rw-r--r-- | skins/larry/ie7hacks.css | 6 | ||||
-rw-r--r-- | skins/larry/iehacks.css | 2 | ||||
-rw-r--r-- | skins/larry/mail.css | 56 | ||||
-rw-r--r-- | skins/larry/svggradients.css | 2 | ||||
-rw-r--r-- | skins/larry/templates/message.html | 5 | ||||
-rw-r--r-- | skins/larry/templates/messagepreview.html | 5 | ||||
-rw-r--r-- | skins/larry/ui.js | 3 |
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="&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) { |