first step for a combined account and identity/signature selector

This commit is contained in:
Ralf Becker 2014-11-20 15:05:25 +00:00
parent 827caf674f
commit d3ff144685
5 changed files with 174 additions and 233 deletions

View File

@ -533,7 +533,7 @@ class mail_hooks
$profileID = $GLOBALS['egw_info']['user']['preferences']['mail']['ActiveProfileID'] = $mail_bo->profileID;
} catch (Exception $e) {
//error_log(__METHOD__."()" . $e->getMessage());
$profileID = emailadmin_bo::getUserDefaultAccID();
$profileID = emailadmin_account::get_default_acc_id();
}
$preferences =& $mail_bo->mailPreferences;

View File

@ -65,7 +65,7 @@ app.classes.mail = AppJS.extend(
*/
init: function() {
this._super.apply(this,arguments);
if (!this.egw.is_popup())
if (!this.egw.is_popup())
// Turn on client side, persistent cache
// egw.data system runs encapsulated below etemplate, so this must be
// done before the nextmatch is created.
@ -166,7 +166,7 @@ app.classes.mail = AppJS.extend(
case 'mail.display':
this.mail_isMainWindow = false;
this.mail_display();
// Register attachments for drag
this.register_for_drag(
this.et2.getArrayMgr("content").getEntry('mail_id'),
@ -749,9 +749,9 @@ app.classes.mail = AppJS.extend(
var _id = this.mail_fetchCurrentlyFocussed(selected);
dataElem = jQuery.extend(dataElem, egw.dataGetUIDdata(_id));
}
var $preview_iframe = jQuery('#mail-index_mailPreviewContainer');
// Re calculate the position of preview iframe according to its visible sibilings
var set_prev_iframe_top = function ()
{
@ -765,12 +765,12 @@ app.classes.mail = AppJS.extend(
lastEl = lastEl.prev();
}
var offset = iframeTop - (lastEl.offset().top + lastEl.height()) || 130; // fallback to 130 px if can not calculate new top
// preview iframe parent has position absolute, therefore need to calculate the top via position
$preview_iframe.css ('top', $preview_iframe.position().top - offset + 10);
}, 50);
}
};
if (attachmentArea && typeof _id != 'undefined' && _id !='' && typeof dataElem !== 'undefined')
{
// If there is content to show recalculate the size
@ -1484,7 +1484,7 @@ app.classes.mail = AppJS.extend(
// Tell server
egw.json('mail.mail_ui.ajax_deleteMessages',[_msg,(typeof _action == 'undefined'?'no':_action)])
.sendRequest(true);
if (_msg['all']) this.egw.refresh(this.egw.lang("deleted %1 messages in %2",(_msg['all']?egw.lang('all'):_msg['msg'].length),(displayname?displayname:egw.lang('current folder'))),'mail');//,ids,'delete');
this.egw.message(this.egw.lang("deleted %1 messages in %2",(_msg['all']?egw.lang('all'):_msg['msg'].length),(displayname?displayname:egw.lang('current Folder'))));
},
@ -3632,6 +3632,10 @@ app.classes.mail = AppJS.extend(
folder:{
widget:{},
jQClass: '.mailComposeJQueryFolder'
},
replyto:{
widget:{},
jQClass: '.mailComposeJQueryReplyto'
}};
for(var widget in widgets)
@ -3672,7 +3676,7 @@ app.classes.mail = AppJS.extend(
// Tolerate values base on plain text or html, in order to calculate freespaces
var textAreaDelta = textArea.id == "mail_htmltext"?20:40;
var delta = content.attachments? 68: textAreaDelta;
var freeSpace = (bodyH - Math.round(toolbar.height() + toolbar.offset().top) - delta);
if (textArea.id != "mail_htmltext")
@ -3699,7 +3703,7 @@ app.classes.mail = AppJS.extend(
*/
compose_fieldExpander: function(event,widget)
{
var expWidgets = {cc:{},bcc:{},folder:{}};
var expWidgets = {cc:{},bcc:{},folder:{},replyto:{}};
for (var name in expWidgets)
{
expWidgets[name] = this.et2.getWidgetById(name+'_expander');
@ -3729,11 +3733,19 @@ app.classes.mail = AppJS.extend(
{
expWidgets.folder.set_disabled(true);
}
break;
case 'replyto_expander':
jQuery(".mailComposeJQueryReplyto").show();
if (typeof expWidgets.replyto !='undefined')
{
expWidgets.replyto.set_disabled(true);
}
break;
}
}
else if (typeof widget == "undefined")
{
var widgets = {cc:{},bcc:{},folder:{}};
var widgets = {cc:{},bcc:{},folder:{},replyto:{}};
for(var widget in widgets)
{
@ -3763,6 +3775,14 @@ app.classes.mail = AppJS.extend(
{
expWidgets.folder.set_disabled(true);
}
break;
case 'replyto':
jQuery(".mailComposeJQueryReplyto").show();
if (typeof expWidgets.replyto != 'undefiend')
{
expWidgets.replyto.set_disabled(true);
}
break;
}
}
}
@ -3986,11 +4006,11 @@ app.classes.mail = AppJS.extend(
}
}).draggable('disable');
window.setTimeout(function(){
if(dragItem && dragItem.data() && typeof dragItem.data()['uiDraggable'] !== 'undefined') dragItem.draggable('enable');
},100);
}
},
/**

View File

@ -2,141 +2,134 @@
<!-- $Id$ -->
<overlay>
<template id="mail.compose" template="" lang="" group="0" version="1.9.001">
<vbox class="mailCompose mailComposeHeaderSection" width="100%">
<hbox class="ui-widget-header ui-corner-all mail-compose_toolbar" width="100%">
<description class="email-button-group sent">
<button class="et2_button ui-button mail-compose_button" label="Send" id="button[send]"/>
</description>
<description class="email-button-group save">
<buttononly class="et2_button ui-button" label="Save as Draft" value="saveAsDraft" id="button[saveAsDraft]" image="fileexport" onclick="app.mail.saveAsDraft"/>
<buttononly class="et2_button ui-button" label="Save as Draft and Print" value="saveAsDraftAndPrint" id="button[saveAsDraftAndPrint]" image="print" onclick="app.mail.saveAsDraft"/>
</description>
<description class="email-button-group file">
<vfs-select class="$cont[vfsNotAvailable] compose_egw_icons" id="selectFromVFSForCompose" onchange="app.mail.vfsUploadForCompose" button_caption=""/>
<file class="mail-compose_fileselector" statustext="Select file to attach to message" multiple='true' progress='attachments' onFinish="app.mail.uploadForCompose" onStart="app.mail.composeUploadStart" id="uploadForCompose" drop_target ="mail-compose"/>
</description>
<description class="email-button-group egw">
<description class="$cont[noSaveAsAvailable]" value="Save:"/>
<hbox class="$cont[noInfologAvailable]">
<image class="et2_button ui-button et2_button_icon compose_egw_icons" label="Save as infolog on send" src="infolog/navbar" no_lang="1"/>
<checkbox statustext="check to save as infolog on send" id="to_infolog" options="on,off"/>
<vbox class="mailCompose mailComposeHeaderSection" width="100%">
<hbox class="ui-widget-header ui-corner-all mail-compose_toolbar" width="100%">
<description class="email-button-group sent">
<button class="et2_button ui-button mail-compose_button" label="Send" id="button[send]"/>
</description>
<description class="email-button-group save">
<buttononly class="et2_button ui-button" label="Save as Draft" value="saveAsDraft" id="button[saveAsDraft]" image="fileexport" onclick="app.mail.saveAsDraft"/>
<buttononly class="et2_button ui-button" label="Save as Draft and Print" value="saveAsDraftAndPrint" id="button[saveAsDraftAndPrint]" image="print" onclick="app.mail.saveAsDraft"/>
</description>
<description class="email-button-group file">
<vfs-select class="$cont[vfsNotAvailable] compose_egw_icons" id="selectFromVFSForCompose" onchange="app.mail.vfsUploadForCompose" button_caption=""/>
<file class="mail-compose_fileselector" statustext="Select file to attach to message" multiple='true' progress='attachments' onFinish="app.mail.uploadForCompose" onStart="app.mail.composeUploadStart" id="uploadForCompose" drop_target ="mail-compose"/>
</description>
<description class="email-button-group egw">
<description class="$cont[noSaveAsAvailable]" value="Save:"/>
<hbox class="$cont[noInfologAvailable]">
<image class="et2_button ui-button et2_button_icon compose_egw_icons" label="Save as infolog on send" src="infolog/navbar" no_lang="1"/>
<checkbox statustext="check to save as infolog on send" id="to_infolog" options="on,off"/>
</hbox>
<hbox class="$cont[noTrackerAvailable]">
<image class="et2_button ui-button et2_button_icon compose_egw_icons" label="Save as tracker on send" src="tracker/navbar" no_lang="1"/>
<checkbox statustext="check to save as trackerentry on send" id="to_tracker" options="on,off"/>
</hbox>
</description>
<description class="email-button-group notification">
<description value="Recieve notification"/>
<checkbox statustext="check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification)" id="disposition" options="$cont[disposition]"/>
</description>
<description class="email-button-group priority">
<description value="Priority"/>
<menulist>
<menupopup id="priority"/>
</menulist>
</description>
</hbox>
<grid width="100%">
<columns>
<column widtd="10%"/>
<column width="84%"/>
<column width="6%"/>
</columns>
<rows>
<row class="mailComposeHeaders" >
<description value="From"/>
<menupopup id="mailaccount" onchange="app.mail.submitOnChange"/>
<vbox>
<description id="replyto_expander" value="Reply to" onclick="app.mail.compose_fieldExpander"/>
<description id="folder_expander" value="Folder" onclick="app.mail.compose_fieldExpander"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="composeID"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="serverID"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="processedmail_id"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="mode"/>
<textbox class="mail-index_quotaDisplayNone" id="lastDrafted"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="references"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="in-reply-to"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="thread-topic"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="thread-index"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="list-id"/>
</vbox>
</row>
<row class="mailComposeHeaders mailComposeJQueryReplyto">
<description value="Reply to"/>
<taglist-email id="replyto" width="100%" maxSelection="1" onclick="app.mail.address_click"/>
<description/>
</row>
<row class="mailComposeHeaders mailComposeJQueryFolder">
<description value="Folder"/>
<taglist id="folder" autocomplete_url="mail.mail_compose.ajax_searchFolder" autocomplete_params="" allowFreeEntries="false" onclick="app.mail.address_click"/>
<description/>
</row>
<row class="mailComposeHeaders" >
<description value="To"/>
<taglist-email id="to" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<vbox>
<description id="cc_expander" value="Cc" onclick="app.mail.compose_fieldExpander"/>
<description id="bcc_expander" value="Bcc" onclick="app.mail.compose_fieldExpander"/>
</vbox>
</row>
<row class="mailComposeHeaders mailComposeJQueryCc">
<description value="Cc"/>
<taglist-email id="cc" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<description/>
</row>
<row class="mailComposeHeaders mailComposeJQueryBcc">
<description value="Bcc"/>
<taglist-email id="bcc" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<description/>
</row>
<row class="mailComposeHeaders">
<description value="Subject"/>
<textbox align="left" width="100%" id="subject" height="25"/>
<checkbox statustext="Change editor type" label="HTML" id="mimeType" onchange="app.mail.submitOnChange" options=",, ,disable" tabindex="7"/>
</row>
<row>
<description/>
<hbox class="mail_Composeicons">
<html id="mail_composeicons"/>
</hbox>
<hbox class="$cont[noTrackerAvailable]">
<image class="et2_button ui-button et2_button_icon compose_egw_icons" label="Save as tracker on send" src="tracker/navbar" no_lang="1"/>
<checkbox statustext="check to save as trackerentry on send" id="to_tracker" options="on,off"/>
</hbox>
</description>
<description class="email-button-group notification">
<description value="Recieve notification"/>
<checkbox statustext="check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification)" id="disposition" options="$cont[disposition]"/>
</description>
<description class="email-button-group priority">
<description value="Priority"/>
<menulist>
<menupopup id="priority"/>
</menulist>
</description>
</hbox>
<grid width="100%">
</row>
</rows>
</grid>
</vbox>
<vbox class="mailComposeBodySection" width="99%">
<hbox disabled="@is_plain" class="mailComposeBody">
<htmlarea span="all" name="mail_htmltext" id="mail_htmltext" expand_toolbar="true" height="478px" width="100%" />
</hbox>
<hbox disabled="@is_html" class="mailComposeBody">
<textbox multiline="true" rows="40" cols="120" width="100%" span="all" no_lang="1" name="mail_plaintext" id="mail_plaintext"/>
</hbox>
<groupbox class="et2_file mailUploadSection" disabled="@no_griddata">
<caption label="Files"/>
<grid id="attachments" width="100%" maxheight="165" class="egwGridView_grid">
<columns>
<column widtd="10%"/>
<column width="42%" />
<column width="42%"/>
<column width="6%"/>
<column disabled="!@showtempname" width="10%"/>
<column width="85%"/>
<column width="8%"/>
<column width="" />
</columns>
<rows>
<row class="mailComposeHeaders" >
<description value="From"/>
<hbox>
<menulist>
<menupopup id="mailaccount" onchange="app.mail.submitOnChange"/>
</menulist>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="composeID"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="serverID"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="processedmail_id"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="mode"/>
<textbox class="mail-index_quotaDisplayNone" id="lastDrafted"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="references"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="in-reply-to"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="thread-topic"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="thread-index"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="list-id"/>
</hbox>
<taglist-email id="replyto" empty_label="Reply to" width="100%" maxSelection="1" onclick="app.mail.address_click"/>
<hbox>
<description id="folder_expander" value="Folder" onclick="app.mail.compose_fieldExpander"/>
</hbox>
</row>
<row class="mailComposeHeaders mailComposeJQueryFolder">
<description value="Folder"/>
<taglist id="folder" empty_label="Folder" span="2" autocomplete_url='mail.mail_compose.ajax_searchFolder' autocomplete_params='' allowFreeEntries="false" onclick="app.mail.address_click"/>
<description/>
</row>
<row class="mailComposeHeaders" >
<description value="To"/>
<taglist-email id="to" width="100%" onclick="app.mail.address_click" include_lists="true" span="2" onchange="app.mail.set_dragging_dndCompose"/>
<hbox>
<description id="cc_expander" value="Cc" onclick="app.mail.compose_fieldExpander"/>
<description id="bcc_expander" value="Bcc" onclick="app.mail.compose_fieldExpander"/>
</hbox>
</row>
<row class="mailComposeHeaders mailComposeJQueryCc">
<description value="Cc"/>
<taglist-email id="cc" width="100%" onclick="app.mail.address_click" include_lists="true" span="2" onchange="app.mail.set_dragging_dndCompose"/>
<description/>
</row>
<row class="mailComposeHeaders mailComposeJQueryBcc">
<description value="Bcc"/>
<taglist-email id="bcc" width="100%" onclick="app.mail.address_click" include_lists="true" span="2" onchange="app.mail.set_dragging_dndCompose"/>
<description/>
</row>
<row class="mailComposeHeaders">
<description value="Subject"/>
<textbox align="left" width="100%" id="subject" span="2" height="25"/>
<checkbox statustext="Change editor type" label="HTML" id="mimeType" onchange="app.mail.submitOnChange" options=",, ,disable" tabindex="7"/>
</row>
<row>
<description/>
<hbox class="mail_Composeicons">
<html id="mail_composeicons"/>
</hbox>
<row class="row attachmentRow">
<description id="${row}[tmp_name]"/>
<description class="useEllipsis et2_link" id="${row}[name]" no_lang="1" onclick="app.mail.displayUploadedFile"/>
<description align="right" id="${row}[size]" />
<button id="delete[$row_cont[tmp_name]]" value="Delete" image="delete"/>
</row>
</rows>
</grid>
</vbox>
<vbox class="mailComposeBodySection" width="99%">
<hbox disabled="@is_plain" class="mailComposeBody">
<htmlarea span="all" name="mail_htmltext" id="mail_htmltext" expand_toolbar="true" height="478px" width="100%" />
</hbox>
<hbox disabled="@is_html" class="mailComposeBody">
<textbox multiline="true" rows="40" cols="120" width="100%" span="all" no_lang="1" name="mail_plaintext" id="mail_plaintext"/>
</hbox>
<groupbox class="mailSignature">
<menulist>
<menupopup id="signatureid" onchange="app.mail.submitOnChange"/>
</menulist>
<description value=" "/>
</groupbox>
<groupbox class="et2_file mailUploadSection" disabled="@no_griddata">
<caption label="Files"/>
<grid id="attachments" width="100%" maxheight="165" class="egwGridView_grid">
<columns>
<column disabled="!@showtempname" width="10%"/>
<column width="85%"/>
<column width="8%"/>
<column width="" />
</columns>
<rows>
<row class="row attachmentRow">
<description id="${row}[tmp_name]"/>
<description class="useEllipsis et2_link" id="${row}[name]" no_lang="1" onclick="app.mail.displayUploadedFile"/>
<description align="right" id="${row}[size]" />
<button id="delete[$row_cont[tmp_name]]" value="Delete" image="delete"/>
</row>
</rows>
</grid>
</groupbox>
</vbox>
</groupbox>
</vbox>
</template>
</overlay>

View File

@ -1308,7 +1308,6 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
/*Von*/
/*An*/
/*Kopie*/
/*Blindkopie*/
/*Betreff*/
/*HTML Box*/
}
@ -1348,7 +1347,13 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
height: 30px;
}
#mail-compose .mailComposeHeaders span#mail-compose_cc_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_cc_expander {
#mail-compose .mailComposeHeadersSection span#mail-compose_cc_expander,
#mail-compose .mailComposeHeaders span#mail-compose_bcc_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_bcc_expander,
#mail-compose .mailComposeHeaders span#mail-compose_folder_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_folder_expander,
#mail-compose .mailComposeHeaders span#mail-compose_replyto_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_replyto_expander {
/*.border_normal;*/
/*.box_shadow_standard_light;*/
/*.rounded (3px);*/
@ -1368,81 +1373,19 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
transition-timing-function: linear;
background-color: #b4b4b4;
float: left;
width: 47px;
width: 55px;
margin: 3px;
font-size: 8px;
margin-left: 12px;
}
#mail-compose .mailComposeHeaders span#mail-compose_cc_expander:hover,
#mail-compose .mailComposeHeadersSection span#mail-compose_cc_expander:hover {
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
background-color: #189800;
color: #ffffff;
}
#mail-compose .mailComposeHeaders span#mail-compose_bcc_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_bcc_expander {
/*.border_normal;*/
/*.box_shadow_standard_light;*/
/*.rounded (3px);*/
color: #000000;
-webkit-appearance: none;
-webkit-transition-property: background-color;
-moz-transition-property: background-color;
-o-transition-property: background-color;
transition-property: background-color;
-webkit-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration: 0.5s;
transition-duration: 0.5s;
-webkit-transition-timing-function: linear;
-moz-transition-timing-function: linear;
-o-transition-timing-function: linear;
transition-timing-function: linear;
background-color: #b4b4b4;
float: left;
width: 47px;
margin: 3px;
font-size: 8px;
margin-left: 12px;
}
#mail-compose .mailComposeHeadersSection span#mail-compose_cc_expander:hover,
#mail-compose .mailComposeHeaders span#mail-compose_bcc_expander:hover,
#mail-compose .mailComposeHeadersSection span#mail-compose_bcc_expander:hover {
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
background-color: #189800;
color: #ffffff;
}
#mail-compose .mailComposeHeaders span#mail-compose_folder_expander,
#mail-compose .mailComposeHeadersSection span#mail-compose_folder_expander {
/*.border_normal;*/
/*.box_shadow_standard_light;*/
/*.rounded (3px);*/
color: #000000;
-webkit-appearance: none;
-webkit-transition-property: background-color;
-moz-transition-property: background-color;
-o-transition-property: background-color;
transition-property: background-color;
-webkit-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration: 0.5s;
transition-duration: 0.5s;
-webkit-transition-timing-function: linear;
-moz-transition-timing-function: linear;
-o-transition-timing-function: linear;
transition-timing-function: linear;
background-color: #b4b4b4;
float: left;
width: 47px;
margin: 3px;
font-size: 8px;
margin-left: 12px;
}
#mail-compose .mailComposeHeadersSection span#mail-compose_bcc_expander:hover,
#mail-compose .mailComposeHeaders span#mail-compose_folder_expander:hover,
#mail-compose .mailComposeHeadersSection span#mail-compose_folder_expander:hover {
#mail-compose .mailComposeHeadersSection span#mail-compose_folder_expander:hover,
#mail-compose .mailComposeHeaders span#mail-compose_replyto_expander:hover,
#mail-compose .mailComposeHeadersSection span#mail-compose_replyto_expander:hover {
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);

View File

@ -589,29 +589,14 @@ div#mail-index{
/*An*/
/*Kopie*/
span#mail-compose_cc_expander{
.Complete_Button_normal;
float: left;
width: 47px;
margin: 3px;
font-size: 8px;
margin-left: 12px;
&:hover {.box_shadow_standard_light_hover; background-color:@color_positive_action; color: @gray_0;}
}
span#mail-compose_cc_expander,
/*Blindkopie*/
span#mail-compose_bcc_expander{
.Complete_Button_normal;
float: left;
width: 47px;
margin: 3px;
font-size: 8px;
margin-left: 12px;
&:hover {.box_shadow_standard_light_hover; background-color:@color_positive_action;color: @gray_0;}
}
span#mail-compose_folder_expander{
span#mail-compose_bcc_expander,
span#mail-compose_folder_expander,
span#mail-compose_replyto_expander{
.Complete_Button_normal;
float: left;
width: 47px;
width: 55px;
margin: 3px;
font-size: 8px;
margin-left: 12px;