From 037af6890fe6fdb84a08d3c86083e847c90ec0ad Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Tue, 22 Oct 2013 08:17:26 -0400 Subject: [PATCH] Fix vulnerability in handling _session argument of utils/save-prefs (#1489382) --- skins/larry/mail.css | 1002 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 660 insertions(+), 342 deletions(-) diff --git a/skins/larry/mail.css b/skins/larry/mail.css index 44721c5..0f7752a 100644 --- a/skins/larry/mail.css +++ b/skins/larry/mail.css @@ -1,31 +1,35 @@ /** * Roundcube webmail styles for the Email section * - * Copyright (c) 2011, The Roundcube Dev Team - * Screendesign by FLINT / B�ro f�r Gestaltung, bueroflint.com + * Copyright (c) 2012, The Roundcube Dev Team + * Screendesign by FLINT / B�ro f�r Gestaltung, bueroflint.com * * The contents are subject to the Creative Commons Attribution-ShareAlike * 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. - * - * $Id$ */ #mailview-left { position: absolute; top: 0; left: 0; - width: 240px; + width: 220px; bottom: 0; + z-index: 2; } #mailview-right { position: absolute; top: 0; - left: 252px; + left: 232px; right: 0; bottom: 0; + z-index: 3; +} + +#mailview-right.fullwidth { + left: 0; } #mailview-top { @@ -36,18 +40,24 @@ bottom: 28px; } +#mailview-top.fullheight { + border-radius: 4px 4px 0 0; +} + #mailview-bottom { position: absolute; left: 0; bottom: 0; width: 100%; - height: 26px; + height: 27px; + border-radius: 4px; + border-top: none; } -#mailviewsplitter { - right: 30px; - width: 30px; - left: auto !important; +#folderlist-header { + width: 100%; + height: 12px; + top: 32px; } #mailboxcontainer, @@ -61,7 +71,7 @@ #messagelistcontainer { top: 0; - bottom: 32px; + bottom: 30px; overflow: auto; } @@ -70,8 +80,20 @@ bottom: 0; left: 0; right: 0; - height: 26px; - padding: 2px; + height: 22px; + padding: 4px 6px; + border-top: 1px solid #ddd; + background: #ebebeb; + background: -moz-linear-gradient(top, #ebebeb 0%, #c6c6c6 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ebebeb), color-stop(100%,#c6c6c6)); + background: -o-linear-gradient(top, #ebebeb 0%, #c6c6c6 100%); + background: -ms-linear-gradient(top, #ebebeb 0%, #c6c6c6 100%); + background: linear-gradient(top, #ebebeb 0%, #c6c6c6 100%); + border-radius: 0 0 4px 4px; +} + +#mailview-top.fullheight #messagelistfooter { + border-radius: 0; } #messagelistfooter.rightalign { @@ -82,35 +104,46 @@ display: inline-block; } -#messagelistfooter #listcontrols { +#messagelistfooter #listcontrols, +#messagelistfooter #listselectors { display: inline-block; margin-right: 2em; + vertical-align: middle; +} + +#messagelistfooter #listselectors .menuselector { + margin-top: -2px; } a.iconbutton.listmode { width: 26px; height: 20px; - background-position: 0 -437px; + background-position: 0 -477px; } a.iconbutton.threadmode { width: 26px; height: 20px; - background-position: 0 -457px; + background-position: 0 -497px; } a.iconbutton.listmode.selected { - background-position: -26px -437px; + background-position: -26px -477px; } a.iconbutton.threadmode.selected { - background-position: -26px -457px; + background-position: -26px -497px; } #mailboxlist li.mailbox { position: relative; background-repeat: no-repeat; background-position: 6px 2px; +} + +#mailboxlist > li:first-child { + border-radius: 4px 4px 0 0; + border-top: 0; } #mailboxlist li.mailbox a { @@ -123,102 +156,151 @@ background-position: 6px 3px; } +#mailboxlist li.mailbox.unread > a { + padding-right: 36px; +} + #mailboxlist li.mailbox.selected > a { background-position: 6px -21px; } -#mailboxlist li.inbox > a { +#mailboxlist li.mailbox.inbox > a { background-position: 6px -189px; } -#mailboxlist li.inbox.selected > a { +#mailboxlist li.mailbox.inbox.selected > a { background-position: 6px -213px; } -#mailboxlist li.drafts > a { +#mailboxlist li.mailbox.drafts > a { background-position: 6px -238px; } -#mailboxlist li.drafts.selected > a { +#mailboxlist li.mailbox.drafts.selected > a { background-position: 6px -262px; } -#mailboxlist li.sent > a { +#mailboxlist li.mailbox.sent > a { background-position: 6px -286px; } -#mailboxlist li.sent.selected > a { +#mailboxlist li.mailbox.sent.selected > a { background-position: 6px -310px; } -#mailboxlist li.junk > a { +#mailboxlist li.mailbox.junk > a { background-position: 6px -334px; } -#mailboxlist li.junk.selected > a { +#mailboxlist li.mailbox.junk.selected > a { background-position: 6px -358px; } -#mailboxlist li.trash > a { +#mailboxlist li.mailbox.trash > a { background-position: 6px -382px; } -#mailboxlist li.trash.selected > a { +#mailboxlist li.mailbox.trash.selected > a { background-position: 6px -406px; +} + +#mailboxlist li.mailbox.archive > a { + background-position: 6px -1699px; +} + +#mailboxlist li.mailbox.archive.selected > a { + background-position: 6px -1723px; +} + +#mailboxlist li.unread { + font-weight: bold; } #mailboxlist li.virtual > a { color: #aaa; } -#mailboxlist li.mailbox ul { - padding: 0; - border-top: 1px solid #bbd3da; +#mailboxlist li.recent > a { + color: #017cb4; } -#mailboxlist li.mailbox ul li { - padding-left: 26px; -} - -#mailboxlist li.mailbox ul li a { - background-position: 6px -93px; -} - -#mailboxlist li.mailbox ul li.selected a { - background-position: 6px -117px; +#mailboxlist li.mailbox div.treetoggle { + top: 13px; + left: 19px; } #mailboxlist li.mailbox ul li:last-child { border-bottom: 0; } -#mailboxlist li.mailbox div.collapsed, -#mailboxlist li.mailbox div.expanded { - position: absolute; +/* nested mailboxes */ + +#mailboxlist li.mailbox ul { + list-style: none; + margin: 0; + padding: 0; + border-top: 1px solid #bbd3da; +} + +#mailboxlist li.mailbox ul li a { + padding-left: 52px; /* 36 + 1 x 16 */ + background-position: 22px -93px; /* 6 + 1 x 16 */ +} +#mailboxlist li.mailbox ul li.selected > a { + background-position: 22px -117px; +} +#mailboxlist li.mailbox ul li div.treetoggle { + left: 33px; top: 14px; - left: 20px; - width: 14px; - height: 14px; - background: url(images/listicons.png) -3px -144px no-repeat; - cursor: pointer; } -#mailboxlist li.mailbox div.expanded { - background-position: -3px -168px; +#mailboxlist li.mailbox ul ul li.mailbox a { + padding-left: 68px; /* 2x */ + background-position: 38px -93px; +} +#mailboxlist li.mailbox ul ul li.selected > a { + background-position: 38px -117px; +} +#mailboxlist li.mailbox ul ul li div.treetoggle { + left: 48px; } -#mailboxlist li.mailbox ul li div.collapsed, -#mailboxlist li.mailbox ul li div.expanded { - left: 45px; - top: 15px; +#mailboxlist li.mailbox ul ul ul li.mailbox a { + padding-left: 84px; /* 3x */ + background-position: 54px -93px; +} +#mailboxlist li.mailbox ul ul ul li.selected > a { + background-position: 54px -117px; +} +#mailboxlist li.mailbox ul ul ul li div.treetoggle { + left: 64px; +} + +#mailboxlist li.mailbox ul ul ul ul li.mailbox a { + padding-left: 100px; /* 4x */ + background-position: 70px -93px; +} +#mailboxlist li.mailbox ul ul ul ul li.selected > a { + background-position: 70px -117px; +} +#mailboxlist li.mailbox ul ul ul ul li div.treetoggle { + left: 80px; +} + +/* indent folders on levels > 4 */ +#mailboxlist li.mailbox ul ul ul ul ul li { + padding-left: 16px; +} +#mailboxlist li.mailbox ul ul ul ul ul li div.treetoggle { + left: 96px; } #mailboxlist li.mailbox .unreadcount { position: absolute; - top: 4px; + top: 3px; right: 6px; - width: 2.8em; - padding: 2px; + min-width: 1.8em; + padding: 2px 4px; background: #82acb5; background: -moz-linear-gradient(top, #82acb5 0%, #6a939f 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#82acb5), color-stop(100%,#6a939f)); @@ -236,7 +318,7 @@ text-shadow: none; } -#mailboxlist li.mailbox.selected .unreadcount { +#mailboxlist li.mailbox.selected > a .unreadcount { background: #005d76; background: -moz-linear-gradient(top, #005d76 0%, #004558 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#005d76), color-stop(100%,#004558)); @@ -249,8 +331,28 @@ -moz-box-shadow: inset 0 1px 1px 0 #003645; } +#mailboxlist li.mailbox.recent > a .unreadcount { + background: #017cb4; + background: -moz-linear-gradient(top, #017cb4 0%, #006ca4 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#017cb4), color-stop(100%,#006ca4)); + background: -o-linear-gradient(top, #017cb4 0%, #006ca4 100%); + background: -ms-linear-gradient(top, #017cb4 0%, #006ca4 100%); + background: linear-gradient(top, #017cb4 0%, #006ca4 100%); + box-shadow: inset 0 1px 1px 0 #005080; + -o-box-shadow: inset 0 1px 1px 0 #005080; + -webkit-box-shadow: inset 0 1px 1px 0 #005080; + -moz-box-shadow: inset 0 1px 1px 0 #005080; +} + #searchfilter { - width: 16em; + position: absolute; + right: 256px; + width: auto; + top: 2px; +} + +#searchfilter select { + height: 26px; } #mailview-left select.mailboxlist { @@ -262,114 +364,48 @@ #messagetoolbar { position: absolute; top: -6px; - right: 0; - left: 15em; + left: 0; height: 40px; white-space: nowrap; + z-index: 10; } #messagetoolbar.fullwidth { - left: 0; + right: 0; } -#mailtoolbar { - text-align: right; +#messagetoolbar .toolbarselect { + position: absolute; + bottom: 6px; + right: 3px; +} + +#messagesearchtools { + position: absolute; + right: 0; + top: 0; + width: 400px; } #mailpreviewtoggle { display: block; position: absolute; - top: 4px; - right: 2px; + top: 6px; + right: 4px; width: 20px; height: 18px; - background: url(images/buttons.png) -3px -418px no-repeat; + background: url(images/buttons.png) -3px -458px no-repeat; } #mailpreviewtoggle.enabled { - background-position: -28px -418px; + background-position: -28px -458px; } /*** message list ***/ -.boxlistcontent table { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: collapse; - border-spacing: 0; -} - -.boxlistcontent thead tr td { - font-weight: bold; - background: #d6eaf3; - background: -moz-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%); - background: -webkit-gradient(linear, left top, right top, color-stop(0,#e3f2f6), color-stop(14px,#d6eaf3), color-stop(100%,#d6eaf3)); - background: -o-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%); - background: -ms-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px ,#d6eaf3 100%); - background: linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%); - border-left: 1px solid #bbd3da; -} - -.boxlistcontent thead tr td a, -.boxlistcontent thead tr td span { - display: block; - padding: 8px 7px; - color: #69939e; - text-decoration: none; -} - -.boxlistcontent tbody tr td { - padding: 3px 7px; - border-bottom: 1px solid #ddd; - border-left: 1px dotted #bbd3da; - white-space: nowrap; - cursor: default; - overflow: hidden; - text-overflow: ellipsis; -} - -.boxlistcontent thead tr td:first-child, -.boxlistcontent tbody tr td:first-child { - border-left: 0; -} - -.boxlistcontent tbody tr td a { - color: #333; - text-decoration: none; - white-space: nowrap; - cursor: default; -} - -.boxlistcontent tr.selected td { - color: #fff !important; - background: #019bc6; - background: -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4)); - background: -o-linear-gradient(top, #019bc6 0%, #017cb4 100%); - background: -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%); - background: linear-gradient(top, #019bc6 0%, #017cb4 100%); -} - -.boxlistcontent tr.selected td a, -.boxlistcontent tr.selected td span { - color: #fff !important; -} - -.boxlistcontent tr.unfocused td { - color: #fff !important; - background: #4db0d2; -} - -.boxlistcontent tr.unfocused td a, -.boxlistcontent tr.unfocused td span { - color: #fff !important; -} - -.boxlistcontent tr.deleted td, -.boxlistcontent tr.deleted td a { - color: #ccc !important; +#messagelist thead td:first-child { + border-radius: 4px 0 0 0; /* for Chrome */ } #messagelist tr td.attachment, @@ -378,14 +414,14 @@ #messagelist tr td.flag, #messagelist tr td.priority { width: 20px; - padding: 4px 3px; + padding: 2px 3px; } -html.chrome #messagelist tr td.attachment, -html.chrome #messagelist tr td.threads, -html.chrome #messagelist tr td.status, -html.chrome #messagelist tr td.flag, -html.chrome #messagelist tr td.priority { +.webkit #messagelist tr td.attachment, +.webkit #messagelist tr td.threads, +.webkit #messagelist tr td.status, +.webkit #messagelist tr td.flag, +.webkit #messagelist tr td.priority { width: 26px; } @@ -393,35 +429,42 @@ width: 26px; } -html.chrome #messagelist tr td.threads { +.webkit #messagelist tr td.threads { width: 30px; } -#messagelist tr td.flag, -#messagelist tr td.status, -#messagelist tr td.threads { +#messagelist tr td.threads, +#messagelist tr td.threads + td { border-left: 0; } - #messagelist tr td.size { width: 60px; text-align: right; } +#messagelist thead tr td.size { + text-align: left; +} + +#messagelist tr td.fromto, #messagelist tr td.from, #messagelist tr td.to, #messagelist tr td.cc, #messagelist tr td.replyto { - width: 180px; + width: 200px; } #messagelist tr td.date { - width: 118px; + width: 125px; } #messagelist tr.message { /* background-color: #fff; */ +} + +#messagelist tr.thread.expanded td { + background-color: #ededed; } #messagelist tr.unread { @@ -448,6 +491,13 @@ #messagelist td img { vertical-align: middle; display: inline-block; +} + +#messagelist tbody td a { + color: #333; + text-decoration: none; + white-space: nowrap; + cursor: default; } #messagelist tbody tr td.flag, @@ -498,41 +548,33 @@ } #messagelist tbody tr td.attachment span.attachment { - background-position: 0 -998px; + background-position: 0 -996px; } + #messagelist thead tr td.attachment span.attachment { background-position: -24px -997px; } -/* -#messagelist tr td.attachment span.report { - background-position: 0 -255px; -} - -#messagelist tr td.priority span.priority { - background-position: 0 -309px; +#messagelist tbody tr td.attachment span.report { + background-position: -24px -1116px; } #messagelist tr td.priority span.prio5 { - background-position: 0 -358px; + background-position: 0 -1905px; } #messagelist tr td.priority span.prio4 { - background-position: 0 -340px; -} - -#messagelist tr td.priority span.prio3 { - background-position: 0 -324px; + background-position: 0 -1885px; } #messagelist tr td.priority span.prio2 { - background-position: 0 -309px; + background-position: 0 -1865px; } #messagelist tr td.priority span.prio1 { - background-position: 0 -290px; + background-position: 0 -1845px; } -*/ + #messagelist tbody tr td.flag span.flagged { background-position: 0 -1036px; } @@ -541,9 +583,12 @@ background-position: -24px -1036px; } -#messagelist tr td.flag span.unflagged:hover, #messagelist tr td.status span.msgicon:hover { - background-position: 0 -1056px; + background-position: -23px -1056px; +} + +#messagelist tr td.flag span.unflagged:hover { + background-position: -23px -1076px; } #messagelist tr td.subject span.msgicon, @@ -574,12 +619,13 @@ #messagelist tr td.status span.msgicon:hover { background-position: 0 -272px; } - -#messagelist tr td.status span.deleted, -#messagelist tr td.subject span.deleted { - background-position: 0 -187px; -} */ +#messagelist tr td.status span.deleted, +#messagelist tr td.status span.deleted:hover, +#messagelist tr td.subject span.deleted { + background-position: -22px -1096px; +} + #messagelist tr td.status span.status, #messagelist tr td.status span.unread, #messagelist tr td.subject span.unread, @@ -592,12 +638,12 @@ } #messagelist tr td div.collapsed { - background-position: 0 -1136px; + background-position: 0 -1137px; cursor: pointer; } #messagelist tr td div.expanded { - background-position: 0 -1156px; + background-position: 0 -1157px; cursor: pointer; } @@ -607,8 +653,10 @@ width: 26px; } +#messagelist thead tr td.subject, #messagelist tbody tr td.subject { width: 99%; + white-space: nowrap; } #messagelist tbody tr td.subject a { @@ -624,14 +672,11 @@ /**** tree indicators ****/ #messagelist tbody tr td span.branch div { - float: left; - height: 18px; + display: inline-block; } #messagelist tbody tr td span.branch div.tree { - height: 18px; width: 15px; -/* background: url(images/tree.gif) 0px 0px no-repeat; */ } #listoptions ul.proplist { @@ -656,12 +701,11 @@ #messagecontent { position: absolute; - top: 140px; + top: 110px; left: 0; width: 100%; - bottom: 0; + bottom: 27px; overflow: auto; - border-radius: 4px 4px 0 0; } #messageheader, @@ -669,12 +713,21 @@ #composeheaders { position: relative; padding: 3px 0; - background: #fff; - 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: #f9f9f9; + 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; + padding-left: 78px; + /* avoid headers eating up all the vertical space */ + max-height: 50%; + overflow: auto; } h2.subject { @@ -686,9 +739,13 @@ text-overflow: ellipsis; } +#mailview-right #messageheader h2.subject { + margin-left: -56px; +} + h3.subject { font-size: 14px; - margin: 0 8em 0 0; + margin: 0 12em 0 0; padding: 8px 8px 4px 8px; white-space: nowrap; overflow: hidden; @@ -700,16 +757,23 @@ 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; } @@ -719,8 +783,15 @@ 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 { @@ -734,26 +805,159 @@ height: 13px; } -#messagepreviewheader { - margin: 0 8px; - padding-bottom: 8px; - border-bottom: 2px solid #f0f0f0; +#preview-allheaders { + display: none; } -#messagepreviewheader .headers-table { - margin: 0 -8px; -} - -#messagepreviewheader h3.subject { +#preview-allheaders td.header-title, +#preview-shortheaders td.header-title { padding-left: 0; } -#messagepreviewheader #countcontrols, +#preview-shortheaders td.header { + padding-right: 18px; +} + +.moreheaderstoggle { + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 18px; + padding: 0; + outline: none; + background: #f2f2f2; + background: -moz-linear-gradient(left, #fbfbfb 0, #e9e9e9 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0,#fbfbfb), color-stop(100%,#e9e9e9)); + background: -o-linear-gradient(left, #fbfbfb 0, #e9e9e9 100%); + 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 */ +} + +.moreheaderstoggle .iconlink { + display: inline-block; + position: absolute; + top: 8px; + left: 0; + width: 18px; + height: 16px; + background: url(images/buttons.png) -27px -242px no-repeat; +} + +.moreheaderstoggle.remove .iconlink { + top: auto; + bottom: 5px; + background-position: -5px -242px; +} + +#full-headers { + position: relative; +} + +div.more-headers { + position: absolute; + top: -12px; + right: 10px; + width: 12px; + height: 10px; + cursor: pointer; + background: url(images/buttons.png) center -1579px no-repeat; +} + +div.hide-headers { + background-position: center -1589px; +} + +#all-headers { + position: relative; + margin: 4px 10px; + padding: 0; + height: 180px; + border: 1px solid #ccc; + border-radius: 4px; + background: #fdfdfd; + -moz-box-shadow: inset 0 0 1px 1px rgba(0,0,0, 0.1); + -webkit-box-shadow: inset 0 0 1px 1px rgba(0,0,0, 0.1); + -o-box-shadow: inset 0 0 1px 1px rgba(0,0,0, 0.1); + box-shadow: inset 0 0 1px 1px rgba(0,0,0, 0.1); +} + +#headers-source { + display: none; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 3px 6px; + overflow: auto; + text-align: left; + color: #333; +} + +#messageheader.previewheader #all-headers { + margin-left: 0; +} + +#messageheader.previewheader { + position: relative; + height: auto; + min-height: 52px; + padding: 0 0 3px 72px; +} + +#messageheader.previewheader h3.subject { + padding: 8px 8px 2px 0; +} + +#messageheader.previewheader #contactphoto { + display: block; + position: absolute; + top: 11px; + left: 30px; + width: 32px; + height: 32px; + overflow: hidden; + background: url(images/contactpic_32px.png) center center no-repeat #fff; + border-radius: 3px; +} + +#messageheader.previewheader #contactphoto img { + width: 32px; + height: auto; + border-radius: 3px; +} + +#messageheader .message-headers { + min-height: 60px; +} + +#messageheader #contactphoto { + display: block; + position: absolute; + top: 34px; + left: 30px; + width: 48px; + height: 48px; + overflow: hidden; + border-radius: 4px; + border: 1px solid #e6e6e6; + background: url(images/contactpic_48px.png) center center no-repeat #fff; +} + +#messageheader #contactphoto img { + width: 48px; + height: auto; + border-radius: 4px; +} + #messageheader #countcontrols { position: absolute; top: 8px; right: 8px; - width: 18em; text-align: right; white-space: nowrap; } @@ -766,7 +970,8 @@ #messagecontent .leftcol, #messagepreview .leftcol { - margin-right: 250px; + margin-right: 252px; + overflow-x: auto; } #messagecontent .rightcol, @@ -783,9 +988,11 @@ min-height: 200px; background: #f0f0f0; padding: 8px; + border-radius: 4px; } #messagebody { + position: relative; margin: 8px; } @@ -800,34 +1007,25 @@ color: #960; border: 1px solid #ffdf0e; background-color: #fef893; - background-position: 5px -24px; + background-position: 5px -83px; padding: 6px 12px 4px 30px; + white-space: normal; } #message-objects div a.button, #messagebody span.part-notice a.button { margin-left: 10px; - box-shadow: 0 1px 1px 0 #e8e386; - -o-box-shadow: 0 1px 1px 0 #e8e386; - -webkit-box-shadow: 0 1px 1px 0 #e8e386; - -moz-box-shadow: 0 1px 1px 0 #e8e386; -} - -#message-objects div a.button:hover, -#messagebody span.part-notice a.button:hover { - box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6); - -moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6); - -webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6); - -o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6); } div.message-part, -div.message-htmlpart { +div.message-htmlpart, +div.message-partheaders { padding: 10px 2px; - border-top: 2px solid #f0f0f0; + border-top: 1px solid #ccc; } #messagebody div:first-child { + padding-top: 0; border-top: 0; } @@ -837,6 +1035,7 @@ margin: 0px; padding: 0px; font-family: monospace; + font-size: 12px; white-space: -moz-pre-wrap !important; white-space: pre-wrap !important; white-space: pre; @@ -867,6 +1066,24 @@ border-right: 2px solid #bb0000; } +div.message-partheaders { + margin-top: 8px; + padding: 8px 0; +} + +div.message-partheaders .headers-table { + width: 100%; +} + +div.message-partheaders .headers-table td.header-title { + width: auto; + padding-left: 0; +} + +div.message-partheaders .headers-table td.header { + width: 88%; +} + #messagebody > hr { color: #fff; background: #fff; @@ -874,69 +1091,49 @@ border-bottom: 2px solid #f0f0f0; } -#messagebody > p > img { +#messagebody fieldset.image-attachment { + border: 0; + border-top: 1px solid #ccc; + margin-top: 1em; +} + +#messagebody fieldset.image-attachment p > img { max-width: 80%; } -#attachment-list { - list-style: none; - margin: 0; - padding: 0; - overflow: hidden; - text-overflow: ellipsis; +#messagebody legend.image-filename { + color: #999; + font-size: 0.9em; + margin: 0 1em; } -#attachment-list li { - display: block; +#messagebody p.image-attachment { position: relative; - background: url(images/filetypes.png) 0 0 no-repeat; - margin-bottom: 1px; + padding: 1em; + border-top: 1px solid #ccc; } -#attachment-list li.pdf { - background-position: 0 -26px; -} - -#attachment-list li.doc, -#attachment-list li.msword { - background-position: 0 -52px; -} - -#attachment-list li.xls, -#attachment-list li.msexcel { - background-position: 0 -78px; -} - -#attachment-list li.zip, -#attachment-list li.gz { - background-position: 0 -104px; -} - -#attachment-list li.image { - background-position: 0 -130px; -} - -#attachment-list li.audio { - background-position: 0 -156px; -} - -#attachment-list li.video { - background-position: 0 -182px; -} - -#attachment-list li a, -#compose-attachments ul li { +#messagebody p.image-attachment a.image-link { + float: left; display: block; - color: #333; - font-weight: bold; - padding: 8px 4px 3px 30px; - text-shadow: 0px 1px 1px #fff; - text-decoration: none; - white-space: nowrap; + margin-right: 2em; + min-width: 160px; + min-height: 60px; + text-align: center; } -#attachment-list li a:hover { - text-decoration: underline; +#messagebody p.image-attachment .image-filename { + display: block; + font-weight: bold; + line-height: 1.6em; +} + +#messagebody p.image-attachment .image-filesize { + padding-right: 1em; +} + +#messagebody p.image-attachment .attachment-links a { + margin-right: 0.6em; } #messagepartcontainer { @@ -949,8 +1146,9 @@ #messagepartframe { border: 0; + width: 100%; + height: 100%; } - /*** message composition ***/ @@ -978,45 +1176,143 @@ bottom: 0; } +#composequicksearch { + position: relative; + padding: 4px; + background: #c7e3ef; +} + +#composequicksearch .searchbox input { + width: 100%; + height: 26px; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +#composequicksearch #searchmenulink { + width: 15px; +} + +#compose-contacts #directorylist { + border-bottom: 4px solid #c7e3ef; +} + +#compose-contacts .scroller { + top: 65px; + border-top: 1px solid #fff; +} + +#contacts-table { + table-layout: fixed; +} + +#contacts-table td { + width: 100%; +} + +#contacts-table td span { + display: block; +} + +#contacts-table td span.email { + display: inline; + color: #69939e; + font-style: italic; + margin-left: 0.5em; +} + +#compose-contacts li a, #contacts-table td { + background: url(images/listicons.png) -100px 0 no-repeat; + overflow: hidden; + padding-left: 36px; + text-overflow: ellipsis; +} + +#contacts-table td.contactgroup a { + color: #376572; + text-decoration: none; +} + +#contacts-table td.contactgroup a span { + display: inline-block; + font-size: 16px; + font-weight: bold; + line-height: 11px; + margin-left: 0.3em; +} + +#contacts-table tr:first-child td { + border-top: 0; +} + +#compose-contacts li.addressbook a { + background-position: 6px -766px; +} + +#compose-contacts li.addressbook.selected a { + background-position: 6px -791px; +} + +#contacts-table td.contactgroup { + background-position: 6px -1555px; +} + +#contacts-table tr.unfocused td.contactgroup, +#contacts-table tr.selected td.contactgroup { + background-position: 6px -1579px; +} + +#contacts-table td.contact { + background-position: 6px -1603px; +} + +#contacts-table tr.unfocused td.contact, +#contacts-table tr.selected td.contact { + background-position: 6px -1627px; +} + #compose-content { position: absolute; top: 42px; left: 0; width: 100%; bottom: 28px; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; + border-radius: 4px 4px 0 0; + border-bottom: none; overflow: hidden; } #composeheaders { border-radius: 4px 4px 0 0; - -webkit-box-shadow: 0 2px 3px 0 #999; - -moz-box-shadow: 0 2px 3px 0 #999; - box-shadow: 0 2px 3px 0 #999; + padding-left: 19px; } #composebuttons { position: absolute; - top: 8px; - right: 8px; + top: 6px; + right: 6px; width: auto; white-space: nowrap; z-index: 100; } +#composebuttons a.button.extwin { + padding: 2px 3px; +} + .compose-headers { width: 99%; - margin: 4px 0; + margin-bottom: 2px; } .compose-headers td { - padding: 4px 4px 4px 8px; + padding: 2px 4px; } .compose-headers td.title { width: 11%; white-space: nowrap; + padding-left: 6px; } .compose-headers td.title label { @@ -1052,55 +1348,43 @@ .compose-headers td input { width: 100%; resize: none; + font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; } #compose-cc, #compose-bcc, #compose-replyto, #compose-followupto { display: none; } -#composeoptionsbox { - padding: 4px 8px 0 8px; - background: #d2d2d2; - border-bottom: 1px solid #e8e8e8; - -webkit-box-shadow: 0 2px 3px 0 #999; - -moz-box-shadow: 0 2px 3px 0 #999; - box-shadow: 0 2px 3px 0 #999; - white-space: nowrap; -} - #composeoptions { display: none; - padding: 2px 0; + padding: 2px 0 0 8px; white-space: normal; + border-top: 1px solid #dfdfdf; + box-shadow: inset 0 1px 0 0 #fff; + -o-box-shadow: inset 0 1px 0 0 #fff; + -webkit-box-shadow: inset 0 1px 0 0 #fff; + -moz-box-shadow: inset 0 1px 0 0 #fff; + } .composeoption { + color: #666; padding-right: 22px; white-space: nowrap; } #composeoptions .composeoption { display: inline-block; - padding: 4px 28px 4px 0; + padding: 4px 22px 4px 0; } #composeoptions .composeoption:last-child { padding-right: 4px; } -#composeoptionstoggle { - display: inline-block; - position: relative; - top: -1px; - left: 6px; - width: 20px; - height: 18px; - background: url(images/buttons.png) -3px -418px no-repeat; - text-decoration: none; -} - -#composeoptionstoggle.enabled { - background-position: -28px -418px; +.mozilla .composeoption input { + vertical-align: -3px; } #composeview-bottom { @@ -1117,23 +1401,35 @@ bottom: 0; } +#composebodycontainer.buttons { + bottom: 42px; +} + #composebody { position: absolute; - top: 24px; + top: 0; left: 0; bottom: 0; width: 99%; border: 0; + border-radius: 0; padding: 8px 0 8px 8px; - box-shadow: none; resize: none; font-family: monospace; font-size: 9pt; outline: none; + box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.2); + -moz-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.2); + -webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.2); + -o-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.2); } #composebody:active, #composebody:focus { + box-shadow: inset 0 0 3px 2px rgba(71,135,177, 0.9); + -moz-box-shadow: inset 0 0 3px 2px rgba(71,135,177, 0.9); + -webkit-box-shadow: inset 0 0 3px 2px rgba(71,135,177, 0.9); + -o-box-shadow: inset 0 0 3px 2px rgba(71,135,177, 0.9); } #compose-attachments { @@ -1143,35 +1439,42 @@ bottom: 0; width: 240px; background: #f0f0f0; - border-left: 1px solid #ddd; + border-style: solid; + border-color: #f0f0f0 #f0f0f0 #f0f0f0 #ddd; + border-width: 1px; padding: 8px; overflow: auto; } -#attachment-list li.uploading { - background: url(images/ajaxloader.gif) 2px 6px no-repeat; +#compose-attachments.droptarget { + background-image: url(images/filedrop.png); + background-position: center bottom; + background-repeat: no-repeat; } -#attachment-list li a.delete, -#attachment-list li a.cancelupload { +#compose-attachments.droptarget.hover, +#compose-attachments.droptarget.active { + border-color: #019bc6; + box-shadow: 0 0 3px 2px rgba(71,135,177, 0.5); + -moz-box-shadow: 0 0 3px 2px rgba(71,135,177, 0.5); + -webkit-box-shadow: 0 0 3px 2px rgba(71,135,177, 0.5); + -o-box-shadow: 0 0 3px 2px rgba(71,135,177, 0.5); +} + +#compose-attachments.droptarget.hover { + background-color: #d9ecf4; + box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); + -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); + -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); + -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); +} + +#composeview-bottom .formbuttons.floating { position: absolute; - top: 6px; - right: 0; - width: 24px; - height: 18px; - padding: 0; - text-decoration: none; - text-indent: -1000px; - background: url(images/buttons.png) -7px -337px no-repeat; -} - -#attachment-list li a.cancelupload { - background-position: -7px -377px; -} - -#spellcheck-control { - margin: 6px 8px; - text-align: right; + width: auto; + right: 260px; + z-index: 200; + padding-bottom: 8px; } .defaultSkin table.mceLayout, @@ -1179,9 +1482,24 @@ border: 0 !important; } +.defaultSkin td.mceToolbar { + border: 0 !important; +} + +.defaultSkin table.mceLayout tr.mceFirst td { + background: #f0f0f0; +} + #composebody_toolbargroup { border-bottom: 1px solid #ddd; } +#uploadform a.iconlink { + margin-left: 1em; + text-indent: -5000px; +} +#uploadform form div { + margin: 4px 0; +} -- Gitblit v1.9.1