summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--program/localization/en_US/labels.inc2
-rw-r--r--program/localization/pl_PL/labels.inc2
-rw-r--r--program/steps/mail/func.inc5
-rw-r--r--skins/default/addressbook.css17
-rw-r--r--skins/default/common.css143
-rw-r--r--skins/default/functions.js32
-rw-r--r--skins/default/ie6hacks.css12
-rw-r--r--skins/default/iehacks.css24
-rw-r--r--skins/default/images/mail_footer.gifbin0 -> 1336 bytes
-rw-r--r--skins/default/images/mail_footer.pngbin2416 -> 2235 bytes
-rw-r--r--skins/default/includes/header.html2
-rw-r--r--skins/default/mail.css139
-rw-r--r--skins/default/settings.css2
-rw-r--r--skins/default/templates/addressbook.html22
-rw-r--r--skins/default/templates/compose.html14
-rw-r--r--skins/default/templates/editidentity.html2
-rw-r--r--skins/default/templates/error.html2
-rw-r--r--skins/default/templates/identities.html2
-rw-r--r--skins/default/templates/importcontacts.html2
-rw-r--r--skins/default/templates/login.html2
-rw-r--r--skins/default/templates/mail.html72
-rw-r--r--skins/default/templates/managefolders.html2
-rw-r--r--skins/default/templates/message.html10
-rw-r--r--skins/default/templates/messageerror.html2
25 files changed, 294 insertions, 219 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 9ecbbe60d..5053438ad 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Add button to hide/unhide the preview pane (#1484215)
- Fix no-cache headers on https to prevent content caching by proxies (#1486798)
- Fix attachment filenames broken with TNEF decoder using long filenames (#1486795)
- Use user's timezone in Date header, not server's timezone (#1486119)
diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc
index 20f9f7ecb..34de9159b 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -142,6 +142,7 @@ $labels['markunread'] = 'As unread';
$labels['markflagged'] = 'As flagged';
$labels['markunflagged'] = 'As unflagged';
$labels['messageactions'] = 'More actions...';
+$labels['preview'] = 'Preview';
$labels['select'] = 'Select';
$labels['all'] = 'All';
@@ -246,6 +247,7 @@ $labels['email'] = 'E-Mail';
$labels['addcontact'] = 'Add new contact';
$labels['editcontact'] = 'Edit contact';
+$labels['contacts'] = 'Contacts';
$labels['edit'] = 'Edit';
$labels['cancel'] = 'Cancel';
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index 35b9d61dd..4f2646b21 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -345,5 +345,7 @@ $labels['japanese'] = 'japoński';
$labels['korean'] = 'koreański';
$labels['chinese'] = 'chiński';
$labels['folderactions'] = 'Działania na folderach...';
+$labels['contacts'] = 'Kontakty';
+$labels['preview'] = 'Podgląd';
?>
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index a63b50907..1614f4ccc 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -407,14 +407,15 @@ function rcmail_message_list_head($attrib, $a_show_cols)
*/
function rcmail_messagecontent_frame($attrib)
{
- global $OUTPUT;
+ global $OUTPUT, $RCMAIL;
if (empty($attrib['id']))
$attrib['id'] = 'rcmailcontentwindow';
$attrib['name'] = $attrib['id'];
- $OUTPUT->set_env('contentframe', $attrib['id']);
+ if ($RCMAIL->config->get('preview_pane'))
+ $OUTPUT->set_env('contentframe', $attrib['id']);
$OUTPUT->set_env('blankpage', $attrib['src'] ? $OUTPUT->abs_url($attrib['src']) : 'program/blank.gif');
return html::iframe($attrib);
diff --git a/skins/default/addressbook.css b/skins/default/addressbook.css
index 73375ced0..dc9e865b7 100644
--- a/skins/default/addressbook.css
+++ b/skins/default/addressbook.css
@@ -74,18 +74,9 @@
#abookcountbar
{
- position: absolute;
- bottom: 6px;
- left: 225px;
- width: 240px;
- height: 20px;
- text-align: left;
-}
-
-#abookcountbar span
-{
- font-size: 11px;
- color: #333333;
+ margin-top: 4px;
+ margin-left: 4px;
+ min-width: 200px;
}
#addressscreen
@@ -122,7 +113,7 @@
bottom: 0px;
border: 1px solid #999999;
background-color: #F9F9F9;
- overflow: auto;
+ overflow: hidden;
}
#contactgroupslist
diff --git a/skins/default/common.css b/skins/default/common.css
index 66ea82dd0..583f8a157 100644
--- a/skins/default/common.css
+++ b/skins/default/common.css
@@ -243,73 +243,6 @@ img
left: 20px;
}
-.pagenav a.button,
-.pagenav a.buttonPas
-{
- display: block;
- float: left;
- width: 11px;
- height: 11px;
- padding: 0;
- margin: 1px;
- overflow: hidden;
- background: url(images/pagenav.gif) 0 0 no-repeat transparent;
- opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
-}
-
-.pagenav a.buttonPas {
- opacity: 0.35;
-}
-
-.pagenav a.firstpageSel {
- background-position: 0 -11px;
-}
-
-.pagenav a.prevpage {
- background-position: -11px 0;
-}
-
-.pagenav a.prevpageSel {
- background-position: -11px -11px;
-}
-
-.pagenav a.nextpage {
- background-position: -22px 0;
-}
-
-.pagenav a.nextpageSel {
- background-position: -22px -11px;
-}
-
-.pagenav a.lastpage {
- background-position: -33px 0;
-}
-
-.pagenav a.lastpageSel {
- background-position: -33px -11px;
-}
-
-.splitter
-{
- user-select: none;
- -moz-user-select: none;
- -khtml-user-select: none;
- position: absolute;
- background: url(images/dimple.png) center no-repeat;
-}
-
-.splitter-h
-{
- cursor: n-resize;
- background-position: center 2px;
-}
-
-.splitter-v
-{
- cursor: e-resize;
- background-position: 2px center;
-}
-
.boxtitle
{
height: 12px !important;
@@ -350,6 +283,7 @@ img
bottom: 0px;
left: 0px;
right: 0px;
+ overflow: hidden;
height: 22px;
border-top: 1px solid #999;
background: url('images/listheader.gif') top left repeat-x #CCC;
@@ -379,6 +313,80 @@ img
opacity: 0.35;
}
+.pagenav span
+{
+ color: #666;
+ font-size: 11px;
+ text-shadow: white 1px 1px;
+}
+
+.pagenav a.button,
+.pagenav a.buttonPas
+{
+ display: block;
+ float: left;
+ width: 11px;
+ height: 11px;
+ padding: 0;
+ margin: 1px;
+ overflow: hidden;
+ background: url(images/pagenav.gif) 0 0 no-repeat transparent;
+ opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
+}
+
+.pagenav a.buttonPas {
+ opacity: 0.35;
+}
+
+.pagenav a.firstpageSel {
+ background-position: 0 -11px;
+}
+
+.pagenav a.prevpage {
+ background-position: -11px 0;
+}
+
+.pagenav a.prevpageSel {
+ background-position: -11px -11px;
+}
+
+.pagenav a.nextpage {
+ background-position: -22px 0;
+}
+
+.pagenav a.nextpageSel {
+ background-position: -22px -11px;
+}
+
+.pagenav a.lastpage {
+ background-position: -33px 0;
+}
+
+.pagenav a.lastpageSel {
+ background-position: -33px -11px;
+}
+
+.splitter
+{
+ user-select: none;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ position: absolute;
+ background: url(images/dimple.png) center no-repeat;
+}
+
+.splitter-h
+{
+ cursor: n-resize;
+ background-position: center 2px;
+}
+
+.splitter-v
+{
+ cursor: e-resize;
+ background-position: 2px center;
+}
+
.popupmenu
{
position: absolute;
@@ -436,7 +444,6 @@ img
}
-
/***** common table settings ******/
table.records-table thead tr td
diff --git a/skins/default/functions.js b/skins/default/functions.js
index 3a37b6d8d..4ef069b88 100644
--- a/skins/default/functions.js
+++ b/skins/default/functions.js
@@ -325,6 +325,38 @@ body_keypress: function(evt, p)
this[k].hide();
}
}
+},
+
+switch_preview_pane: function(elem)
+{
+ var uid, prev_frm = $('#mailpreviewframe');
+
+ if (elem.checked) {
+ rcmail.env.contentframe = 'messagecontframe';
+ if (mailviewsplit.layer) {
+ mailviewsplit.resize();
+ mailviewsplit.layer.elm.style.display = '';
+ } else
+ mailviewsplit.init();
+ prev_frm.show();
+ if (uid = rcmail.message_list.get_single_selection())
+ rcmail.show_message(uid, false, true);
+ rcmail.http_post('save-pref', '_name=preview_pane&_value=1');
+ } else {
+ prev_frm.hide();
+ if (bw.ie6 || bw.ie7) {
+ var fr = document.getElementById('mailcontframe');
+ fr.style.bottom = 0;
+ fr.style.height = parseInt(fr.parentNode.offsetHeight)+'px';
+ }
+ else
+ $('#mailcontframe').css({height: 'auto', bottom: 0});
+ if (mailviewsplit.layer)
+ mailviewsplit.layer.elm.style.display = 'none';
+ rcmail.env.contentframe = null;
+ rcmail.show_contentframe(false);
+ rcmail.http_post('save-pref', '_name=preview_pane&_value=0');
+ }
}
};
diff --git a/skins/default/ie6hacks.css b/skins/default/ie6hacks.css
index 5b42f1cfb..9fa3eb804 100644
--- a/skins/default/ie6hacks.css
+++ b/skins/default/ie6hacks.css
@@ -10,7 +10,7 @@ img
behavior: url(skins/default/pngbehavior.htc);
}
-#header img
+#logo
{
width: 178px;
height: 47px;
@@ -49,6 +49,11 @@ img
padding-right: 10px;
}
+#listcontrols a.button,
+#listcontrols a.buttonPas {
+ background-image: url(images/mail_footer.gif);
+}
+
#messagetoolbar a.button,
#messagetoolbar a.buttonPas {
background-image: url(images/mail_toolbar.gif);
@@ -76,6 +81,7 @@ ul.toolbarmenu li.separator_below
.boxfooter
{
width: 100%;
+ bottom: -1px;
}
.boxtitle,
@@ -86,6 +92,6 @@ ul.toolbarmenu li.separator_below
.boxlistcontent
{
- height: expression((parseInt(this.parentNode.offsetHeight)-42)+'px');
- width: 100%;
+ top: 21px;
+ height: expression((parseInt(this.parentNode.offsetHeight)-24-parseInt(this.style.top?this.style.top:21))+'px');
}
diff --git a/skins/default/iehacks.css b/skins/default/iehacks.css
index cf27c3be8..d070ea328 100644
--- a/skins/default/iehacks.css
+++ b/skins/default/iehacks.css
@@ -61,8 +61,7 @@ input, textarea
background-image: url(images/mail_toolbar.gif);
}
-#listcontrols a.buttonPas,
-#mailboxcontrols a.buttonPas
+#listcontrols a.buttonPas
{
filter: alpha(opacity=35);
}
@@ -75,12 +74,12 @@ input, textarea
#mainscreen
{
width: expression((parseInt(document.documentElement.clientWidth)-40)+'px');
- height: expression((parseInt(document.documentElement.clientHeight)-101)+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-96)+'px');
}
#directorylistbox
{
- height: expression((parseInt(document.documentElement.clientHeight)-125)+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-115)+'px');
}
#addresslist,
@@ -102,7 +101,7 @@ input, textarea
#messagepartcontainer
{
width: expression((parseInt(document.documentElement.clientWidth)-40)+'px');
- height: expression((parseInt(document.documentElement.clientHeight)-100)+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-90)+'px');
}
#mailrightcontent
@@ -148,11 +147,7 @@ input, textarea
{
width: expression((parseInt(this.parentNode.offsetWidth)-180)+'px');
height: expression((parseInt(this.parentNode.offsetHeight)-20)+'px');
-}
-
-#messagecanvas
-{
- width: expression((parseInt(this.parentNode.offsetWidth)-20)+'px');
+ overflow: hidden;
}
#countcontrols
@@ -189,7 +184,7 @@ div.message-part div.pre
#addressscreen
{
width: expression((parseInt(document.documentElement.clientWidth)-245)+'px');
- height: expression((parseInt(document.documentElement.clientHeight)-125)+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-115)+'px');
}
#prefsscreen
@@ -201,7 +196,7 @@ div.message-part div.pre
#importbox
{
width: expression((parseInt(document.documentElement.clientWidth)-40)+'px');
- height: expression((parseInt(document.documentElement.clientHeight)-145)+'px');
+ height: expression((parseInt(document.documentElement.clientHeight)-140)+'px');
}
#contacts-table
@@ -266,3 +261,8 @@ table.records-table thead tr td
margin: 0 4px;
padding: 0.8em;
}
+
+#listcontrols input
+{
+ margin-top: 2px;
+}
diff --git a/skins/default/images/mail_footer.gif b/skins/default/images/mail_footer.gif
new file mode 100644
index 000000000..302b55870
--- /dev/null
+++ b/skins/default/images/mail_footer.gif
Binary files differ
diff --git a/skins/default/images/mail_footer.png b/skins/default/images/mail_footer.png
index 7e0867748..e0f82b578 100644
--- a/skins/default/images/mail_footer.png
+++ b/skins/default/images/mail_footer.png
Binary files differ
diff --git a/skins/default/includes/header.html b/skins/default/includes/header.html
index 14cc80caf..393ee9218 100644
--- a/skins/default/includes/header.html
+++ b/skins/default/includes/header.html
@@ -1,3 +1,3 @@
-<div id="header"><a href="./"><img src="/images/roundcube_logo.png" alt="logo" title="<roundcube:object name='productname' />" /></a></div>
+<div id="header"><a href="./"><img id="logo" src="/images/roundcube_logo.png" alt="logo" title="<roundcube:object name='productname' />" /></a></div>
<roundcube:object name="message" id="message" />
diff --git a/skins/default/mail.css b/skins/default/mail.css
index b29688492..fae7a82a5 100644
--- a/skins/default/mail.css
+++ b/skins/default/mail.css
@@ -265,36 +265,36 @@ td.formlinks a:visited
position: absolute;
top: 85px;
right: 20px;
- bottom: 16px;
+ bottom: 30px;
left: 20px;
}
#mailleftcontainer
{
position: absolute;
- top: 0px;
- left: 0px;
- bottom: 0px;
+ top: 0;
+ left: 0;
+ bottom: 0;
width: 195px;
}
#mailrightcontainer
{
position: absolute;
- top: 0px;
+ top: 0;
left: 170px;
- bottom: 0px;
- right: 0px;
+ bottom: 0;
+ right: 0;
min-width: 600px;
}
#mailrightcontent
{
position: absolute;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 20px;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
}
#messagepartcontainer
@@ -310,13 +310,11 @@ td.formlinks a:visited
{
position: absolute;
width: 100%;
- top: 0px;
- bottom: 0px;
+ top: 0;
+ bottom: 0;
border: 1px solid #999999;
background-color: #F9F9F9;
- overflow: auto;
- overflow-y: auto;
- overflow-x: hidden;
+ overflow: hidden;
}
#mailpreviewframe
@@ -372,16 +370,31 @@ td.formlinks a:visited
font-weight: bold;
}
+#quota
+{
+ position: absolute;
+ bottom: 12px;
+ left: 20px;
+}
+
+#quota span
+{
+ display: block;
+ float: left;
+ font-size: 11px;
+ color: #666;
+}
+
/** mailbox list styles */
#mailboxlist-container
{
position: absolute;
- top: 0px;
- left: 0px;
+ top: 0;
+ left: 0;
width: 100%;
- bottom: 20px;
+ bottom: 0;
border: 1px solid #999;
background-color: #F9F9F9;
overflow: hidden;
@@ -512,32 +525,32 @@ td.formlinks a:visited
font-weight: normal;
}
-#listcontrols,
-#mailboxcontrols
+#listcontrols
{
- position: absolute;
+ position: relative;
white-space: nowrap;
- left: 0px;
- bottom: 0px;
- height: 15px;
+ left: 4px;
+ height: 22px;
width: auto;
min-width: 300px;
}
#listcontrols a,
-#listcontrols span,
-#mailboxcontrols a,
-#mailboxcontrols span
+#listcontrols span
{
display: block;
float: left;
+ margin-top: 4px;
font-size: 11px;
}
+#listcontrols input
+{
+ margin-top: 6px;
+}
+
#listcontrols a.button,
-#listcontrols a.buttonPas,
-#mailboxcontrols a.button,
-#mailboxcontrols a.buttonPas
+#listcontrols a.buttonPas
{
display: block;
float: left;
@@ -550,28 +563,11 @@ td.formlinks a:visited
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
-#listcontrols a.buttonPas,
-#mailboxcontrols a.buttonPas
+#listcontrols a.buttonPas
{
opacity: 0.35;
}
-#mailboxcontrols a.expunge {
- background-position: 0 0;
-}
-
-#mailboxcontrols a.expungesel {
- background-position: 0 -15px;
-}
-
-#mailboxcontrols a.purge {
- background-position: -15px 0;
-}
-
-#mailboxcontrols a.purgesel {
- background-position: -15px -15px;
-}
-
#listcontrols a.all {
background-position: -30px 0;
}
@@ -638,10 +634,9 @@ td.formlinks a:visited
#countcontrols
{
- height: 15px;
position: absolute;
- bottom: 0;
- right: 0;
+ top: 4px;
+ right: 4px;
min-width: 25em;
white-space: nowrap;
font-size: 11px;
@@ -926,10 +921,10 @@ td span.branch div.l3
#messageframe
{
position: absolute;
- top: 0px;
+ top: 0;
left: 180px;
- right: 0px;
- bottom: 20px;
+ right: 0;
+ bottom: 0;
border: 1px solid #999;
background-color: #FFF;
overflow: auto;
@@ -1155,13 +1150,6 @@ div.message-htmlpart div.rcmBody
white-space: nowrap;
}
-#priority-selector,
-#receipt-selector
-{
- padding-left: 30px;
- white-space: nowrap;
-}
-
#compose-container
{
position: absolute;
@@ -1178,11 +1166,6 @@ div.message-htmlpart div.rcmBody
padding-top: 3px;
}
-#editor-select
-{
- float: left;
-}
-
#compose-div
{
position: absolute;
@@ -1207,7 +1190,7 @@ div.message-htmlpart div.rcmBody
#compose-subject td.title
{
width: 80px !important;
- color: #666666;
+ color: #666;
font-size: 11px;
font-weight: bold;
padding-right: 10px;
@@ -1302,6 +1285,26 @@ div.message-htmlpart div.rcmBody
margin-top: 4px;
}
+#editor-select
+{
+ float: left;
+ white-space: nowrap;
+ width: auto;
+}
+
+#editor-select label
+{
+ color: #666;
+ font-size: 11px;
+ font-weight: bold;
+ padding-left: 20px;
+}
+
+#editor-select input
+{
+ width: auto !important;
+}
+
td.show-headers
{
background: url(images/icons/down_small.gif) no-repeat center;
diff --git a/skins/default/settings.css b/skins/default/settings.css
index 46a02d81f..36567fa9f 100644
--- a/skins/default/settings.css
+++ b/skins/default/settings.css
@@ -197,7 +197,7 @@ input.disabled
width: 600px;
height: 120px;
left: 20px;
- bottom: 20px;
+ bottom: 25px;
}
div.settingsbox
diff --git a/skins/default/templates/addressbook.html b/skins/default/templates/addressbook.html
index 974622210..aa3f288e7 100644
--- a/skins/default/templates/addressbook.html
+++ b/skins/default/templates/addressbook.html
@@ -56,7 +56,19 @@
<div id="addressscreen">
<div id="addresslist">
-<roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" summary="Contacts list" />
+<div class="boxtitle"><roundcube:label name="contacts" /></div>
+<div class="boxlistcontent">
+<roundcube:object name="addresslist" id="contacts-table" class="records-table" cellspacing="0" summary="Contacts list" noheader="true" />
+</div>
+<div class="boxfooter">
+<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=" " />
+ <roundcube:object name="recordsCountDisplay" style="padding:0 .5em; float:left" />
+ <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>
</div>
<script type="text/javascript">
@@ -70,13 +82,7 @@
</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=" " />
- <roundcube:object name="recordsCountDisplay" style="padding:0 .5em; float:left" />
- <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 id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
</body>
</html>
diff --git a/skins/default/templates/compose.html b/skins/default/templates/compose.html
index 614d8862b..c413988c6 100644
--- a/skins/default/templates/compose.html
+++ b/skins/default/templates/compose.html
@@ -24,12 +24,6 @@
<roundcube:button command="savedraft" type="link" class="buttonPas savedraft" classAct="button savedraft" classSel="button savedraftSel" title="savemessage" content=" " />
<roundcube:container name="toolbar" id="compose-toolbar" />
</td>
- <td id="priority-selector">
- <label for="rcmcomposepriority"><roundcube:label name="priority" />:</label>&nbsp;<roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" />
- </td>
- <td id="receipt-selector">
- <roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" />&nbsp;<label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" /></label>
- </td>
</tr></table>
</div>
@@ -70,7 +64,13 @@
</tr><tr>
<td class="title"><roundcube:label name="editortype" /></td>
<td>
- <div id="editor-select"><roundcube:object name="editorSelector" editorid="compose-body" tabindex="7" /></div>
+ <div id="editor-select">
+ <roundcube:object name="editorSelector" editorid="compose-body" tabindex="7" />
+ <label for="rcmcomposepriority"><roundcube:label name="priority" /></label>
+ <roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" />
+ <label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" /></label>
+ <roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" />
+ </div>
<div id="spellcheck-control"></div>
</td>
</tr>
diff --git a/skins/default/templates/editidentity.html b/skins/default/templates/editidentity.html
index 5b4c75386..895859ce6 100644
--- a/skins/default/templates/editidentity.html
+++ b/skins/default/templates/editidentity.html
@@ -51,5 +51,7 @@
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/error.html b/skins/default/templates/error.html
index 36862ce38..f21c684ce 100644
--- a/skins/default/templates/error.html
+++ b/skins/default/templates/error.html
@@ -12,5 +12,7 @@
$__page_content
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/identities.html b/skins/default/templates/identities.html
index 04fa9816c..aef8dceb4 100644
--- a/skins/default/templates/identities.html
+++ b/skins/default/templates/identities.html
@@ -44,5 +44,7 @@
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/importcontacts.html b/skins/default/templates/importcontacts.html
index 83ab4ab3d..08e5afe16 100644
--- a/skins/default/templates/importcontacts.html
+++ b/skins/default/templates/importcontacts.html
@@ -22,5 +22,7 @@
</div>
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/login.html b/skins/default/templates/login.html
index 8300a23bc..3e8d5ef42 100644
--- a/skins/default/templates/login.html
+++ b/skins/default/templates/login.html
@@ -7,7 +7,7 @@
</head>
<body>
-<img src="/images/roundcube_logo.png" border="0" alt="<roundcube:object name='productname' />" style="margin:0 11px" />
+<img id="logo" src="/images/roundcube_logo.png" border="0" alt="<roundcube:object name='productname' />" style="margin:0 11px" />
<roundcube:object name="message" id="message" />
diff --git a/skins/default/templates/mail.html b/skins/default/templates/mail.html
index 7a0cee129..5fcd45c70 100644
--- a/skins/default/templates/mail.html
+++ b/skins/default/templates/mail.html
@@ -46,6 +46,7 @@
<div id="mailrightcontainer">
<div id="mailrightcontent">
<div id="mailcontframe">
+<div id="messagelistcontainer" class="boxlistcontent" style="top:0">
<roundcube:object name="messages"
id="messagelist"
cellspacing="0"
@@ -63,48 +64,46 @@
unreadchildrenIcon=""
optionsmenuIcon="/images/icons/columnpicker.gif" />
</div>
-
-<roundcube:if condition="config:preview_pane == true" />
+<div class="boxfooter">
+ <div id="listcontrols" class="pagenav">
+ <span><roundcube:label name="select" />:&nbsp;</span>
+ <roundcube:button command="select-all" type="link" title="all" class="buttonPas all" classAct="button all" classSel="button allsel" content=" " />
+ <roundcube:button command="select-all" type="link" prop="page" title="currpage" class="buttonPas page" classAct="button page" classSel="button pagesel" content=" " />
+ <roundcube:button command="select-all" type="link" prop="unread" title="unread" class="buttonPas unread" classAct="button unread" classSel="button unreadsel" content=" " />
+ <roundcube:button command="select-all" type="link" prop="invert" title="invert" class="buttonPas invert" classAct="button invert" classSel="button invertsel" content=" " />
+ <roundcube:button command="select-none" type="link" title="none" class="buttonPas none" classAct="button none" classSel="button nonesel" content=" " />
+ <roundcube:container name="listcontrols" id="listcontrols" />
+ <roundcube:if condition="env:threads" />
+ <span style="margin-left: 10px"><roundcube:label name="threads" />:&nbsp;</span>
+ <roundcube:button command="expand-all" type="link" title="expand-all" class="buttonPas expand-all" classAct="button expand-all" classSel="button expand-allsel" content=" " />
+ <roundcube:button command="expand-unread" type="link" title="expand-unread" class="buttonPas expand-unread" classAct="button expand-unread" classSel="button expand-unreadsel" content=" " />
+ <roundcube:button command="collapse-all" type="link" title="collapse-all" class="buttonPas collapse-all" classAct="button collapse-all" classSel="button collapse-allsel" content=" " />
+ <roundcube:endif />
+ <span style="margin-left: 10px"><roundcube:label name="preview" />:&nbsp;</span>
+ <input type="checkbox" onclick="rcmail_ui.switch_preview_pane(this)"<roundcube:if condition="config:preview_pane == true" /> checked="checked"<roundcube:endif /> />
+ </div>
+ <div id="countcontrols" class="pagenav">
+ <roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastmessages" content=" " />
+ <roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextmessages" content=" " />
+ <roundcube:object name="messageCountDisplay" style="padding:0 .5em; float:right" />
+ <roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previousmessages" content=" " />
+ <roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstmessages" content=" " />
+ </div>
+</div>
+</div>
<script type="text/javascript">
var mailviewsplit = new rcube_splitter({id:'mailviewsplitter', p1: 'mailcontframe', p2: 'mailpreviewframe', orientation: 'h', relative: true, start: 205});
+<roundcube:if condition="config:preview_pane == true" />
rcmail.add_onload('mailviewsplit.init()');
+<roundcube:endif />
</script>
-<div id="mailpreviewframe">
+<div id="mailpreviewframe"<roundcube:if condition="config:preview_pane != true" /> style="display:none"<roundcube:endif />>
<roundcube:object name="messagecontentframe" id="messagecontframe" width="100%" height="100%" frameborder="0" src="/watermark.html" />
</div>
-
-<roundcube:endif />
-</div>
-
-<div id="listcontrols">
- <span><roundcube:label name="select" />:&nbsp;</span>
- <roundcube:button command="select-all" type="link" title="all" class="buttonPas all" classAct="button all" classSel="button allsel" content=" " />
- <roundcube:button command="select-all" type="link" prop="page" title="currpage" class="buttonPas page" classAct="button page" classSel="button pagesel" content=" " />
- <roundcube:button command="select-all" type="link" prop="unread" title="unread" class="buttonPas unread" classAct="button unread" classSel="button unreadsel" content=" " />
- <roundcube:button command="select-all" type="link" prop="invert" title="invert" class="buttonPas invert" classAct="button invert" classSel="button invertsel" content=" " />
- <roundcube:button command="select-none" type="link" title="none" class="buttonPas none" classAct="button none" classSel="button nonesel" content=" " />
- <roundcube:container name="listcontrols" id="listcontrols" />
-<roundcube:if condition="env:threads" />
- <span style="margin-left: 20px"><roundcube:label name="threads" />:&nbsp;</span>
- <roundcube:button command="expand-all" type="link" title="expand-all" class="buttonPas expand-all" classAct="button expand-all" classSel="button expand-allsel" content=" " />
- <roundcube:button command="expand-unread" type="link" title="expand-unread" class="buttonPas expand-unread" classAct="button expand-unread" classSel="button expand-unreadsel" content=" " />
- <roundcube:button command="collapse-all" type="link" title="collapse-all" class="buttonPas collapse-all" classAct="button collapse-all" classSel="button collapse-allsel" content=" " />
-<roundcube:endif />
- <roundcube:if condition="env:quota" />
- <span style="margin-left: 20px; margin-right: 5px"><roundcube:label name="quota" />:</span>
- <roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
- <roundcube:endif />
</div>
-<div id="countcontrols" class="pagenav">
- <roundcube:button command="lastpage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastmessages" content=" " />
- <roundcube:button command="nextpage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextmessages" content=" " />
- <roundcube:object name="messageCountDisplay" style="padding:0 .5em; float:right" />
- <roundcube:button command="previouspage" type="link" class="buttonPas prevpage" classAct="button prevpage" classSel="button prevpageSel" title="previousmessages" content=" " />
- <roundcube:button command="firstpage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstmessages" content=" " />
-</div>
</div>
</div>
@@ -216,5 +215,14 @@
</div>
</div>
+<roundcube:if condition="env:quota" />
+<div id="quota">
+ <span style="margin-right: 5px"><roundcube:label name="quota" />:</span>
+ <roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
+</div>
+<roundcube:endif />
+
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/managefolders.html b/skins/default/templates/managefolders.html
index 97758880a..a61904b2f 100644
--- a/skins/default/templates/managefolders.html
+++ b/skins/default/templates/managefolders.html
@@ -36,5 +36,7 @@
</form>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/message.html b/skins/default/templates/message.html
index 0bafc3e08..c154dc434 100644
--- a/skins/default/templates/message.html
+++ b/skins/default/templates/message.html
@@ -45,15 +45,14 @@
</div>
<div id="messageframe">
-<div id="messagecanvas">
+<div class="boxlistcontent" style="top:0">
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" />
<roundcube:object name="messageAttachments" id="attachment-list" />
<roundcube:object name="blockedObjects" id="remote-objects-message" />
<roundcube:object name="messageBody" id="messagebody" />
</div>
-</div>
-
+<div class="boxfooter">
<div id="countcontrols" class="pagenav">
<roundcube:button command="lastmessage" type="link" class="buttonPas lastpage" classAct="button lastpage" classSel="button lastpageSel" title="lastmessage" content=" " />
<roundcube:button command="nextmessage" type="link" class="buttonPas nextpage" classAct="button nextpage" classSel="button nextpageSel" title="nextmessage" content=" " />
@@ -62,6 +61,9 @@
<roundcube:button command="firstmessage" type="link" class="buttonPas firstpage" classAct="button firstpage" classSel="button firstpageSel" title="firstmessage" content=" " />
</div>
</div>
+</div>
+
+</div>
<script type="text/javascript">
var mailviewsplitv = new rcube_splitter({id:'mailviewsplitterv', p1: 'mailboxlist-container', p2: 'messageframe', orientation: 'v', relative: true, start: 165});
@@ -77,5 +79,7 @@
</ul>
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
</html>
diff --git a/skins/default/templates/messageerror.html b/skins/default/templates/messageerror.html
index 3712217a3..26df8ba15 100644
--- a/skins/default/templates/messageerror.html
+++ b/skins/default/templates/messageerror.html
@@ -72,6 +72,8 @@
</ul>
</div>
+<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>
+
</body>
<roundcube:endif />