diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-09-09 20:23:56 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-09-09 20:23:56 +0200 |
commit | 99d9f50a0000447d0a752e6c43716237dc0da176 (patch) | |
tree | 0b958b9711d09c4da74f076e1b902ffa32a4a0a1 /skins/larry | |
parent | a1303514933afe2d867067e4b95412c79652c89b (diff) | |
parent | 4e383e2ec8b4184c0fe74d02cf30fd3a4078128e (diff) |
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'skins/larry')
-rw-r--r-- | skins/larry/addressbook.css | 1 | ||||
-rw-r--r-- | skins/larry/ie7hacks.css | 16 | ||||
-rw-r--r-- | skins/larry/iehacks.css | 2 | ||||
-rw-r--r-- | skins/larry/images/contactpic_32px.png | bin | 4883 -> 3422 bytes | |||
-rw-r--r-- | skins/larry/images/contactpic_48px.png | bin | 0 -> 3812 bytes | |||
-rw-r--r-- | skins/larry/includes/links.html | 1 | ||||
-rw-r--r-- | skins/larry/mail.css | 90 | ||||
-rw-r--r-- | skins/larry/styles.css | 6 | ||||
-rw-r--r-- | skins/larry/svggradient.php | 2 | ||||
-rw-r--r-- | skins/larry/svggradients.css | 2 | ||||
-rw-r--r-- | skins/larry/templates/compose.html | 2 | ||||
-rw-r--r-- | skins/larry/templates/message.html | 61 | ||||
-rw-r--r-- | skins/larry/templates/messageerror.html | 10 | ||||
-rw-r--r-- | skins/larry/templates/messagepreview.html | 5 | ||||
-rw-r--r-- | skins/larry/ui.js | 62 |
15 files changed, 149 insertions, 111 deletions
diff --git a/skins/larry/addressbook.css b/skins/larry/addressbook.css index fe087aece..74bc0d7d8 100644 --- a/skins/larry/addressbook.css +++ b/skins/larry/addressbook.css @@ -34,7 +34,6 @@ position: absolute; top: -6px; left: 0; - right: 260px; height: 40px; white-space: nowrap; z-index: 10; diff --git a/skins/larry/ie7hacks.css b/skins/larry/ie7hacks.css index 6161d03dd..935a504fe 100644 --- a/skins/larry/ie7hacks.css +++ b/skins/larry/ie7hacks.css @@ -7,10 +7,16 @@ * 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$ */ +/* #1488618 */ +#mainscreen { + height: expression((parseInt(document.documentElement.clientHeight)-108)+'px'); +} +#mainscreen.offset { + height: expression((parseInt(document.documentElement.clientHeight)-150)+'px'); +} + input.button { display: inline; font-size: 90%; @@ -23,7 +29,7 @@ a.deletebutton, .boxfooter .listbutton .inner, .attachmentslist li a.delete, .attachmentslist li a.cancelupload, -#messagepreviewheader .iconlink { +#messageheader .iconlink { /* workaround for text-indent which also offsets the background image */ text-indent: 0; font-size: 0; @@ -39,7 +45,7 @@ a.deletebutton, .pagenav a.button, .pagenav a.button span.inner, -#messagepreviewheader .iconlink, +#messageheader .iconlink, #uploadform a.iconlink { display: inline; } @@ -61,7 +67,7 @@ a.deletebutton, text-align: left; } -#messagepreviewheader .iconlink { +#messageheader .iconlink { color: #fff; height: 14px; } diff --git a/skins/larry/iehacks.css b/skins/larry/iehacks.css index 288202111..bba93dc33 100644 --- a/skins/larry/iehacks.css +++ b/skins/larry/iehacks.css @@ -143,7 +143,7 @@ ul.toolbarmenu li a.active:hover, filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005d76', endColorstr='#004558', GradientType=0); } -#messageheader, #partheader, #composeheaders { +#partheader, #composeheaders { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e9e9e9', GradientType=0); } diff --git a/skins/larry/images/contactpic_32px.png b/skins/larry/images/contactpic_32px.png Binary files differindex 276f1974f..25a81418d 100644 --- a/skins/larry/images/contactpic_32px.png +++ b/skins/larry/images/contactpic_32px.png diff --git a/skins/larry/images/contactpic_48px.png b/skins/larry/images/contactpic_48px.png Binary files differnew file mode 100644 index 000000000..9cd3bceaf --- /dev/null +++ b/skins/larry/images/contactpic_48px.png diff --git a/skins/larry/includes/links.html b/skins/larry/includes/links.html index 0ddc2e160..8bd8012e1 100644 --- a/skins/larry/includes/links.html +++ b/skins/larry/includes/links.html @@ -1,3 +1,4 @@ +<meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> <link rel="shortcut icon" href="/images/favicon.ico"/> <link rel="stylesheet" type="text/css" href="/styles.css" /> <roundcube:if condition="in_array(env:task, array('mail','addressbook','settings'))" /> diff --git a/skins/larry/mail.css b/skins/larry/mail.css index 4fff24307..496cbbd15 100644 --- a/skins/larry/mail.css +++ b/skins/larry/mail.css @@ -38,10 +38,6 @@ bottom: 28px; } -#mailview-top.fullheight { - border-radius: 4px 4px 0 0; -} - #mailview-bottom { position: absolute; left: 0; @@ -50,6 +46,10 @@ height: 26px; } +#mailview-top.fullheight { + border-radius: 4px 4px 0 0; +} + #folderlist-header { width: 100%; height: 12px; @@ -341,7 +341,6 @@ a.iconbutton.threadmode.selected { #messagetoolbar { position: absolute; top: -6px; - right: 390px; left: 0; height: 40px; white-space: nowrap; @@ -362,7 +361,7 @@ a.iconbutton.threadmode.selected { position: absolute; right: 0; top: 0; - width: 240px; + width: 400px; } #mailpreviewtoggle { @@ -383,11 +382,7 @@ a.iconbutton.threadmode.selected { /*** message list ***/ #messagelist thead td:first-child { - border-radius: 4px 0 0 0; -} - -#messagelist thead td:last-child { - border-radius: 0 4px 0 0; + border-radius: 4px 0 0 0; /* for Chrome */ } #messagelist tr td.attachment, @@ -680,15 +675,14 @@ a.iconbutton.threadmode.selected { #messagecontent { position: absolute; - top: 140px; + top: 0; left: 0; width: 100%; - bottom: 0; + bottom: 28px; overflow: auto; border-radius: 4px 4px 0 0; } -#messageheader, #partheader, #composeheaders { position: relative; @@ -712,7 +706,7 @@ h2.subject { h3.subject { font-size: 14px; - margin: 0 8em 0 0; + margin: 0 13em 0 0; padding: 8px 8px 4px 8px; white-space: nowrap; overflow: hidden; @@ -787,6 +781,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 { @@ -801,28 +796,29 @@ h3.subject { #previewheaderstoggle.remove .iconlink { top: auto; - bottom: 5px; + bottom: 15px; background-position: -5px -242px; } -div.more-headers { - cursor: pointer; - height: 10px; - background: url(images/buttons.png) center -1619px no-repeat; +#previewheaderstoggle .iconlink.allheaders { + display: none; } -div.hide-headers { - background-position: center -1629px; +#previewheaderstoggle.remove .iconlink.allheaders { + top: auto; + bottom: 2px; + display: inline-block; + background-position: -27px -242px; } #all-headers { position: relative; - margin: 0 10px; + margin: 2px 0; padding: 0; height: 180px; - border: 1px solid #bbb; + background-color: #f0f0f0; + overflow: hidden; border-radius: 4px; - background: #fff; } #headers-source { @@ -832,25 +828,30 @@ div.hide-headers { left: 0; right: 0; bottom: 0; - padding: 2px 5px; + padding: 2px; overflow: auto; text-align: left; - color: #333; + color: #666; } -#messagepreviewheader { +#messageheader { position: relative; height: auto; margin: 0 8px 0 0; - padding: 0 0 6px 72px; + padding: 0 0 0 72px; border-bottom: 2px solid #f0f0f0; } -#messagepreviewheader h3.subject { +#messagecontent #messageheader { + padding: 0 0 0 90px; + min-height: 68px; +} + +#messageheader h3.subject { padding: 8px 8px 2px 0; } -#messagepreviewheader #contactphoto { +#messageheader #contactphoto { display: block; position: absolute; top: 11px; @@ -862,52 +863,40 @@ div.hide-headers { border-radius: 3px; } -#messagepreviewheader #contactphoto img { +#messageheader #contactphoto img { width: 32px; height: auto; border-radius: 3px; } -#messageheader #contactphoto { - display: block; - position: absolute; - top: 40px; - right: 10px; +#messagecontent #messageheader #contactphoto { + top: 11px; + left: 31px; width: 48px; height: 48px; - overflow: hidden; + background: url(images/contactpic_48px.png) center center no-repeat #fff; border-radius: 4px; } -#messageheader #contactphoto img { +#messagecontent #messageheader #contactphoto img { width: 48px; height: auto; border-radius: 4px; } -#messagepreviewheader #countcontrols, #messageheader #countcontrols { position: absolute; top: 8px; - right: 8px; - width: 20em; + right: 0; text-align: right; white-space: nowrap; } -#messageheader .pagenav .countdisplay { - min-width: 0; - padding-right: 0.5em; - white-space: nowrap; -} - -#messagecontent .leftcol, #messagepreview .leftcol { margin-right: 252px; overflow-x: auto; } -#messagecontent .rightcol, #messagepreview .rightcol { float: right; /* @@ -921,6 +910,7 @@ div.hide-headers { min-height: 200px; background: #f0f0f0; padding: 8px; + border-radius: 4px; } #messagebody { diff --git a/skins/larry/styles.css b/skins/larry/styles.css index 0a72c5048..f2d4888b1 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -647,6 +647,7 @@ a.iconlink.upload { .uibox { border: 1px solid #a3a3a3; border-radius: 4px; + overflow: hidden; box-shadow: 0 0 2px #999; -o-box-shadow: 0 0 2px #999; -webkit-box-shadow: 0 0 2px #999; @@ -660,7 +661,7 @@ a.iconlink.upload { left: 0; bottom: 0; width: 100%; - min-width: 1150px; + min-width: 1024px; } .scroller { @@ -698,7 +699,8 @@ a.iconlink.upload { left: 0; width: 100%; bottom: 0; - overflow: auto; + overflow-x: hidden; + overflow-y: auto; } .listbox .scroller.withfooter { diff --git a/skins/larry/svggradient.php b/skins/larry/svggradient.php index c54bdec17..8db2c5f63 100644 --- a/skins/larry/svggradient.php +++ b/skins/larry/svggradient.php @@ -11,6 +11,8 @@ * See http://creativecommons.org/licenses/by-sa/3.0/ for details. */ +ini_set('error_reporting', E_ALL &~ (E_NOTICE | E_STRICT)); + header('Content-Type: image/svg+xml'); header("Expires: ".gmdate("D, d M Y H:i:s", time()+864000)." GMT"); header("Cache-Control: max-age=864000"); diff --git a/skins/larry/svggradients.css b/skins/larry/svggradients.css index 143fb375f..4f1dd8a05 100644 --- a/skins/larry/svggradients.css +++ b/skins/larry/svggradients.css @@ -133,7 +133,7 @@ ul.toolbarmenu li a.active:hover, background-image: url(svggradient.php?c=005d76;004558); } -#messageheader, #partheader, #composeheaders { +#partheader, #composeheaders { background-image: url(svggradient.php?c=ffffff;e9e9e9); } diff --git a/skins/larry/templates/compose.html b/skins/larry/templates/compose.html index ff0c833c6..d29c1bd2a 100644 --- a/skins/larry/templates/compose.html +++ b/skins/larry/templates/compose.html @@ -131,7 +131,7 @@ </span> <roundcube:endif /> <span class="composeoption"> - <label><label for="rcmcomposepriority"><roundcube:label name="priority" /> + <label for="rcmcomposepriority"><roundcube:label name="priority" /> <roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" /></label> </span> <span class="composeoption"> diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html index 1becd711a..89b7bd808 100644 --- a/skins/larry/templates/message.html +++ b/skins/larry/templates/message.html @@ -24,20 +24,38 @@ <!-- folders list --> <div id="mailboxcontainer" class="uibox listbox"> -<div class="scroller"> -<roundcube:object name="mailboxlist" id="mailboxlist" class="listing" folder_filter="mail" unreadwrap="%s" /> -</div> + <div class="scroller"> + <roundcube:object name="mailboxlist" id="mailboxlist" class="listing" folder_filter="mail" unreadwrap="%s" /> + </div> </div> -</div> +</div><!-- end mailview-left --> + +<div id="mailview-right" class="uibox" style="top: 42px"> + +<div id="messagecontent"> + +<div id="messageheader"> +<h3 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h3> + +<a href="#details" id="previewheaderstoggle"><span class="iconlink"></span><span id="headerstoggleall" class="iconlink allheaders"></span></a> -<div id="mailview-right"> +<div id="contactphoto"><roundcube:object name="contactphoto" /></div> -<div id="mailview-top"> -<div id="messageheader" class="uibox"> -<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="messageFullHeaders" id="full-headers" /> +<table class="headers-table" id="preview-shortheaders"><tbody><tr> +<roundcube:if condition="env:mailbox == config:drafts_mbox || env:mailbox == config:sent_mbox"> + <td class="header-title"><roundcube:label name="to" /></td> + <td class="header from"><roundcube:object name="messageHeaders" valueOf="to" addicon="/images/addcontact.png" /></td> +<roundcube:else /> + <td class="header-title"><roundcube:label name="from" /></td> + <td class="header from"><roundcube:object name="messageHeaders" valueOf="from" addicon="/images/addcontact.png" /></td> +<roundcube:endif /> + <td class="header-title"><roundcube:label name="date" /></td> + <td class="header from"><roundcube:object name="messageHeaders" valueOf="date" /></td> +</tr></tbody></table> + +<roundcube:object name="messageHeaders" id="preview-allheaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject,replyto" /> +<roundcube:object name="messageFullHeaders" no-switch="true" /> <!-- record navigation --> <div id="countcontrols" class="pagenav"> @@ -46,24 +64,21 @@ <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><!-- end messageheader --> -<div id="messagecontent" class="uibox"> -<div class="rightcol"> -<roundcube:object name="messageAttachments" id="attachment-list" class="attachmentslist" /> -</div> -<div class="leftcol"> -<roundcube:object name="messageObjects" id="message-objects" /> -<roundcube:object name="messageBody" id="messagebody" /> -</div> +<div id="messagepreview"> + <div class="rightcol"> + <roundcube:object name="messageAttachments" id="attachment-list" class="attachmentslist" /> + </div> + <div class="leftcol"> + <roundcube:object name="messageObjects" id="message-objects" /> + <roundcube:object name="messageBody" id="messagebody" /> + </div> </div> -</div><!-- end mailview-top --> +</div><!-- end messagecontent --> -<div id="mailview-bottom" class="uibox"> <roundcube:object name="message" id="message" class="statusbar" /> -</div> </div><!-- end mailview-right --> diff --git a/skins/larry/templates/messageerror.html b/skins/larry/templates/messageerror.html index 70181f174..2f5243200 100644 --- a/skins/larry/templates/messageerror.html +++ b/skins/larry/templates/messageerror.html @@ -27,8 +27,6 @@ </div> -<div id="mailview-right"> - <!-- toolbar --> <div id="messagetoolbar" class="fullwidth"> <div id="mailtoolbar" class="toolbar"> @@ -36,11 +34,11 @@ </div> </div> -<div id="mailview-top" class="uibox watermark"></div> +<div id="mailview-right" class="uibox" style="top: 42px"> -<div id="mailview-bottom" class="uibox"> - <roundcube:object name="message" id="message" class="statusbar" /> -</div> +<div id="messagecontent" class="watermark"></div> + +<roundcube:object name="message" id="message" class="statusbar" /> </div><!-- end mailview-right --> diff --git a/skins/larry/templates/messagepreview.html b/skins/larry/templates/messagepreview.html index b53683ec1..74c414b0d 100644 --- a/skins/larry/templates/messagepreview.html +++ b/skins/larry/templates/messagepreview.html @@ -6,10 +6,10 @@ </head> <body class="iframe fullheight"> -<div id="messagepreviewheader"> +<div id="messageheader"> <h3 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h3> -<a href="#details" id="previewheaderstoggle"><span class="iconlink"></span></a> +<a href="#details" id="previewheaderstoggle"><span class="iconlink"></span><span id="headerstoggleall" class="iconlink allheaders"></a> <div id="contactphoto"><roundcube:object name="contactphoto" /></div> <table class="headers-table" id="preview-shortheaders"><tbody><tr> @@ -25,6 +25,7 @@ </tr></tbody></table> <roundcube:object name="messageHeaders" id="preview-allheaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject,replyto" /> +<roundcube:object name="messageFullHeaders" no-switch="true" /> <!-- record navigation --> <div id="countcontrols" class="pagenav"> diff --git a/skins/larry/ui.js b/skins/larry/ui.js index b6056b6ee..e3b5eefe4 100644 --- a/skins/larry/ui.js +++ b/skins/larry/ui.js @@ -74,9 +74,8 @@ 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 }); + $('#previewheaderstoggle').click(function(e){ toggle_preview_headers(this); return false; }); + $('#headerstoggleall').click(function(e){ toggle_all_headers(this); return false; }); } else if (rcmail.env.action == 'compose') { rcmail.addEventListener('aftertoggle-editor', function(){ window.setTimeout(function(){ layout_composeview() }, 200); }); @@ -164,6 +163,12 @@ function rcube_mail_ui() } } + // set min-width to show all toolbar buttons + var screen = $('.minwidth'); + if (screen.length) { + screen.css('min-width', $('.toolbar').width() + $('#quicksearchbar').parent().width() + 20); + } + // turn a group of fieldsets into tabs $('.tabbed').each(function(idx, elem){ init_tabs(elem); }) @@ -254,11 +259,11 @@ function rcube_mail_ui() */ function resize() { - if (rcmail.env.task == 'mail' && (rcmail.env.action == 'show' || rcmail.env.action == 'preview')) { - layout_messageview(); - } - if (rcmail.env.task == 'mail' && rcmail.env.action == 'compose') { - layout_composeview(); + if (rcmail.env.task == 'mail') { + if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') + layout_messageview(); + else if (rcmail.env.action == 'compose') + layout_composeview(); } // make iframe footer buttons float if scrolling is active @@ -267,13 +272,13 @@ function rcube_mail_ui() body = $(document.body), floating = footer.hasClass('floating'), overflow = body.outerHeight(true) > $(window).height(); + if (overflow != floating) { var action = overflow ? 'addClass' : 'removeClass'; footer[action]('floating'); body[action]('floatingbuttons'); } - }) - + }); } /** @@ -315,7 +320,6 @@ function rcube_mail_ui() */ function layout_messageview() { - $('#messagecontent').css('top', ($('#messageheader').outerHeight() + 10) + 'px'); $('#message-objects div a').addClass('button'); if (!$('#attachment-list li').length) { @@ -461,7 +465,7 @@ function rcube_mail_ui() var button = $(e.target), frame = $('#mailpreviewframe'), visible = !frame.is(':visible'), - splitter = mailviewsplit.pos || parseInt(bw.get_cookie('mailviewsplitter') || 320), + splitter = mailviewsplit.pos || parseInt(rcmail.get_cookie('mailviewsplitter') || 320), topstyles, bottomstyles, uid; frame.toggle(); @@ -508,13 +512,31 @@ function rcube_mail_ui() { $('#preview-shortheaders').toggle(); var full = $('#preview-allheaders').toggle(), - button = $('a#previewheaderstoggle'); + button = $('#previewheaderstoggle'); + + if (!$('#headerstoggleall').length) + $('#all-headers').toggle(); // add toggle button to full headers table - if (full.is(':visible')) - button.attr('href', '#hide').removeClass('add').addClass('remove') - else - button.attr('href', '#details').removeClass('remove').addClass('add') + if (full.is(':visible')) { + button.attr('href', '#hide').removeClass('add').addClass('remove'); + } + else { + button.attr('href', '#details').removeClass('remove').addClass('add'); + } + } + + + /** + * Show/hide all message headers + */ + function toggle_all_headers(button) + { + rcmail.command('show-headers', '', button); + $(button).remove(); + $('#previewheaderstoggle span').css({bottom: '5px'}); + + return false; } @@ -847,6 +869,8 @@ function rcube_mail_ui() // Select/unselect tab $('#tab'+idx).toggleClass('selected', idx==index); }); + + resize(); } /** @@ -974,7 +998,7 @@ function rcube_splitter(p) $(window).resize(onResize); // read saved position from cookie - var cookie = bw.get_cookie(this.id); + var cookie = rcmail.get_cookie(this.id); if (cookie && !isNaN(cookie)) { this.pos = parseFloat(cookie); this.resize(); @@ -1135,7 +1159,7 @@ function rcube_splitter(p) { var exp = new Date(); exp.setYear(exp.getFullYear() + 1); - bw.set_cookie(this.id, this.pos, exp); + rcmail.set_cookie(this.id, this.pos, exp); }; } // end class rcube_splitter |