diff --git a/mail/inc/class.mail_ui.inc.php b/mail/inc/class.mail_ui.inc.php
index 1cac92b004..42ceb3275f 100644
--- a/mail/inc/class.mail_ui.inc.php
+++ b/mail/inc/class.mail_ui.inc.php
@@ -585,6 +585,9 @@ class mail_ui
$etpl->setElementAttribute(self::$nm_index.'[foldertree]','actions', $tree_actions);
+ // sending preview toolbar actions
+ $etpl->setElementAttribute('mailPreview[toolbar]', 'actions', $this->get_toolbar_actions());
+
if (empty($content[self::$nm_index]['filter2']) || empty($content[self::$nm_index]['search'])) $content[self::$nm_index]['filter2']='quick';
$readonlys = $preserv = $sel_options;
if (mail_bo::$debugTimes) mail_bo::logRunTimes($starttime,null,'',__METHOD__.__LINE__);
@@ -1584,25 +1587,13 @@ unset($query['actions']);
}
/**
- * function header2gridelements - to populate the grid elements with the collected Data
+ * Get actions for preview toolbar
*
- * @param array $_headers, headerdata to process
- * @param array $cols, cols to populate
- * @param array $_folderName, used to ensure the uniqueness of the uid over all folders
- * @param array $_folderType=0, foldertype, used to determine if we need to populate from/to
- * @param array $previewMessage=0, the message previewed
- * @return array populated result array
+ * @return array
*/
- public function header2gridelements($_headers, $cols, $_folderName, $_folderType=0, $previewMessage=0)
+ function get_toolbar_actions()
{
- if (mail_bo::$debugTimes) $starttime = microtime(true);
- $timestamp7DaysAgo =
- mktime(date("H"), date("i"), date("s"), date("m"), date("d")-7, date("Y"));
- $timestampNow =
- mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
- $dateToday = date("Y-m-d");
- $rv = array();
- $actions = self::get_actions();
+ $actions = $this->get_actions();
foreach(array('composeasnew','reply','reply_all','forward','flagged','delete','print','infolog','tracker','save','view') as $a => $act)
{
//error_log(__METHOD__.__LINE__.' '.$act.'->'.array2string($actions[$act]));
@@ -1625,6 +1616,30 @@ unset($query['actions']);
if (isset($actions[$act])) $actionsenabled[$act]=$actions[$act];
}
}
+ unset($actionsenabled['drag_mail']);
+
+ return $actionsenabled;
+ }
+
+ /**
+ * function header2gridelements - to populate the grid elements with the collected Data
+ *
+ * @param array $_headers, headerdata to process
+ * @param array $cols, cols to populate
+ * @param array $_folderName, used to ensure the uniqueness of the uid over all folders
+ * @param array $_folderType=0, foldertype, used to determine if we need to populate from/to
+ * @param array $previewMessage=0, the message previewed
+ * @return array populated result array
+ */
+ public function header2gridelements($_headers, $cols, $_folderName, $_folderType=0, $previewMessage=0)
+ {
+ if (mail_bo::$debugTimes) $starttime = microtime(true);
+ $timestamp7DaysAgo =
+ mktime(date("H"), date("i"), date("s"), date("m"), date("d")-7, date("Y"));
+ $timestampNow =
+ mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
+ $dateToday = date("Y-m-d");
+ $rv = array();
$i=0;
$firstuid = null;
@@ -1854,15 +1869,17 @@ unset($query['actions']);
else $data["flags"][$flag] = $flag;
}
}
- unset($actionsenabled['drag_mail']);
$data['attachmentsPresent'] = $imageTag;
$data['attachmentsBlock'] = $imageHTMLBlock;
- $data['toolbaractions'] = json_encode($actionsenabled);
$data['address'] = ($_folderType?$data["toaddress"]:$data["fromaddress"]);
$rv[] = $data;
//error_log(__METHOD__.__LINE__.array2string($result));
}
if (mail_bo::$debugTimes) mail_bo::logRunTimes($starttime,null,'Folder:'.$_folderName,__METHOD__.__LINE__);
+
+ // ToDo: call this ONLY if labels change
+ etemplate_widget::setElementAttribute('toolbar', 'actions', $this->get_toolbar_actions());
+
return $rv;
}
diff --git a/mail/js/app.js b/mail/js/app.js
index 2dce859701..17a392ec4f 100644
--- a/mail/js/app.js
+++ b/mail/js/app.js
@@ -697,8 +697,6 @@ app.classes.mail = AppJS.extend(
this.mail_selectedMails.push(_id);
}
this.mail_disablePreviewArea(false);
- var toolbaractions = ((typeof dataElem != 'undefined' && typeof dataElem.data != 'undefined' && typeof dataElem.data.toolbaractions != 'undefined')?JSON.parse(dataElem.data.toolbaractions):undefined);
- if (toolbaractions) this.et2.getWidgetById('toolbar').set_actions(toolbaractions);
// Request email body from server
IframeHandle.set_src(egw.link('/index.php',{menuaction:'mail.mail_ui.loadEmailBody',_messageID:_id}));
@@ -2444,10 +2442,10 @@ app.classes.mail = AppJS.extend(
/**
* Focus handler for folder, address, reject textbox/taglist to automatic check associated radio button
- *
- * @param {event} _ev
+ *
+ * @param {event} _ev
* @param {object} _widget taglist
- *
+ *
*/
sieve_focus_radioBtn: function(_ev, _widget)
{
@@ -2456,7 +2454,7 @@ app.classes.mail = AppJS.extend(
/**
* Select all aliases
- *
+ *
*/
sieve_vac_all_aliases: function()
{
@@ -2539,12 +2537,12 @@ app.classes.mail = AppJS.extend(
/**
* Send back action resault to server
- *
+ *
* @param {string} _typeId action name
* @param {object} _data content
* @param {string} _selectedID selected row id
* @param {string} _msg message
- *
+ *
*/
_do_action: function(_typeID, _data,_selectedID,_msg)
{
@@ -2556,10 +2554,10 @@ app.classes.mail = AppJS.extend(
},
/**
- *
+ *
* @todo: Need to find a way how to refresh the grid
- *
- *
+ *
+ *
*/
sieve_refresh: function()
{
@@ -2624,7 +2622,7 @@ app.classes.mail = AppJS.extend(
/**
* Open seive filter list
- *
+ *
* @param {egwAction} action - Action user did to get here
* @param {egwActionObject[]} selected - selected row(s)
*
diff --git a/mail/templates/default/index.xet b/mail/templates/default/index.xet
index 9dcd54f341..e63c053f0b 100644
--- a/mail/templates/default/index.xet
+++ b/mail/templates/default/index.xet
@@ -103,9 +103,7 @@
-
-
-
+
diff --git a/mail/templates/pixelegg/app.css b/mail/templates/pixelegg/app.css
index ca4d9f0209..7a541864a5 100755
--- a/mail/templates/pixelegg/app.css
+++ b/mail/templates/pixelegg/app.css
@@ -2079,7 +2079,7 @@ input[type=button] {
padding: 0px;
height: 16px !important;
}
-#mail-index_mailPreviewIcons {
+.mailPreviewIcons {
position: absolute;
right: 0;
top: 0;
@@ -2393,21 +2393,21 @@ input[type=button] {
background-color: #ffc200;
}
/*#toolbar-actionbox{.dimension_height_s;}*/
-/*
+/*
h.ui-toolbar-menulistHeader,
#ui-accordion-toolbar-actionbox-header-0{
-
+
.dimension_height_s;
background-color: @gray_50;
color: @gray_0;
margin:0;
-
+
// little ICON
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
margin-top: -11px;
color: @gray_0;
}
-
+
}
// accordion, where Button be placed
@@ -2415,13 +2415,13 @@ div#toolbar-menulist{
background-color: @gray_50;
color: @gray_0;
- Elemente
+ Elemente
button {
height: 24px !important;
-
+
img[src$="svg"]{
-
+
.gradient_vertical (@gray_60, @gray_60);
background-color: @gray_100;
}
diff --git a/mail/templates/pixelegg/app.less b/mail/templates/pixelegg/app.less
index f5059484d9..e749a83072 100755
--- a/mail/templates/pixelegg/app.less
+++ b/mail/templates/pixelegg/app.less
@@ -118,7 +118,7 @@ div#mail-index{
.border_none;
}
tr.mail td img[src*="svg"]{ .gradient_vertical (@gray_70, @gray_70);}
-
+
tr.mail div span {.dimension_height_xs;.box_shadow_none; display: table-cell; }
@@ -172,10 +172,6 @@ div#mail-index{
white-space: nowrap;
}
- // Icons
- div#mail-index_mailPreviewIcons{}
-
-
// Email Inhalt
div#mail-index_mailPreviewContainer{
@@ -337,24 +333,24 @@ div#mail-index{
width: 100%;
height: 35px !important;
padding: 5px 5px 5px 2px !important;
-
+
.gradient_thead;
.color_100_gray;
-
-
+
+
button[id="mail-compose_button[sent]"],
button.et2_button{
/* background-color: @gray_30;*/
-
+
/*height: 33px;*/
/*margin: 0px 3px 0 !important;*/
}
-
+
span.email-button-group {
.span_tool_group;
height: 27px;
-
+
}
span.sent {float: left; background-color: @egw_color_2_a; background-image: none;}
@@ -608,7 +604,7 @@ div#mail-index{
// gesamtbreite
width: 870px;
padding: 5px;
-
+
/*.mailDisplayHeaderSection{*/
/*top: 0;*/
/*position: relative;*/
@@ -625,10 +621,10 @@ div#mail-index{
/* padding: 5px 3px;*/
height: 36px;
/*display: -webkit-box;*/
-
+
// all buttons
div.et2_toolbar_actionlist{margin-top: 3px; margin-left: 3px;}
-
+
button {
.Complete_Button_Icon_normal;
height: 24px;
@@ -760,15 +756,15 @@ div#mail-index{
}
}
}
-
-
+
+
/*OPEN SINGLE WINDOW AFTER CLICK ON MAIL*/
// ###################### buttons##############################
// # # # # # # # # # ####
// # # # # # # # # # ####
// ############################################################
#toolbar-actionlist{
-
+
padding: 0px 3px;
span[data-group] {margin: 0px 40px 0 0;}
button {
@@ -776,8 +772,8 @@ div#mail-index{
height: 27px;
[src*="svg"]{
.gradient_vertical (@gray_90, @gray_90);
- }
- }
+ }
+ }
button[id*="toolbar-composeasnew"],
button[id*="toolbar-reply"],
button[id*="toolbar-reply_all"],
@@ -799,10 +795,10 @@ div#mail-index{
button[id*="toolbar-tracker"]{
&:hover {background-color: @egw_color_1_a;}
&:active {background-color: .background_color_15_gray;}
- }
-
+ }
+
}
-
+
}
@@ -832,10 +828,10 @@ div#mail-index{
.mail_DisplayNone{
display: none;
}
-
-
-
+
+
+
} // Ende Display
@@ -845,7 +841,7 @@ div#mail-index{
* et2_toolbar
*/
.et2_toolbar {
-
+
button {
}
}
@@ -853,30 +849,30 @@ div#mail-index{
.et2_toolbar-dropdown{
background: @gray_10 !important;
background-color: @gray_10 !important;
-
+
button{
background: @gray_10 !important;
background-color: @gray_10 !important;
-
+
&:hover{}
-
+
}
-
+
ul> li{ }
-
+
ul{ }
-
+
}
.et2_toolbar-dropdown-menulist {
button{
background: @gray_10 !important;
background-color: @gray_10 !important;
-
+
&:nth-child(2){}
-
+
}
- ul{ }
+ ul{ }
}
@@ -885,22 +881,22 @@ div.ui-toolbar-menulist{
.border_normal;
}
.ui-toolbar-menulist{
-
+
h {
padding-bottom: 7px;
margin: 0;
}
-
+
button {
}
-
+
div{
background-color: @gray_10 !important;
.border_normal;
}
-
-}
+
+}
.ui-toolbar-menulistHeader{
}
@@ -912,14 +908,14 @@ div.ui-toolbar-menulist{
// aufgeklappte Toolbar
div#displayToolbar-menulist{
-
+
.et2_dropdown{
.box_shadow_none;
border: none !important;
button {.box_shadow_none;}
}
img {.dimension_width_height_sm; }
-
+
}
/* ##################################################################################
@@ -928,33 +924,33 @@ div#displayToolbar-menulist{
* ##################################################################################
*/
#mail-subscribe{
-
+
table.et2_grid tr td {
padding: 0px;
-
-
+
+
/*Label*/
.mail_subscription_header {
- .headline_h2;
+ .headline_h2;
line-height: 2em;
font-weight: bold;
font-size: 150%;
padding-bottom: 20px;
}
-
-
+
+
// Folder List
div.et2_box {
margin-top: 16px;
height: 484px;
overflow: auto;
}
-
-
-
+
+
+
}
-
+
} // #mail-subscribe
.mail_subscription_header
@@ -1337,10 +1333,10 @@ pre {
right:-72px;
width:200px !important;
z-index:99;
-
+
div.et2_progress {background-color: @gray_30 !important;}
div.et2_progress > div {min-height: 4px !important;}
-
+
}
.mail-index_quotaDisplayNone {
display: none !important;
@@ -1448,7 +1444,7 @@ input[type=button] {
-#mail-index_mailPreviewIcons {
+.mailPreviewIcons {
position: absolute;
right: 0;
top: 0;
@@ -1495,13 +1491,13 @@ input[type=button] {
background: none;
/*margin: 5px 5px 0 0;*/
/*border: none;*/
-
-
+
+
// alle Buttons / drag + drop
#toolbar-actionlist{
-
+
margin-top: 3px;
-
+
}
@@ -1509,10 +1505,10 @@ input[type=button] {
button {
height: 24px !important;
-
-
+
+
img[src$="svg"]{
-
+
.gradient_vertical (@gray_60, @gray_60);
background-color: @gray_100;
}
@@ -1542,97 +1538,97 @@ input[type=button] {
button[id*="toolbar-save"],
button[id*="toolbar-header"]{
&:focus {
- background-color: @color_positive_action;
+ background-color: @color_positive_action;
.gradient_vertical (@color_positive_action, @color_positive_action);
img[src$="svg"]{
.gradient_vertical (@color_positive_action, @color_positive_action);
background-color: @color_positive_action;
}
-
+
}
&:hover {
- background-color: @color_positive_action;
+ background-color: @color_positive_action;
.gradient_vertical (@color_positive_action, @color_positive_action);
img[src$="svg"]{
.gradient_vertical (@color_positive_action, @color_positive_action);
background-color: @color_positive_action;
}
-
+
}
&:active {
- background-color: @color_positive_action;
+ background-color: @color_positive_action;
.gradient_vertical (@color_positive_action, @color_positive_action);
img[src$="svg"]{
.gradient_vertical (@color_positive_action, @color_positive_action);
background-color: @color_positive_action;
}
-
+
}
-
-
-
+
+
+
}
button[id*="toolbar-unflagged"],
button[id*="toolbar-delete"]{
&:focus {
- background-color: @color_negative_action;;
+ background-color: @color_negative_action;;
.gradient_vertical (@color_negative_action, @color_negative_action);
img[src$="svg"]{
.gradient_vertical (@color_negative_action, @color_negative_action);
background-color: @color_negative_action;
}
-
+
}
&:hover {
- background-color: @color_negative_action;
+ background-color: @color_negative_action;
.gradient_vertical (@color_negative_action, @color_negative_action);
img[src$="svg"]{
.gradient_vertical (@color_negative_action, @color_negative_action);
background-color: @color_negative_action;
}
-
+
}
&:active {
- background-color: @color_negative_action;;
+ background-color: @color_negative_action;;
.gradient_vertical (@color_negative_action, @color_negative_action);
img[src$="svg"]{
.gradient_vertical (@color_negative_action, @color_negative_action);
background-color: @color_negative_action;
}
-
+
}
}
button[id*="toolbar-infolog"],
button[id*="toolbar-tracker"]{
&:focus {
- background-color: @egw_color_1_a;
+ background-color: @egw_color_1_a;
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
img[src$="svg"]{
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
background-color: @egw_color_1_a;
}
-
+
}
&:hover {
- background-color: @egw_color_1_a;
+ background-color: @egw_color_1_a;
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
img[src$="svg"]{
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
background-color: @egw_color_1_a;
}
-
+
}
&:active {
- background-color: @egw_color_1_a;
+ background-color: @egw_color_1_a;
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
img[src$="svg"]{
.gradient_vertical (@egw_color_1_a, @egw_color_1_a);
background-color: @egw_color_1_a;
}
}
-
+
}
@@ -1640,21 +1636,21 @@ input[type=button] {
// weitere Button
/*#toolbar-actionbox{.dimension_height_s;}*/
-/*
+/*
h.ui-toolbar-menulistHeader,
#ui-accordion-toolbar-actionbox-header-0{
-
+
.dimension_height_s;
background-color: @gray_50;
color: @gray_0;
margin:0;
-
+
// little ICON
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
margin-top: -11px;
color: @gray_0;
}
-
+
}
// accordion, where Button be placed
@@ -1662,13 +1658,13 @@ div#toolbar-menulist{
background-color: @gray_50;
color: @gray_0;
- Elemente
+ Elemente
button {
height: 24px !important;
-
+
img[src$="svg"]{
-
+
.gradient_vertical (@gray_60, @gray_60);
background-color: @gray_100;
}