* Mail/preferences: Add Preview Pane option into mail preferences in order to be able to show/hide mail preview pane (split panel)

This commit is contained in:
Hadi Nategh 2015-09-02 09:31:47 +00:00
parent 328712af0d
commit a44e9a6f9e
4 changed files with 71 additions and 58 deletions

View File

@ -340,6 +340,17 @@ class mail_hooks
'default'=> 0,
'admin' => False,
),
'previewPane' => array(
'type' => 'select',
'label' => 'Preview pane',
'help' => 'Show/Hide preview pane in mail list view',
'name' => 'previewPane',
'values' => array(
'0' => lang('show'),
'1' => lang('hide')
),
'default' => '0'
),
array(
'type' => 'section',
'title' => lang('Configuration settings'),

View File

@ -722,6 +722,9 @@ class mail_ui
{
self::callWizard($e->getMessage(),true, 'error');
}
// Check preview pane is enabled, then show spliter
if ($this->mail_bo->mailPreferences['previewPane']) $etpl->setElementAttribute('mail.index.spliter', 'template', 'mail.index.nospliter');
return $etpl->exec('mail.mail_ui.index',$content,$sel_options,$readonlys,$preserv);
}

View File

@ -676,17 +676,10 @@ app.classes.mail = AppJS.extend(
var splitter = this.et2.getWidgetById('mailSplitter');
// return if there's no splitter we maybe in mobile mode
if (typeof splitter == 'undefined' || splitter == null) return;
var splitterDN = splitter.getDOMNode();
if(splitter.isDocked())
{
this.mail_previewAreaActive = false;
}
//this.et2.getWidgetById('mailPreviewHeadersFrom').set_disabled(_value);
//this.et2.getWidgetById('mailPreviewHeadersTo').set_disabled(_value);
//this.et2.getWidgetById('mailPreviewHeadersDate').set_disabled(_value);
//this.et2.getWidgetById('mailPreviewHeadersSubject').set_disabled(_value);
this.et2.getWidgetById('mailPreview').set_disabled(_value);
//Dock the splitter always if we are browsing with mobile
if (_value==true)

View File

@ -2,57 +2,7 @@
<!DOCTYPE overlay PUBLIC "-//Stylite AG//eTemplate 2//EN" "http://www.egroupware.org/etemplate2.dtd">
<!-- $Id$ -->
<overlay>
<template id="mail.index.rows" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="25"/>
<column width="20"/>
<column width="20"/>
<column width="40%"/>
<column width="95"/>
<column width="95"/>
<column width="30%"/>
<column width="30%"/>
<column width="30%"/>
<column width="80"/>
</columns>
<rows>
<row class="th">
<nextmatch-sortheader label="ID" id="uid" readonly="true"/>
<nextmatch-header statustext="Status" label="St." id="status"/>
<nextmatch-header statustext="attachments, ..." label="..." id="attachments"/>
<nextmatch-sortheader label="subject" id="subject"/>
<nextmatch-sortheader align="center" label="date" id="date" sortmode="DESC"/>
<nextmatch-sortheader align="center" label="arrival" id="arrival"/>
<nextmatch-sortheader label="mail-address" id="address"/>
<nextmatch-sortheader label="to" id="toaddress"/>
<nextmatch-sortheader label="from" id="fromaddress"/>
<nextmatch-sortheader align="center" label="size" id="size"/>
</row>
<row class="$row_cont[class]">
<description id="${row}[uid]" no_lang="1" readonly="true"/>
<description span="1" class="status_img"/>
<html id="${row}[attachments]"/>
<description id="${row}[subject]" no_lang="1"/>
<date-time_today align="center" id="${row}[date]" readonly="true"/>
<date-time_today align="center" id="${row}[modified]" readonly="true"/>
<url-email id="${row}[address]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[toaddress]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[fromaddress]" contact_plus = "true" readonly="true"/>
<vfs-size align="right" id="${row}[size]" no_lang="1" readonly="true"/>
</row>
</rows>
</grid>
</template>
<template id="mail.index" template="" lang="" group="0" version="1.9.001">
<tree autoloading="mail.mail_ui.ajax_foldertree" id="nm[foldertree]" onclick="app.mail.mail_changeFolder" parent_node="mail-tree_target" onopenstart="app.mail.subscription_autoloadingStart" onopenend="app.mail.subscription_autoloadingEnd" highlighting="true"/>
<html id="msg"/>
<buttononly id="button[mailcreate]" onclick="app.mail.mail_compose(false);" label="Compose" parent_node="mail-index_buttonmailcreate"/>
<hbox class="mail-index_quotabox"><progress id="nm[quotainpercent]" label="@nm[quota]" class="@nm[quotaclass]"/></hbox>
<hbox class="mail-index_vacation"><vbox>
<description id="nm[vacationnotice]" class="@nm[vacationclass]"/>
<description id="nm[vacationrange]" class="@nm[vacationrangeclass]"/></vbox>
</hbox>
<template id="mail.index.spliter" height="100%" template="" lang="" group="0" version="1.9.001">
<split dock_side="bottomDock" id="mailSplitter" orientation="h">
<nextmatch id="nm" onselect="app.mail.mail_preview" template="mail.index.rows"/>
<vbox id="mailPreview" width="100%">
@ -118,6 +68,62 @@
</box>
</vbox>
</split>
</template>
<template id="mail.index.nospliter" template="" lang="" group="0" version="1.9.001">
<nextmatch id="nm" onselect="app.mail.mail_preview" template="mail.index.rows"/>
</template>
<template id="mail.index.rows" template="" lang="" group="0" version="1.9.001">
<grid width="100%">
<columns>
<column width="25"/>
<column width="20"/>
<column width="20"/>
<column width="40%"/>
<column width="95"/>
<column width="95"/>
<column width="30%"/>
<column width="30%"/>
<column width="30%"/>
<column width="80"/>
</columns>
<rows>
<row class="th">
<nextmatch-sortheader label="ID" id="uid" readonly="true"/>
<nextmatch-header statustext="Status" label="St." id="status"/>
<nextmatch-header statustext="attachments, ..." label="..." id="attachments"/>
<nextmatch-sortheader label="subject" id="subject"/>
<nextmatch-sortheader align="center" label="date" id="date" sortmode="DESC"/>
<nextmatch-sortheader align="center" label="arrival" id="arrival"/>
<nextmatch-sortheader label="mail-address" id="address"/>
<nextmatch-sortheader label="to" id="toaddress"/>
<nextmatch-sortheader label="from" id="fromaddress"/>
<nextmatch-sortheader align="center" label="size" id="size"/>
</row>
<row class="$row_cont[class]">
<description id="${row}[uid]" no_lang="1" readonly="true"/>
<description span="1" class="status_img"/>
<html id="${row}[attachments]"/>
<description id="${row}[subject]" no_lang="1"/>
<date-time_today align="center" id="${row}[date]" readonly="true"/>
<date-time_today align="center" id="${row}[modified]" readonly="true"/>
<url-email id="${row}[address]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[toaddress]" contact_plus = "true" readonly="true"/>
<url-email id="${row}[fromaddress]" contact_plus = "true" readonly="true"/>
<vfs-size align="right" id="${row}[size]" no_lang="1" readonly="true"/>
</row>
</rows>
</grid>
</template>
<template id="mail.index" template="" lang="" group="0" version="1.9.001">
<tree autoloading="mail.mail_ui.ajax_foldertree" id="nm[foldertree]" onclick="app.mail.mail_changeFolder" parent_node="mail-tree_target" onopenstart="app.mail.subscription_autoloadingStart" onopenend="app.mail.subscription_autoloadingEnd" highlighting="true"/>
<html id="msg"/>
<buttononly id="button[mailcreate]" onclick="app.mail.mail_compose(false);" label="Compose" parent_node="mail-index_buttonmailcreate"/>
<hbox class="mail-index_quotabox"><progress id="nm[quotainpercent]" label="@nm[quota]" class="@nm[quotaclass]"/></hbox>
<hbox class="mail-index_vacation"><vbox>
<description id="nm[vacationnotice]" class="@nm[vacationclass]"/>
<description id="nm[vacationrange]" class="@nm[vacationrangeclass]"/></vbox>
</hbox>
<template id="mail.index.spliter" height="100%" template="mail.index.spliter"/>
<iframe frameborder="1" id="extra_iframe" scrolling="auto" disabled="true"/>
</template>
</overlay>