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;
} 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

@ -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.css ('top', $preview_iframe.position().top - offset + 10);
}, 50);
}
};
if (attachmentArea && typeof _id != 'undefined' && _id !='' && typeof dataElem !== 'undefined')
{
@ -3633,6 +3633,10 @@ app.classes.mail = AppJS.extend(
folder:{
widget:{},
jQClass: '.mailComposeJQueryFolder'
},
replyto:{
widget:{},
jQClass: '.mailComposeJQueryReplyto'
}};
for(var widget in widgets)
@ -3660,33 +3664,31 @@ app.classes.mail = AppJS.extend(
{
var bodyH = egw_getWindowInnerHeight();
var textArea = this.et2.getWidgetById('mail_plaintext');
var toolbar = jQuery('.mailSignature');
var headerSec = jQuery('.mailComposeHeaderSection');
var content = this.et2.getArrayMgr('content').data;
if (typeof textArea != 'undefined' && textArea != null)
{
var textAreaH = textArea.node.clientHeight;
if (textArea.getParent().disabled)
{
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
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);
var bodySize = (bodyH - Math.round(headerSec.height() + headerSec.offset().top) - delta);
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')
{
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
{
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)
{
var expWidgets = {cc:{},bcc:{},folder:{}};
var expWidgets = {cc:{},bcc:{},folder:{},replyto:{}};
for (var name in expWidgets)
{
expWidgets[name] = this.et2.getWidgetById(name+'_expander');
@ -3730,11 +3732,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)
{
@ -3764,6 +3774,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;
}
}
}

View File

@ -2,7 +2,6 @@
<!-- $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">
@ -29,7 +28,7 @@
</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="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 class="email-button-group priority">
<description value="Priority"/>
@ -41,17 +40,16 @@
<grid width="100%">
<columns>
<column widtd="10%"/>
<column width="42%" />
<column width="42%"/>
<column width="84%"/>
<column width="6%"/>
</columns>
<rows>
<row class="mailComposeHeaders" >
<description value="From"/>
<hbox>
<menulist>
<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="serverID"/>
<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-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>
</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" 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/>
</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>
<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"/>
</hbox>
</vbox>
</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"/>
<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" 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/>
</row>
<row class="mailComposeHeaders">
<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"/>
</row>
<row>
@ -112,12 +111,6 @@
<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">

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{
span#mail-compose_bcc_expander,
span#mail-compose_folder_expander,
span#mail-compose_replyto_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{
.Complete_Button_normal;
float: left;
width: 47px;
width: 55px;
margin: 3px;
font-size: 8px;
margin-left: 12px;