missing commits from combined account and identity/signature selection

r49527: Fix compose resizehandler: resize based on subtraction of header height from window height and allocate it to mail body
r49524: first step for a combined account and identity/signature selector
This commit is contained in:
Ralf Becker 2014-11-24 10:08:29 +00:00
parent 91fa9f44c8
commit 11a4d39513
5 changed files with 179 additions and 240 deletions

View File

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

View File

@ -771,7 +771,7 @@ app.classes.mail = AppJS.extend(
// preview iframe parent has position absolute, therefore need to calculate the top via position // preview iframe parent has position absolute, therefore need to calculate the top via position
$preview_iframe.css ('top', $preview_iframe.position().top - offset + 10); $preview_iframe.css ('top', $preview_iframe.position().top - offset + 10);
}, 50); }, 50);
} };
if (attachmentArea && typeof _id != 'undefined' && _id !='' && typeof dataElem !== 'undefined') if (attachmentArea && typeof _id != 'undefined' && _id !='' && typeof dataElem !== 'undefined')
{ {
@ -3633,6 +3633,10 @@ app.classes.mail = AppJS.extend(
folder:{ folder:{
widget:{}, widget:{},
jQClass: '.mailComposeJQueryFolder' jQClass: '.mailComposeJQueryFolder'
},
replyto:{
widget:{},
jQClass: '.mailComposeJQueryReplyto'
}}; }};
for(var widget in widgets) for(var widget in widgets)
@ -3660,33 +3664,31 @@ app.classes.mail = AppJS.extend(
{ {
var bodyH = egw_getWindowInnerHeight(); var bodyH = egw_getWindowInnerHeight();
var textArea = this.et2.getWidgetById('mail_plaintext'); var textArea = this.et2.getWidgetById('mail_plaintext');
var toolbar = jQuery('.mailSignature'); var headerSec = jQuery('.mailComposeHeaderSection');
var content = this.et2.getArrayMgr('content').data; var content = this.et2.getArrayMgr('content').data;
if (typeof textArea != 'undefined' && textArea != null) if (typeof textArea != 'undefined' && textArea != null)
{ {
var textAreaH = textArea.node.clientHeight;
if (textArea.getParent().disabled) if (textArea.getParent().disabled)
{ {
textArea = this.et2.getWidgetById('mail_htmltext'); textArea = this.et2.getWidgetById('mail_htmltext');
textAreaH = parseInt(textArea.getParent().node.clientHeight);
} }
// Tolerate values base on plain text or html, in order to calculate freespaces // Tolerate values base on plain text or html, in order to calculate freespaces
var textAreaDelta = textArea.id == "mail_htmltext"?20:40; var textAreaDelta = textArea.id == "mail_htmltext"?20:40;
var delta = content.attachments? 68: textAreaDelta; var delta = content.attachments? 68: textAreaDelta;
var freeSpace = (bodyH - Math.round(toolbar.height() + toolbar.offset().top) - delta); var bodySize = (bodyH - Math.round(headerSec.height() + headerSec.offset().top) - delta);
if (textArea.id != "mail_htmltext") if (textArea.id != "mail_htmltext")
{ {
textArea.set_height(textAreaH + freeSpace); textArea.set_height(bodySize);
} }
else if (typeof textArea != 'undefined' && textArea.id == 'mail_htmltext' && typeof textArea.getParent().node.children[1] != 'undefined') else if (typeof textArea != 'undefined' && textArea.id == 'mail_htmltext' && typeof textArea.getParent().node.children[1] != 'undefined')
{ {
jQuery(textArea.getParent().node.children[1].children[1].children[1]).css('height',textAreaH + (freeSpace - 90)); jQuery(textArea.getParent().node.children[1].children[1].children[1]).css('height',bodySize -90);
} }
else else
{ {
textArea.set_height(textAreaH + (freeSpace - 90)); textArea.set_height(bodySize - 90);
} }
} }
}, },
@ -3700,7 +3702,7 @@ app.classes.mail = AppJS.extend(
*/ */
compose_fieldExpander: function(event,widget) compose_fieldExpander: function(event,widget)
{ {
var expWidgets = {cc:{},bcc:{},folder:{}}; var expWidgets = {cc:{},bcc:{},folder:{},replyto:{}};
for (var name in expWidgets) for (var name in expWidgets)
{ {
expWidgets[name] = this.et2.getWidgetById(name+'_expander'); expWidgets[name] = this.et2.getWidgetById(name+'_expander');
@ -3730,11 +3732,19 @@ app.classes.mail = AppJS.extend(
{ {
expWidgets.folder.set_disabled(true); 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") else if (typeof widget == "undefined")
{ {
var widgets = {cc:{},bcc:{},folder:{}}; var widgets = {cc:{},bcc:{},folder:{},replyto:{}};
for(var widget in widgets) for(var widget in widgets)
{ {
@ -3764,6 +3774,14 @@ app.classes.mail = AppJS.extend(
{ {
expWidgets.folder.set_disabled(true); expWidgets.folder.set_disabled(true);
} }
break;
case 'replyto':
jQuery(".mailComposeJQueryReplyto").show();
if (typeof expWidgets.replyto != 'undefiend')
{
expWidgets.replyto.set_disabled(true);
}
break;
} }
} }
} }

View File

@ -2,7 +2,6 @@
<!-- $Id$ --> <!-- $Id$ -->
<overlay> <overlay>
<template id="mail.compose" template="" lang="" group="0" version="1.9.001"> <template id="mail.compose" template="" lang="" group="0" version="1.9.001">
<vbox class="mailCompose mailComposeHeaderSection" width="100%"> <vbox class="mailCompose mailComposeHeaderSection" width="100%">
<hbox class="ui-widget-header ui-corner-all mail-compose_toolbar" width="100%"> <hbox class="ui-widget-header ui-corner-all mail-compose_toolbar" width="100%">
<description class="email-button-group sent"> <description class="email-button-group sent">
@ -29,7 +28,7 @@
</description> </description>
<description class="email-button-group notification"> <description class="email-button-group notification">
<description value="Recieve 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="on,off"/> <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>
<description class="email-button-group priority"> <description class="email-button-group priority">
<description value="Priority"/> <description value="Priority"/>
@ -41,17 +40,16 @@
<grid width="100%"> <grid width="100%">
<columns> <columns>
<column widtd="10%"/> <column widtd="10%"/>
<column width="42%" /> <column width="84%"/>
<column width="42%"/>
<column width="6%"/> <column width="6%"/>
</columns> </columns>
<rows> <rows>
<row class="mailComposeHeaders" > <row class="mailComposeHeaders" >
<description value="From"/> <description value="From"/>
<hbox>
<menulist>
<menupopup id="mailaccount" onchange="app.mail.submitOnChange"/> <menupopup id="mailaccount" onchange="app.mail.submitOnChange"/>
</menulist> <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="composeID"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="serverID"/> <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="processedmail_id"/>
@ -62,38 +60,39 @@
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="thread-topic"/> <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="thread-index"/>
<textbox class="mail-index_quotaDisplayNone" readonly="true" id="list-id"/> <textbox class="mail-index_quotaDisplayNone" readonly="true" id="list-id"/>
</hbox> </vbox>
<taglist-email id="replyto" empty_label="Reply to" width="100%" maxSelection="1" onclick="app.mail.address_click"/> </row>
<hbox> <row class="mailComposeHeaders mailComposeJQueryReplyto">
<description id="folder_expander" value="Folder" onclick="app.mail.compose_fieldExpander"/> <description value="Reply to"/>
</hbox> <taglist-email id="replyto" width="100%" maxSelection="1" onclick="app.mail.address_click"/>
<description/>
</row> </row>
<row class="mailComposeHeaders mailComposeJQueryFolder"> <row class="mailComposeHeaders mailComposeJQueryFolder">
<description value="Folder"/> <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"/> <taglist id="folder" autocomplete_url="mail.mail_compose.ajax_searchFolder" autocomplete_params="" allowFreeEntries="false" onclick="app.mail.address_click"/>
<description/> <description/>
</row> </row>
<row class="mailComposeHeaders" > <row class="mailComposeHeaders" >
<description value="To"/> <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"/> <taglist-email id="to" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<hbox> <vbox>
<description id="cc_expander" value="Cc" onclick="app.mail.compose_fieldExpander"/> <description id="cc_expander" value="Cc" onclick="app.mail.compose_fieldExpander"/>
<description id="bcc_expander" value="Bcc" onclick="app.mail.compose_fieldExpander"/> <description id="bcc_expander" value="Bcc" onclick="app.mail.compose_fieldExpander"/>
</hbox> </vbox>
</row> </row>
<row class="mailComposeHeaders mailComposeJQueryCc"> <row class="mailComposeHeaders mailComposeJQueryCc">
<description value="Cc"/> <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"/> <taglist-email id="cc" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<description/> <description/>
</row> </row>
<row class="mailComposeHeaders mailComposeJQueryBcc"> <row class="mailComposeHeaders mailComposeJQueryBcc">
<description value="Bcc"/> <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"/> <taglist-email id="bcc" width="100%" onclick="app.mail.address_click" include_lists="true" onchange="app.mail.set_dragging_dndCompose"/>
<description/> <description/>
</row> </row>
<row class="mailComposeHeaders"> <row class="mailComposeHeaders">
<description value="Subject"/> <description value="Subject"/>
<textbox align="left" width="100%" id="subject" span="2" height="25"/> <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"/> <checkbox statustext="Change editor type" label="HTML" id="mimeType" onchange="app.mail.submitOnChange" options=",, ,disable" tabindex="7"/>
</row> </row>
<row> <row>
@ -112,12 +111,6 @@
<hbox disabled="@is_html" class="mailComposeBody"> <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"/> <textbox multiline="true" rows="40" cols="120" width="100%" span="all" no_lang="1" name="mail_plaintext" id="mail_plaintext"/>
</hbox> </hbox>
<groupbox class="mailSignature">
<menulist>
<menupopup id="signatureid" onchange="app.mail.submitOnChange"/>
</menulist>
<description value=" "/>
</groupbox>
<groupbox class="et2_file mailUploadSection" disabled="@no_griddata"> <groupbox class="et2_file mailUploadSection" disabled="@no_griddata">
<caption label="Files"/> <caption label="Files"/>
<grid id="attachments" width="100%" maxheight="165" class="egwGridView_grid"> <grid id="attachments" width="100%" maxheight="165" class="egwGridView_grid">

View File

@ -1308,7 +1308,6 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
/*Von*/ /*Von*/
/*An*/ /*An*/
/*Kopie*/ /*Kopie*/
/*Blindkopie*/
/*Betreff*/ /*Betreff*/
/*HTML Box*/ /*HTML Box*/
} }
@ -1348,7 +1347,13 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
height: 30px; height: 30px;
} }
#mail-compose .mailComposeHeaders span#mail-compose_cc_expander, #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;*/ /*.border_normal;*/
/*.box_shadow_standard_light;*/ /*.box_shadow_standard_light;*/
/*.rounded (3px);*/ /*.rounded (3px);*/
@ -1368,81 +1373,19 @@ div#mail-index div#mail-index_mailPreview div#mail-index_mailPreviewHeadersSubje
transition-timing-function: linear; transition-timing-function: linear;
background-color: #b4b4b4; background-color: #b4b4b4;
float: left; float: left;
width: 47px; width: 55px;
margin: 3px; margin: 3px;
font-size: 8px; font-size: 8px;
margin-left: 12px; margin-left: 12px;
} }
#mail-compose .mailComposeHeaders span#mail-compose_cc_expander:hover, #mail-compose .mailComposeHeaders span#mail-compose_cc_expander:hover,
#mail-compose .mailComposeHeadersSection 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 .mailComposeHeaders span#mail-compose_bcc_expander:hover, #mail-compose .mailComposeHeaders span#mail-compose_bcc_expander:hover,
#mail-compose .mailComposeHeadersSection 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 .mailComposeHeaders span#mail-compose_folder_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); -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
-moz-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); box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);

View File

@ -589,29 +589,14 @@ div#mail-index{
/*An*/ /*An*/
/*Kopie*/ /*Kopie*/
span#mail-compose_cc_expander{ 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;}
}
/*Blindkopie*/ /*Blindkopie*/
span#mail-compose_bcc_expander{ span#mail-compose_bcc_expander,
span#mail-compose_folder_expander,
span#mail-compose_replyto_expander{
.Complete_Button_normal; .Complete_Button_normal;
float: left; float: left;
width: 47px; width: 55px;
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{
.Complete_Button_normal;
float: left;
width: 47px;
margin: 3px; margin: 3px;
font-size: 8px; font-size: 8px;
margin-left: 12px; margin-left: 12px;