CHANGELOG | ●●●●● patch | view | raw | blame | history | |
skins/classic/addressbook.css | ●●●●● patch | view | raw | blame | history | |
skins/classic/functions.js | ●●●●● patch | view | raw | blame | history | |
skins/classic/googiespell.css | ●●●●● patch | view | raw | blame | history | |
skins/classic/ie6hacks.css | ●●●●● patch | view | raw | blame | history | |
skins/classic/iehacks.css | ●●●●● patch | view | raw | blame | history | |
skins/classic/images/icons/groupactions.gif | patch | view | raw | blame | history | |
skins/classic/images/icons/groupactions.png | patch | view | raw | blame | history | |
skins/classic/mail.css | ●●●●● patch | view | raw | blame | history | |
skins/classic/splitter.js | ●●●●● patch | view | raw | blame | history | |
skins/classic/templates/compose.html | ●●●●● patch | view | raw | blame | history |
CHANGELOG
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== - Add addressbook widget on compose page in classic skin - Add search box to compose address book widget (#1488381) - Fix login in case when default_host is an array with one element (#1488928) - Use LDAP fallback hosts on connect + bind instead of ldap_connect() only. skins/classic/addressbook.css
@@ -21,7 +21,7 @@ width: 32px; height: 32px; padding: 0; margin-right: 10px; margin: 0 5px; overflow: hidden; background: url(images/abook_toolbar.png) 0 0 no-repeat transparent; opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */ skins/classic/functions.js
@@ -355,7 +355,7 @@ for (i in rcmail.env.spell_langs) { li = $('<li>'); link = $('<a href="#">').text(rcmail.env.spell_langs[i]) link = $('<a href="#"></a>').text(rcmail.env.spell_langs[i]) .addClass('active').data('lang', i) .click(function() { rcmail.spellcheck_lang_set($(this).data('lang')); @@ -491,17 +491,23 @@ div.style.top = (parseInt(headers_div.offsetHeight, 10) + 3) + 'px'; $(window).resize(); // contacts search submit $('#quicksearchbox').keydown(function(e) { if (rcube_event.get_keycode(e) == 13) rcmail.command('search'); }); }, resize_compose_body: function() { var div = $('#compose-div .boxlistcontent'), w = div.width(), h = div.height(); w -= 8; // 2 x 3px padding + 2 x 1px border h -= 4; var div = $('#compose-div .boxlistcontent'), w = div.width() - 2, h = div.height(), x = bw.ie ? 4 : 0; $('#compose-body_tbl').width((w+6)+'px').height(''); $('#compose-body_ifr').width((w+6)+'px').height((h-54)+'px'); $('#compose-body').width(w+'px').height(h+'px'); $('#compose-body_tbl').width((w+3)+'px').height(''); $('#compose-body_ifr').width((w+3)+'px').height((h-54)+'px'); $('#compose-body').width((w-x)+'px').height(h+'px'); $('#googie_edit_layer').height(h+'px'); }, skins/classic/googiespell.css
@@ -12,7 +12,6 @@ padding: 0 4px; font-size: 9pt; font-family: monospace; border: 1px solid #999; } .googie_edit_layer span { skins/classic/ie6hacks.css
@@ -3,6 +3,7 @@ #taskbar { background: url(images/taskbar.gif) top right no-repeat; width: expression((parseInt(document.documentElement.clientWidth)-250)+'px'); } img @@ -36,11 +37,6 @@ #mailboxlist li { background-image: url(images/icons/folders.gif); } #attachment-list { height: expression(Math.min(16, parseInt(document.documentElement.clientHeight))+'px'); } #messagetoolbar a @@ -124,6 +120,11 @@ height: expression((parseInt(this.parentNode.offsetHeight)-23-parseInt(this.style.top?this.style.top:21))+'px'); } #compose-body-div { height: expression(parseInt(this.parentNode.offsetHeight)+'px'); } #folder-manager { height: expression((parseInt(document.documentElement.clientHeight)-105)+'px'); @@ -176,3 +177,8 @@ { zoom: 1; } #abookactions a { background-image: url("images/icons/groupactions.gif"); } skins/classic/iehacks.css
@@ -116,6 +116,7 @@ #mailrightcontainer, #compose-container, #compose-attachments, #compose-contacts, #mailcontframe, #mailboxlist-container, #mailrightcontent, @@ -199,11 +200,6 @@ #addressscreen { width: expression((parseInt(document.documentElement.clientWidth)-245)+'px'); } #contacts-table { width: expression(document.getElementById('addresslist').clientWidth); } #contacts-box, skins/classic/images/icons/groupactions.gifskins/classic/images/icons/groupactions.pngskins/classic/mail.css
@@ -1392,7 +1392,7 @@ { position: absolute; top: 0; left: 185px; left: 205px; right: 0; bottom: 0; margin: 0; @@ -1402,16 +1402,20 @@ { position: absolute; top: 85px; right: 0; left: 0; bottom: 0; margin: 0; width: 100%; } #compose-div .boxfooter #compose-body-div { height: 22px; background: none; border-top: 0; position: absolute; top: 0; left: 0; bottom: 0; right: 175px; border: 1px solid #999; } #compose-div .boxlistcontent @@ -1429,15 +1433,12 @@ margin: 0; font-size: 9pt; font-family: monospace; border: 1px solid #999; resize: none; border: none; outline: none; } #compose-body_tbl { border: 1px solid #999; } #compose-body_tbl, #compose-body_tbl td { border: none; @@ -1504,9 +1505,10 @@ #compose-editorfooter { position: absolute; right: 0; right: 5px; bottom: 0; text-align: right; line-height: 20px; } #compose-editorfooter label @@ -1519,9 +1521,20 @@ #compose-buttons { position: absolute; left: 5px; bottom: 1px; width: auto; } #compose-contacts { position: absolute; top: 0; left: 0; bottom: 0; width: auto; width: 195px; border: 1px solid #999; background-color: #F9F9F9; } #compose-attachments @@ -1529,8 +1542,8 @@ position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 175px; border: 1px solid #999; background-color: #F9F9F9; } @@ -1622,3 +1635,107 @@ right: 6px; z-index: 101; } /* addressbook in compose - copy from addressbook.css */ #directorylist { list-style: none; margin: 0; padding: 0; background-color: #FFFFFF; } #directorylist li { display: block; font-size: 11px; background: url(images/icons/folders.png) 5px -108px no-repeat; border-bottom: 1px solid #EBEBEB; white-space: nowrap; } #directorylist li a { cursor: default; display: block; padding-left: 25px; padding-top: 2px; padding-bottom: 2px; text-decoration: none; white-space: nowrap; height: 15px; } #directorylist li.selected { background-color: #929292; border-bottom: 1px solid #898989; } #directorylist li.selected a { color: #FFF; font-weight: bold; } #contacts-table { width: 100%; table-layout: fixed; } #contacts-table tbody td { cursor: default; text-overflow: ellipsis; -o-text-overflow: ellipsis; } #abookcountbar { margin-top: 4px; margin-left: 4px; position: absolute; margin-right: 5px; right: 0; } #abookactions { position: absolute; text-underline: none; } #abookactions a { font-weight: bold; line-height: 22px; height: 22px; width: auto; margin: 0; padding-left: 5px; padding-right: 5px; text-shadow: 1px 1px white; background: url("images/icons/groupactions.png") no-repeat right -70px; } #compose-contacts #quicksearchbar { top: 2px; left: 7px; } #compose-contacts #directorylist { width: 100%; top: 23px; position: absolute; border-top: 1px solid #eee; } #compose-contacts #contacts-table { top: 45px; position: absolute; } skins/classic/splitter.js
@@ -147,6 +147,7 @@ this.p1pos = this.relative ? $(this.p1).position() : $(this.p1).offset(); this.p2pos = this.relative ? $(this.p2).position() : $(this.p2).offset(); return false; }; skins/classic/templates/compose.html
@@ -9,9 +9,9 @@ <script type="text/javascript" src="/functions.js"></script> <script type="text/javascript" src="/splitter.js"></script> <style type="text/css"> #compose-attachments { width: <roundcube:exp expression="!empty(cookie:composesplitterv) ? cookie:composesplitterv-5 : 175" />px; } #compose-container { left: <roundcube:exp expression="!empty(cookie:composesplitterv) ? cookie:composesplitterv+5 : 185" />px; <roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:composesplitterv) ? cookie:composesplitterv+5 : 180).')+\\'px\\');') : ''" /> #compose-contacts { width: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1-5 : 195" />px; } #compose-container { left: <roundcube:exp expression="!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 205" />px; <roundcube:exp expression="browser:ie ? ('width: expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:composesplitterv1) ? cookie:composesplitterv1+5 : 200).')+\\'px\\');') : ''" /> } </style> </head> @@ -23,8 +23,6 @@ <roundcube:include file="/includes/taskbar.html" /> <roundcube:include file="/includes/header.html" /> <roundcube:endif /> <form name="form" action="./" method="post"> <div id="messagetoolbar"> <roundcube:if condition="env:extwin" /> @@ -46,22 +44,40 @@ <roundcube:button name="messageoptions" id="composemenulink" type="link" class="button messagemenu" title="messageoptions" onclick="rcmail_ui.show_popup('composemenu', true);return false" content=" " /> </div> <form name="form" action="./" method="post"> <div id="mainscreen"> <div id="compose-attachments"> <div class="boxtitle"><roundcube:label name="attachments" /></div> <div id="compose-contacts"> <div class="boxtitle"><roundcube:label name="contacts" /></div> <div class="boxlistcontent"> <roundcube:object name="composeAttachmentList" id="attachmentslist" loadingIcon="/images/display/loading_blue.gif" /> <div id="quicksearchbar"> <img id="searchmenulink" src="/images/icons/glass.png" width="16" height="16" /> <roundcube:object name="searchform" id="quicksearchbox" form="true" tabindex="13" /> <roundcube:button command="reset-search" id="searchreset" image="/images/icons/reset.gif" title="resetsearch" width="13" height="13" /> </div> <roundcube:object name="addressbooks" id="directorylist" /> <roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" noheader="true" /> </div> <div class="boxfooter"> <roundcube:button name="uploadmenulink" id="uploadmenulink" type="link" title="addattachment" class="button addgroup" onclick="rcmail_ui.show_popup('uploadmenu', true);return false" content=" " /> <div id="abookactions" class="pagenav"> <roundcube:button command="add-recipient" prop="to" type="link" title="to" class="button disabled" classAct="button" content="To &raquo;" /> <roundcube:button command="add-recipient" prop="cc" type="link" title="cc" class="button disabled" classAct="button" content="Cc &raquo;" /> <roundcube:button command="add-recipient" prop="bcc" type="link" title="bcc" class="button disabled" classAct="button" content="Bcc &raquo;" /> </div> <div id="abookcountbar" class="pagenav"> <roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstpage" content=" " /> <roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previouspage" content=" " /> <span style="float:left"> </span> <roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextpage" content=" " /> <roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastpage" content=" " /> </div> </div> <roundcube:object name="fileDropArea" id="compose-attachments" /> </div> <script type="text/javascript"> var composesplitv = new rcube_splitter({id:'composesplitterv', p1: 'compose-attachments', p2: 'compose-container', orientation: 'v', relative: true, start: 175}); rcmail.add_onload('composesplitv.init()'); var composesplitv1 = new rcube_splitter({id:'composesplitterv1', p1: 'compose-contacts', p2: 'compose-container', orientation: 'v', relative: true, start: 200}); rcmail.add_onload('composesplitv1.init()'); </script> <div id="compose-container"> @@ -119,6 +135,7 @@ </table> </div> <div id="compose-div"> <div id="compose-body-div"> <div class="boxlistcontent" style="overflow: hidden; top: 0"> <roundcube:object name="composeBody" id="compose-body" form="form" cols="70" rows="20" tabindex="9" /> </div> @@ -127,7 +144,7 @@ <roundcube:button type="input" command="send" class="button mainaction" label="sendmessage" tabindex="10" /> <roundcube:button type="input" command="list" class="button" label="cancel" tabindex="11" /> </div> <div id="compose-editorfooter"> <div id="compose-editorfooter" class="pagenav"> <roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" /> <span> <label><roundcube:label name="editortype" /></label> @@ -137,6 +154,21 @@ </div> </div> </div> <script type="text/javascript"> var composesplitv2 = new rcube_splitter({id:'composesplitterv2', p1: 'compose-body-div', p2: 'compose-attachments', orientation: 'v', relative: true, start: $('#compose-headers-div').width() - 175}); rcmail.add_onload('composesplitv2.init()'); </script> <div id="compose-attachments"> <div class="boxtitle"><roundcube:label name="attachments" /></div> <div class="boxlistcontent"> <roundcube:object name="composeAttachmentList" id="attachmentslist" loadingIcon="/images/display/loading_blue.gif" /> </div> <div class="boxfooter"> <roundcube:button name="uploadmenulink" id="uploadmenulink" type="link" title="addattachment" class="button addgroup" onclick="rcmail_ui.show_popup('uploadmenu', true);return false" content=" " /> </div> </div> <roundcube:object name="fileDropArea" id="compose-attachments" /> </div> </div> </div>