summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2007-09-26 08:13:21 +0000
committerthomascube <thomas@roundcube.net>2007-09-26 08:13:21 +0000
commit7984ece2935cf7e2dc5185ad92f6991ee947a92a (patch)
tree15379e18080a631cd944fb2e4321d4ac68a7848e
parentc7b7269543d52f1cede5a910961e21a710c6242b (diff)
Improve message compose screen
-rw-r--r--CHANGELOG8
-rw-r--r--program/localization/de_CH/labels.inc4
-rw-r--r--program/localization/en_US/labels.inc4
-rw-r--r--program/steps/mail/sendmail.inc4
-rw-r--r--skins/default/mail.css38
-rw-r--r--skins/default/templates/compose.html85
6 files changed, 88 insertions, 55 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 4da2b0575..f797b1740 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,9 +1,16 @@
CHANGELOG RoundCube Webmail
---------------------------
+2007/09/26 (thomasb)
+----------
+- Improve message compose screen (closes #1484383)
+
+
2007/09/26 (tomekp)
+----------
- Update polish localization (#1484579)
+
2007/09/25 (robin)
----------
- Enable drag-/dropping of folders to a new parent folder (#1457344)
@@ -21,6 +28,7 @@ CHANGELOG RoundCube Webmail
2007/09/19 (thomasb)
----------
+- IPv6 Compatability (#1484322), Patch #1484373
- Unlock interface when message sending fails (#1484570)
- Eval PHP code in template includes (if configured)
- Show message when folder is empty. Mo more static text in table (#1484395)
diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc
index d5e088eda..f30097846 100644
--- a/program/localization/de_CH/labels.inc
+++ b/program/localization/de_CH/labels.inc
@@ -157,6 +157,10 @@ $labels['showimages'] = 'Bilder anzeigen';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'Klartext';
+$labels['addcc'] = 'Cc hinzufügen';
+$labels['addbcc'] = 'Bcc hinzufügen';
+$labels['addreplyto'] = 'Antwortadresse hinzufügen';
+
// address book // Adressbuch
$labels['name'] = 'Anzeigename';
diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc
index c4b71416c..4c5e80a97 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -156,6 +156,10 @@ $labels['showimages'] = 'Display images';
$labels['htmltoggle'] = 'HTML';
$labels['plaintoggle'] = 'Plain text';
+$labels['addcc'] = 'Add Cc';
+$labels['addbcc'] = 'Add Bcc';
+$labels['addreplyto'] = 'Add Reply-To';
+
// address boook
$labels['name'] = 'Display name';
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 7a87d2e91..f1fd090d9 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -186,7 +186,9 @@ $headers['Subject'] = trim(get_input_value('_subject', RCUBE_INPUT_POST, FALSE,
if (!empty($identity_arr['organization']))
$headers['Organization'] = $identity_arr['organization'];
-if (!empty($identity_arr['reply-to']))
+if (!empty($_POST['_replyto']))
+ $headers['Reply-To'] = preg_replace($mailto_regexp, $mailto_replace, get_input_value('_replyto', RCUBE_INPUT_POST, TRUE, $message_charset));
+else if (!empty($identity_arr['reply-to']))
$headers['Reply-To'] = $identity_arr['reply-to'];
if (!empty($_SESSION['compose']['reply_msgid']))
diff --git a/skins/default/mail.css b/skins/default/mail.css
index 584994895..b55f29498 100644
--- a/skins/default/mail.css
+++ b/skins/default/mail.css
@@ -56,7 +56,9 @@
#listcontrols a:visited,
#mailboxcontrols a,
#mailboxcontrols a:active,
-#mailboxcontrols a:visited
+#mailboxcontrols a:visited,
+td.formlinks a,
+td.formlinks a:visited
{
color: #999999;
font-size: 11px;
@@ -68,7 +70,9 @@
#listcontrols a.active:visited,
#mailboxcontrols a.active,
#mailboxcontrols a.active:active,
-#mailboxcontrols a.active:visited
+#mailboxcontrols a.active:visited,
+td.formlinks a,
+td.formlinks a:visited
{
color: #CC0000;
}
@@ -700,18 +704,10 @@ div.message-part blockquote blockquote blockquote
/** message compose styles */
-#priority-selector
-{
- position: absolute;
- left: 280px;
- top: 10px;
-}
-
+#priority-selector,
#receipt-selector
{
- position: absolute;
- left: 450px;
- top: 10px;
+ padding-left: 30px;
}
#compose-container
@@ -776,24 +772,10 @@ div.message-part blockquote blockquote blockquote
white-space: nowrap;
}
-#compose-headers td.add-button
-{
- width: 40px !important;
- text-align: right;
- vertical-align: bottom;
-}
-
-#compose-headers td.add-button a
-{
- color: #666666;
- font-size: 11px;
- text-decoration: none;
-}
-
#compose-headers td textarea
{
width: 100%;
- height: 40px;
+ height: 38px;
}
#compose-headers td input
@@ -812,7 +794,7 @@ div.message-part blockquote blockquote blockquote
{
margin-top: 5px;
margin-bottom: 10px;
- width: 99%;
+ width: 100%;
height: 90%;
min-height: 280px;
font-size: 9pt;
diff --git a/skins/default/templates/compose.html b/skins/default/templates/compose.html
index 4378c1766..f45c63bcb 100644
--- a/skins/default/templates/compose.html
+++ b/skins/default/templates/compose.html
@@ -8,17 +8,40 @@
<script type="text/javascript">
<!--
-function rcmail_toggle_display(id)
- {
- var row, disp;
+function rcmail_show_header_form(id, link)
+{
+ var row, ns, ps;
if (row = document.getElementById(id))
- {
- disp = (!row.style.display || row.style.display=='none') ? ((document.all && !window.opera) ? 'block' : 'table-row') : 'none';
- row.style.display = disp;
- }
+ row.style.display = (document.all && !window.opera) ? 'block' : 'table-row';
+
+ if (link)
+ {
+ if ((ns = rcmail_next_sibling(link)))
+ link.parentNode.removeChild(ns);
+ else if ((ps = rcmail_prev_sibling(link)))
+ link.parentNode.removeChild(ps);
- return false;
+ link.parentNode.removeChild(link);
}
+
+ return false;
+}
+
+function rcmail_next_sibling(elm)
+{
+ var ns = elm.nextSibling;
+ while (ns && ns.nodeType == 3)
+ ns = ns.nextSibling;
+ return ns;
+}
+
+function rcmail_prev_sibling(elm)
+{
+ var ps = elm.previousSibling;
+ while (ps && ps.nodeType == 3)
+ ps = ps.previousSibling;
+ return ps;
+}
//-->
</script>
@@ -31,20 +54,21 @@ function rcmail_toggle_display(id)
<form name="form" action="./" method="post">
<div id="messagetoolbar">
-<roundcube:button command="list" image="/images/buttons/back_act.png" imageSel="/images/buttons/back_sel.png" imageAct="/images/buttons/back_act.png" width="32" height="32" title="backtolist" />
-<roundcube:button command="send" imageSel="/images/buttons/send_sel.png" imageAct="/images/buttons/send_act.png" imagePas="/images/buttons/send_pas.png" width="32" height="32" title="sendmessage" />
-<roundcube:button command="spellcheck" imageSel="/images/buttons/spellcheck_sel.png" imageAct="/images/buttons/spellcheck_act.png" imagePas="/images/buttons/spellcheck_pas.png" width="32" height="32" title="checkspelling" />
-<roundcube:button command="add-attachment" imageSel="/images/buttons/attach_sel.png" imageAct="/images/buttons/attach_act.png" imagePas="/images/buttons/attach_pas.png" width="32" height="32" title="addattachment" />
-<roundcube:button command="savedraft" imageSel="/images/buttons/drafts_sel.png" imageAct="/images/buttons/drafts_act.png" imagePas="/images/buttons/drafts_pas.png" width="32" height="32" title="savemessage" />
-
-<div id="priority-selector">
-<label for="rcmcomposepriority"><roundcube:label name="priority" />:</label>&nbsp;<roundcube:object name="prioritySelector" form="form" id="rcmcomposepriority" />
-</div>
-
-<div id="receipt-selector">
-<roundcube:object name="receiptCheckBox" form="form" id="rcmcomposereceipt" />&nbsp;<label for="rcmcomposereceipt"><roundcube:label name="returnreceipt" /></label>
-</div>
-
+<table border="0" cellspacing="0" cellpadding="0"><tr>
+<td>
+ <roundcube:button command="list" image="/images/buttons/back_act.png" imageSel="/images/buttons/back_sel.png" imageAct="/images/buttons/back_act.png" width="32" height="32" title="backtolist" />
+ <roundcube:button command="send" imageSel="/images/buttons/send_sel.png" imageAct="/images/buttons/send_act.png" imagePas="/images/buttons/send_pas.png" width="32" height="32" title="sendmessage" />
+ <roundcube:button command="spellcheck" imageSel="/images/buttons/spellcheck_sel.png" imageAct="/images/buttons/spellcheck_act.png" imagePas="/images/buttons/spellcheck_pas.png" width="32" height="32" title="checkspelling" />
+ <roundcube:button command="add-attachment" imageSel="/images/buttons/attach_sel.png" imageAct="/images/buttons/attach_act.png" imagePas="/images/buttons/attach_pas.png" width="32" height="32" title="addattachment" />
+ <roundcube:button command="savedraft" imageSel="/images/buttons/drafts_sel.png" imageAct="/images/buttons/drafts_act.png" imagePas="/images/buttons/drafts_pas.png" width="32" height="32" title="savemessage" />
+</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>
<div id="compose-container">
@@ -63,8 +87,6 @@ function rcmail_toggle_display(id)
<td class="title top"><label for="rcmcomposeto"><roundcube:label name="to" /></label></td>
<td><roundcube:object name="composeHeaders" part="to" form="form" id="rcmcomposeto" cols="80" rows="2" tabindex="2" /></td>
-<td class="add-button"><a href="#" onclick="return rcmail_toggle_display('compose-cc')">[Cc]</a><br />
-<a href="#" onclick="return rcmail_toggle_display('compose-bcc')">[Bcc]</a><br /></td>
</tr><tr id="compose-cc">
@@ -82,6 +104,17 @@ function rcmail_toggle_display(id)
<td><roundcube:object name="composeHeaders" part="replyto" form="form" id="rcmcomposereplyto" size="80" tabindex="5" /></td>
</tr><tr>
+
+<td></td>
+<td class="formlinks">
+ <a href="#cc" onclick="return rcmail_show_header_form('compose-cc', this);" id="addcclink"><roundcube:label name="addcc" /></a>
+ <span class="separator">|</span>
+ <a href="#bcc" onclick="return rcmail_show_header_form('compose-bcc', this);" id="addbcclink"><roundcube:label name="addbcc" /></a>
+ <span class="separator">|</span>
+ <a href="#reply-to" onclick="return rcmail_show_header_form('compose-replyto', this);" id="addreplytolink"><roundcube:label name="addreplyto" /></a>
+</td>
+
+</tr><tr>
<td class="title"><label for="compose-subject"><roundcube:label name="subject" /></label></td>
<td><roundcube:object name="composeSubject" id="compose-subject" form="form" tabindex="6" /></td>
@@ -133,10 +166,10 @@ function rcmail_toggle_display(id)
var cc_field = document.form._cc;
if (cc_field && cc_field.value!='')
- rcmail_toggle_display('compose-cc');
+ rcmail_show_header_form('compose-cc', document.getElementById('addcclink'));
var bcc_field = document.form._bcc;
if (bcc_field && bcc_field.value!='')
- rcmail_toggle_display('compose-bcc');
+ rcmail_show_header_form('compose-bcc', document.getElementById('addbcclink'));
//-->
</script>