refresh quotaDisplay on folder change, and timed; prevent subject and filename from being translated

This commit is contained in:
Klaus Leithoff 2013-10-18 09:58:25 +00:00
parent 4dbda94f6a
commit 95350da447
5 changed files with 164 additions and 54 deletions

View File

@ -2503,10 +2503,10 @@ class mail_compose
common::egw_exit(); common::egw_exit();
} }
public static function ajax_searchAddress() { public static function ajax_searchAddress($_searchStringLength=2) {
//error_log(__METHOD__. "request from seachAddress " . $_REQUEST['query']); //error_log(__METHOD__. "request from seachAddress " . $_REQUEST['query']);
$_searchString = trim($_REQUEST['query']); $_searchString = trim($_REQUEST['query']);
if ($GLOBALS['egw_info']['user']['apps']['addressbook']) { if ($GLOBALS['egw_info']['user']['apps']['addressbook'] && strlen($_searchString)>=$_searchStringLength) {
//error_log(__METHOD__.__LINE__.array2string($_searchString)); //error_log(__METHOD__.__LINE__.array2string($_searchString));
if (method_exists($GLOBALS['egw']->contacts,'search')) { if (method_exists($GLOBALS['egw']->contacts,'search')) {
// 1.3+ // 1.3+

View File

@ -1422,14 +1422,14 @@ unset($query['actions']);
} }
if (count($attachments)==1) if (count($attachments)==1)
{ {
$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folder,true); $imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folder);
$imageTag = json_encode($attachments); $imageTag = json_encode($attachments);
$image = html::image('mail','attach',$attachments[0]['name'].(!empty($attachments[0]['mimeType'])?' ('.$attachments[0]['mimeType'].')':'')); $image = html::image('mail','attach',$attachments[0]['name'].(!empty($attachments[0]['mimeType'])?' ('.$attachments[0]['mimeType'].')':''));
} }
} }
if (count($attachments)>1) if (count($attachments)>1)
{ {
$imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folder,true); $imageHTMLBlock = self::createAttachmentBlock($attachments, $datarowid, $header['uid'], $_folder);
$imageTag = json_encode($attachments); $imageTag = json_encode($attachments);
$image = html::image('mail','attach',lang('%1 attachments',count($attachments))); $image = html::image('mail','attach',lang('%1 attachments',count($attachments)));
} }
@ -1880,6 +1880,14 @@ unset($query['actions']);
} }
$attachmentHTMLBlock .= "</table>"; $attachmentHTMLBlock .= "</table>";
} }
if (!$_returnFullHTML)
{
foreach ((array)$attachmentHTML as $ikey => $value)
{
unset($attachmentHTML[$ikey]['link_view']);
unset($attachmentHTML[$ikey]['link_save']);
}
}
return ($_returnFullHTML?$attachmentHTMLBlock:$attachmentHTML); return ($_returnFullHTML?$attachmentHTMLBlock:$attachmentHTML);
} }
@ -3324,12 +3332,50 @@ blockquote[type=cite] {
function ajax_changeProfile($icServerID) function ajax_changeProfile($icServerID)
{ {
if ($icServerID && $icServerID != $this->mail_bo->profileID) if ($icServerID && $icServerID != $this->mail_bo->profileID)
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID); {
$this->changeProfile($icServerID); //error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
$this->changeProfile($icServerID);
}
$response = egw_json_response::get(); $response = egw_json_response::get();
$response->call('egw_refresh',lang('changed profile'),'mail'); $response->call('egw_refresh',lang('changed profile'),'mail');
} }
/**
* ajax_refreshQuotaDisplay - its called via json, so the function must start with ajax (or the class-name must contain ajax)
*
* @return nothing
*/
function ajax_refreshQuotaDisplay($icServerID=null)
{
//error_log(__METHOD__.__LINE__.array2string($icServerID));
if (is_null($icServerID)) $icServerID = $this->mail_bo->profileID;
if ($icServerID && $icServerID != $this->mail_bo->profileID)
{
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
$this->changeProfile($icServerID);
}
if($this->mail_bo->connectionStatus !== false) {
$quota = $this->mail_bo->getQuotaRoot();
} else {
$quota['limit'] = 'NOT SET';
}
if($quota !== false && $quota['limit'] != 'NOT SET') {
$quotainfo = $this->quotaDisplay($quota['usage'], $quota['limit']);
$content['quota'] = $sel_options[self::$nm_index]['quota'] = $quotainfo['text'];
$content['quotainpercent'] = $sel_options[self::$nm_index]['quotainpercent'] = (string)$quotainfo['percent'];
$content['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = $quotainfo['class'];
$content['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "";
} else {
$content['quota'] = $sel_options[self::$nm_index]['quota'] = lang("Quota not provided by server");
$content['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = "mail_DisplayNone";
$content['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "mail_DisplayNone";
}
$response = egw_json_response::get();
$response->call('app.mail.mail_setQuotaDisplay',array('data'=>$content),'mail');
}
/** /**
* empty trash folder - its called via json, so the function must start with ajax (or the class-name must contain ajax) * empty trash folder - its called via json, so the function must start with ajax (or the class-name must contain ajax)
* *

View File

@ -100,8 +100,8 @@ app.mail = AppJS.extend(
} }
if (isDisplay) if (isDisplay)
{ {
var subject = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mail_displaysubject'); var subject = this.et2.getWidgetById('mail_displaysubject');
var body = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mail_displaybody'); var body = this.et2.getWidgetById('mail_displaybody');
body.node.parentNode.style.top=subject.node.offsetTop+40+'px'; body.node.parentNode.style.top=subject.node.offsetTop+40+'px';
var app_registry = egw.link_get_registry('mail');//this.appname); var app_registry = egw.link_get_registry('mail');//this.appname);
//console.log(app_registry); //console.log(app_registry);
@ -147,7 +147,7 @@ app.mail = AppJS.extend(
{ {
if (_reset == true) if (_reset == true)
{ {
//var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(nm_index); //var nm = this.et2.getWidgetById(nm_index);
//if (this.mail_currentlyFocussed!='') nm.refresh([this.mail_currentlyFocussed],'delete');//egw.dataDeleteUID(this.mail_currentlyFocussed); //if (this.mail_currentlyFocussed!='') nm.refresh([this.mail_currentlyFocussed],'delete');//egw.dataDeleteUID(this.mail_currentlyFocussed);
if (this.mail_currentlyFocussed!='') egw.dataDeleteUID(this.mail_currentlyFocussed); if (this.mail_currentlyFocussed!='') egw.dataDeleteUID(this.mail_currentlyFocussed);
for(var k = 0; k < this.mail_selectedMails.length; k++) egw.dataDeleteUID(this.mail_selectedMails[k]); for(var k = 0; k < this.mail_selectedMails.length; k++) egw.dataDeleteUID(this.mail_selectedMails[k]);
@ -434,18 +434,18 @@ app.mail = AppJS.extend(
* @param _value * @param _value
*/ */
mail_disablePreviewArea: function(_value) { mail_disablePreviewArea: function(_value) {
var splitter = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailSplitter'); var splitter = this.et2.getWidgetById('mailSplitter');
if (typeof splitter == 'undefined' || splitter == null) return; if (typeof splitter == 'undefined' || splitter == null) return;
var splitterDN = splitter.getDOMNode(); var splitterDN = splitter.getDOMNode();
// check if DOM Node has class that contains docked; then we assume the bar docked, whatever our class var states // check if DOM Node has class that contains docked; then we assume the bar docked, whatever our class var states
for (var i=0; i < splitterDN.childNodes[1].classList.length;i++) if (splitterDN.childNodes[1].classList[i].search(/docked/)>=0) this.mail_previewAreaActive = false; for (var i=0; i < splitterDN.childNodes[1].classList.length;i++) if (splitterDN.childNodes[1].classList[i].search(/docked/)>=0) this.mail_previewAreaActive = false;
//if this.mail_previewAreaActive but clientHeight of childNode is 0, assume this.mail_previewAreaActive incorrect //if this.mail_previewAreaActive but clientHeight of childNode is 0, assume this.mail_previewAreaActive incorrect
if ( this.mail_previewAreaActive && splitterDN.childNodes.length > 2 && splitterDN.childNodes[2].clientHeight < 15) this.mail_previewAreaActive=false; if ( this.mail_previewAreaActive && splitterDN.childNodes.length > 2 && splitterDN.childNodes[2].clientHeight < 15) this.mail_previewAreaActive=false;
//etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailPreviewHeadersFrom').set_disabled(_value); //this.et2.getWidgetById('mailPreviewHeadersFrom').set_disabled(_value);
//etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailPreviewHeadersTo').set_disabled(_value); //this.et2.getWidgetById('mailPreviewHeadersTo').set_disabled(_value);
//etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailPreviewHeadersDate').set_disabled(_value); //this.et2.getWidgetById('mailPreviewHeadersDate').set_disabled(_value);
//etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailPreviewHeadersSubject').set_disabled(_value); //this.et2.getWidgetById('mailPreviewHeadersSubject').set_disabled(_value);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('mailPreview').set_disabled(_value); this.et2.getWidgetById('mailPreview').set_disabled(_value);
if (_value==true) if (_value==true)
{ {
if (this.mail_previewAreaActive) splitter.dock(); if (this.mail_previewAreaActive) splitter.dock();
@ -474,11 +474,11 @@ app.mail = AppJS.extend(
dataElem = egw.dataGetUIDdata(_id); dataElem = egw.dataGetUIDdata(_id);
} }
//get_class does not exist yet //get_class does not exist yet
//var pAAClass = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').get_class(); //var pAAClass = this.et2.getWidgetById('previewAttachmentArea').get_class();
//console.log(pAAClass); //console.log(pAAClass);
if (etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea')) if (this.et2.getWidgetById('previewAttachmentArea'))
{ {
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea'); this.et2.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea');
} }
else else
{ {
@ -488,13 +488,13 @@ app.mail = AppJS.extend(
{ {
this.mail_fetchCurrentlyFocussed(); this.mail_fetchCurrentlyFocussed();
var subject =""; var subject ="";
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewFromAddress').set_value(""); this.et2.getWidgetById('previewFromAddress').set_value("");
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewToAddress').set_value(""); this.et2.getWidgetById('previewToAddress').set_value("");
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewDate').set_value(""); this.et2.getWidgetById('previewDate').set_value("");
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewSubject').set_value(""); this.et2.getWidgetById('previewSubject').set_value("");
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').set_value(""); //this.et2.getWidgetById('previewAttachmentArea').set_value("");
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea noContent'); this.et2.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea noContent mail_DisplayNone');
var IframeHandle = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('messageIFRAME'); var IframeHandle = this.et2.getWidgetById('messageIFRAME');
IframeHandle.set_src(egw.link('/index.php',{menuaction:'mail.mail_ui.loadEmailBody',_messageID:""})); IframeHandle.set_src(egw.link('/index.php',{menuaction:'mail.mail_ui.loadEmailBody',_messageID:""}));
this.mail_disablePreviewArea(true); this.mail_disablePreviewArea(true);
return; return;
@ -503,14 +503,22 @@ app.mail = AppJS.extend(
this.mail_selectedMails.push(_id); this.mail_selectedMails.push(_id);
var subject =dataElem.data.subject; var subject =dataElem.data.subject;
this.mail_disablePreviewArea(false); this.mail_disablePreviewArea(false);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewFromAddress').set_value(dataElem.data.fromaddress); this.et2.getWidgetById('previewFromAddress').set_value(dataElem.data.fromaddress);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewToAddress').set_value(dataElem.data.toaddress); this.et2.getWidgetById('previewToAddress').set_value(dataElem.data.toaddress);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewDate').set_value(dataElem.data.date); this.et2.getWidgetById('previewDate').set_value(dataElem.data.date);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewSubject').set_value(subject); this.et2.getWidgetById('previewSubject').set_value(subject);
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').set_value((dataElem.data.attachmentsBlock.length>1?dataElem.data.attachmentsBlock:'')); if (dataElem.data.attachmentsBlock.length<1)
if (dataElem.data.attachmentsBlock.length<1) etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea noContent'); {
etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('toolbar').set_actions(JSON.parse(dataElem.data.toolbaractions)); this.et2.getWidgetById('previewAttachmentArea').set_class('previewAttachmentArea noContent mail_DisplayNone');
var IframeHandle = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('messageIFRAME'); }
else
{
console.log(dataElem.data.attachmentsBlock);
var aA = this.et2.getWidgetById('previewAttachmentArea');
aA._mgrs.content.data= dataElem.data.attachmentsBlock;
}
this.et2.getWidgetById('toolbar').set_actions(JSON.parse(dataElem.data.toolbaractions));
var IframeHandle = this.et2.getWidgetById('messageIFRAME');
//console.log(IframeHandle); //console.log(IframeHandle);
IframeHandle.set_src(egw.link('/index.php',{menuaction:'mail.mail_ui.loadEmailBody',_messageID:_id})); IframeHandle.set_src(egw.link('/index.php',{menuaction:'mail.mail_ui.loadEmailBody',_messageID:_id}));
var messages = {}; var messages = {};
@ -522,7 +530,7 @@ app.mail = AppJS.extend(
mail_setMailBody: function(content) { mail_setMailBody: function(content) {
//console.log('mail_setMailBody',content); //console.log('mail_setMailBody',content);
var IframeHandle = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('messageIFRAME'); var IframeHandle = this.et2.getWidgetById('messageIFRAME');
IframeHandle.set_value(''); IframeHandle.set_value('');
}, },
@ -564,11 +572,12 @@ app.mail = AppJS.extend(
} }
try try
{ {
var tree_wdg = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var tree_wdg = this.et2.getWidgetById(this.nm_index+'[foldertree]');
var activeFolders = tree_wdg.getTreeNodeOpenItems(nodeToRefresh,mode2use); var activeFolders = tree_wdg.getTreeNodeOpenItems(nodeToRefresh,mode2use);
//alert(activeFolders.join('#,#')); //alert(activeFolders.join('#,#'));
this.mail_queueRefreshFolderList(activeFolders); this.mail_queueRefreshFolderList(activeFolders);
this.mail_refreshQuotaDisplay();
// maybe to use the mode forced as trigger for grid reload and using the grids own autorefresh // maybe to use the mode forced as trigger for grid reload and using the grids own autorefresh
// would solve the refresh issue more accurately // would solve the refresh issue more accurately
//if (mode == "forced") this.mail_refreshMessageGrid(); //if (mode == "forced") this.mail_refreshMessageGrid();
@ -576,6 +585,30 @@ app.mail = AppJS.extend(
} catch(e) { } // ignore the error; maybe the template is not loaded yet } catch(e) { } // ignore the error; maybe the template is not loaded yet
}, },
/**
* mail_refreshQuotaDisplay, function to call to read the quota for the active server
*
*/
mail_refreshQuotaDisplay: function(_server)
{
egw.json('mail.mail_ui.ajax_refreshQuotaDisplay',[_server])
.sendRequest(true);
},
/**
* mail_setQuotaDisplay, function to call to read the quota for the active server
*
*/
mail_setQuotaDisplay: function(_data)
{
//this.et2 should do the same as etemplate2.getByApplication('mail')[0].widgetContainer
var quotabox = this.et2.getWidgetById(this.nm_index+'[quotainpercent]');
//console.log(_data,quotabox);
//try to set it via set_value and set label
this.et2.getWidgetById(this.nm_index+'[quotainpercent]').set_class(_data.data.quotaclass);
this.et2.getWidgetById(this.nm_index+'[quotainpercent]').set_value(_data.data.quotainpercent);
this.et2.getWidgetById(this.nm_index+'[quotainpercent]').set_label(_data.data.quota);
},
/** /**
* Queues a refreshFolderList request for 1ms. Actually this will just execute the * Queues a refreshFolderList request for 1ms. Actually this will just execute the
@ -606,7 +639,7 @@ app.mail = AppJS.extend(
* mail_setFolderStatus, function to set the status for the visible folders * mail_setFolderStatus, function to set the status for the visible folders
*/ */
mail_setFolderStatus: function(_status) { mail_setFolderStatus: function(_status) {
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
for (var i in _status) ftree.setLabel(i,_status[i]);//alert(i +'->'+_status[i]); for (var i in _status) ftree.setLabel(i,_status[i]);//alert(i +'->'+_status[i]);
}, },
@ -618,7 +651,7 @@ app.mail = AppJS.extend(
*/ */
mail_setLeaf: function(_status) { mail_setLeaf: function(_status) {
//console.log('mail_setLeaf',_status); //console.log('mail_setLeaf',_status);
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
var selectedNode = ftree.getSelectedNode(); var selectedNode = ftree.getSelectedNode();
for (var i in _status) for (var i in _status)
{ {
@ -628,7 +661,7 @@ app.mail = AppJS.extend(
//alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']); //alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']);
if (_status[i]['id']==selectedNode.id) if (_status[i]['id']==selectedNode.id)
{ {
var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
nm.activeFilters["selectedFolder"] = _status[i]['id']; nm.activeFilters["selectedFolder"] = _status[i]['id'];
nm.applyFilters(); nm.applyFilters();
} }
@ -643,7 +676,7 @@ app.mail = AppJS.extend(
*/ */
mail_removeLeaf: function(_status) { mail_removeLeaf: function(_status) {
//console.log('mail_removeLeaf',_status); //console.log('mail_removeLeaf',_status);
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
var selectedNode = ftree.getSelectedNode(); var selectedNode = ftree.getSelectedNode();
for (var i in _status) for (var i in _status)
{ {
@ -654,7 +687,7 @@ app.mail = AppJS.extend(
//alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']); //alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']);
if (selectedNodeAfter.id!=selectedNode.id && selectedNode.id==i) if (selectedNodeAfter.id!=selectedNode.id && selectedNode.id==i)
{ {
var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
nm.activeFilters["selectedFolder"] = selectedNodeAfter.id; nm.activeFilters["selectedFolder"] = selectedNodeAfter.id;
nm.applyFilters(); nm.applyFilters();
} }
@ -669,7 +702,7 @@ app.mail = AppJS.extend(
*/ */
mail_reloadNode: function(_status) { mail_reloadNode: function(_status) {
//console.log('mail_reloadNode',_status); //console.log('mail_reloadNode',_status);
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
var selectedNode = ftree.getSelectedNode(); var selectedNode = ftree.getSelectedNode();
for (var i in _status) for (var i in _status)
{ {
@ -680,7 +713,7 @@ app.mail = AppJS.extend(
//alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']); //alert(i +'->'+_status[i]['id']+'+'+_status[i]['desc']);
if (selectedNodeAfter.id!=selectedNode.id && selectedNode.id==i) if (selectedNodeAfter.id!=selectedNode.id && selectedNode.id==i)
{ {
var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
nm.activeFilters["selectedFolder"] = selectedNodeAfter.id; nm.activeFilters["selectedFolder"] = selectedNodeAfter.id;
nm.applyFilters(); nm.applyFilters();
} }
@ -699,7 +732,7 @@ app.mail = AppJS.extend(
} }
else else
{ {
nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); nm = this.et2.getWidgetById(this.nm_index);
} }
nm.applyFilters(); // this should refresh the active folder nm.applyFilters(); // this should refresh the active folder
}, },
@ -746,7 +779,7 @@ app.mail = AppJS.extend(
*/ */
mail_getMsg: function() mail_getMsg: function()
{ {
var msg_wdg = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('msg'); var msg_wdg = this.et2.getWidgetById('msg');
if (msg_wdg) if (msg_wdg)
{ {
return msg_wdg.valueOf().htmlNode[0].innerHTML; return msg_wdg.valueOf().htmlNode[0].innerHTML;
@ -760,7 +793,7 @@ app.mail = AppJS.extend(
*/ */
mail_setMsg: function(myMsg) mail_setMsg: function(myMsg)
{ {
var msg_wdg = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('msg'); var msg_wdg = this.et2.getWidgetById('msg');
if (msg_wdg) if (msg_wdg)
{ {
msg_wdg.set_value(myMsg); msg_wdg.set_value(myMsg);
@ -902,6 +935,7 @@ app.mail = AppJS.extend(
*/ */
mail_changeFolder: function(folder,_widget) { mail_changeFolder: function(folder,_widget) {
//alert('change Folder called:'+folder); //alert('change Folder called:'+folder);
var server = folder.split('::');
app.mail.app_refresh(this.egw.lang('change folder')+'...', 'mail'); app.mail.app_refresh(this.egw.lang('change folder')+'...', 'mail');
var img = _widget.getSelectedNode().images[0]; // fetch first image var img = _widget.getSelectedNode().images[0]; // fetch first image
if (!(img.search(eval('/'+'NoSelect'+'/'))<0) || !(img.search(eval('/'+'thunderbird'+'/'))<0)) if (!(img.search(eval('/'+'NoSelect'+'/'))<0) || !(img.search(eval('/'+'thunderbird'+'/'))<0))
@ -948,6 +982,7 @@ app.mail = AppJS.extend(
} }
//mail_refreshMessageGrid();// its done in refreshFolderStatus already //mail_refreshMessageGrid();// its done in refreshFolderStatus already
this.mail_refreshFolderStatus(folder,'forced'); this.mail_refreshFolderStatus(folder,'forced');
this.mail_refreshQuotaDisplay(server[0]);
this.mail_startTimerFolderStatusUpdate(this.mail_refreshTimeOut); this.mail_startTimerFolderStatusUpdate(this.mail_refreshTimeOut);
this.mail_fetchCurrentlyFocussed(null,true); this.mail_fetchCurrentlyFocussed(null,true);
this.mail_preview(); this.mail_preview();
@ -1486,7 +1521,7 @@ app.mail = AppJS.extend(
} }
else else
{ {
var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
var aO = nm.controller._objectManager.selectedChildren; var aO = nm.controller._objectManager.selectedChildren;
for (var i = 0; i < _actionObjects['msg'].length; i++) for (var i = 0; i < _actionObjects['msg'].length; i++)
{ {
@ -1531,7 +1566,7 @@ app.mail = AppJS.extend(
// as the "onNodeSelect" function! // as the "onNodeSelect" function!
egw.json('mail.mail_ui.ajax_moveMessages',[target, messages]) egw.json('mail.mail_ui.ajax_moveMessages',[target, messages])
.sendRequest(); .sendRequest();
var nm = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index); var nm = this.et2.getWidgetById(this.nm_index);
this.mail_setRowClass(_senders,'deleted'); this.mail_setRowClass(_senders,'deleted');
nm.refresh(messages['msg'],'delete') nm.refresh(messages['msg'],'delete')
//for (var i = 0; i < messages['msg'].length; i++) egw.dataDeleteUID(messages['msg'][i]); //for (var i = 0; i < messages['msg'].length; i++) egw.dataDeleteUID(messages['msg'][i]);
@ -1566,7 +1601,7 @@ app.mail = AppJS.extend(
//console.log(action,_senders); //console.log(action,_senders);
//action.id == 'add' //action.id == 'add'
//_senders.iface.id == target leaf / leaf to edit //_senders.iface.id == target leaf / leaf to edit
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
OldFolderName = ftree.getLabel(_senders[0].iface.id); OldFolderName = ftree.getLabel(_senders[0].iface.id);
if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text(); if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text();
OldFolderName = OldFolderName.trim(); OldFolderName = OldFolderName.trim();
@ -1593,7 +1628,7 @@ app.mail = AppJS.extend(
//console.log(action,_senders); //console.log(action,_senders);
//action.id == 'rename' //action.id == 'rename'
//_senders.iface.id == target leaf / leaf to edit //_senders.iface.id == target leaf / leaf to edit
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
OldFolderName = ftree.getLabel(_senders[0].iface.id); OldFolderName = ftree.getLabel(_senders[0].iface.id);
if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text(); if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text();
OldFolderName = OldFolderName.trim(); OldFolderName = OldFolderName.trim();
@ -1620,7 +1655,7 @@ app.mail = AppJS.extend(
//console.log(action,_senders); //console.log(action,_senders);
//action.id == 'delete' //action.id == 'delete'
//_senders.iface.id == target leaf / leaf to edit //_senders.iface.id == target leaf / leaf to edit
var ftree = etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById(this.nm_index+'[foldertree]'); var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
OldFolderName = ftree.getLabel(_senders[0].iface.id); OldFolderName = ftree.getLabel(_senders[0].iface.id);
if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text(); if (jQuery(OldFolderName).text().length>0) OldFolderName = jQuery(OldFolderName).text();
OldFolderName = OldFolderName.trim(); OldFolderName = OldFolderName.trim();

View File

@ -31,7 +31,7 @@
</hbox> </hbox>
<hbox class="mailDisplayHeaders" width="100%"> <hbox class="mailDisplayHeaders" width="100%">
<description value="Subject"/> <description value="Subject"/>
<description align="left" id="mail_displaysubject" readonly="true"/> <description align="left" id="mail_displaysubject" no_lang="1" readonly="true"/>
</hbox> </hbox>
</vbox> </vbox>
<vbox class="mailDisplay" width="100%"> <vbox class="mailDisplay" width="100%">
@ -60,7 +60,7 @@
<description id="${row}[partID]" /> <description id="${row}[partID]" />
<description id="${row}[type]" /> <description id="${row}[type]" />
<description id="${row}[winmailFlag]" /> <description id="${row}[winmailFlag]" />
<description class="useEllipsis et2_link" id="${row}[filename]" onclick="app.mail.displayAttachment"/> <description class="useEllipsis et2_link" id="${row}[filename]" no_lang="1" onclick="app.mail.displayAttachment"/>
<description id="${row}[mimetype]" /> <description id="${row}[mimetype]" />
<description align="right" id="${row}[size]" /> <description align="right" id="${row}[size]" />
<buttononly id="${row}[save]" value="save" image="fileexport" onclick="app.mail.saveAttachment"/> <buttononly id="${row}[save]" value="save" image="fileexport" onclick="app.mail.saveAttachment"/>

View File

@ -28,7 +28,7 @@
<description id="${row}[uid]" readonly="true"/> <description id="${row}[uid]" readonly="true"/>
<description span="1" class="status_img"/> <description span="1" class="status_img"/>
<html id="${row}[attachments]"/> <html id="${row}[attachments]"/>
<description id="${row}[subject]"/> <description id="${row}[subject]" no_lang="1"/>
<date-time_today align="center" id="${row}[date]" readonly="true"/> <date-time_today align="center" id="${row}[date]" readonly="true"/>
<url-email id="${row}[toaddress]" readonly="true"/> <url-email id="${row}[toaddress]" readonly="true"/>
<url-email id="${row}[fromaddress]" readonly="true"/> <url-email id="${row}[fromaddress]" readonly="true"/>
@ -63,7 +63,36 @@
<description align="left" id="previewSubject" readonly="true"/> <description align="left" id="previewSubject" readonly="true"/>
</hbox> </hbox>
<hbox class="previewAttachmentArea"> <hbox class="previewAttachmentArea">
<html id="previewAttachmentArea"/> <!-- <html id="previewAttachmentArea"/> -->
<grid disabled="@no_griddata" id="previewAttachmentArea">
<columns>
<column disabled="!@showtempname"/>
<column disabled="!@showtempname"/>
<column disabled="!@showtempname"/>
<column disabled="!@showtempname"/>
<column width="50%" />
<column width="20%" />
<column width="11%" />
<column width="3%"/>
<column width="3%"/>
<column width="3%"/>
<column />
</columns>
<rows>
<row >
<description id="${row}[attachment_number]" />
<description id="${row}[partID]" />
<description id="${row}[type]" />
<description id="${row}[winmailFlag]" />
<description class="useEllipsis et2_link" id="${row}[filename]" no_lang="1" onclick="app.mail.displayAttachment"/>
<description id="${row}[mimetype]" />
<description align="right" id="${row}[size]" />
<buttononly id="${row}[save]" value="save" image="fileexport" onclick="app.mail.saveAttachment"/>
<buttononly id="${row}[saveAsVFS]" value="save" image="filemanager/navbar" onclick="app.mail.saveAttachmentToVFS"/>
<buttononly class="$row_cont[classSaveAllPossiblyDisabled]" id="${row}[save_all]" value="save_all" image="mail/save_all" onclick="app.mail.saveAllAttachmentsToVFS"/>
</row>
</rows>
</grid>
</hbox> </hbox>
<hbox id="mailPreviewIcons"> <hbox id="mailPreviewIcons">
<toolbar id="toolbar"/> <toolbar id="toolbar"/>