Added toolbar button to move message in message view

pull/170/head
Aleksander Machniak 11 years ago
parent 8bbb01cb66
commit 5e8da2b5c9

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Added toolbar button to move message in message view
- Improve UI integration of ACL settings - Improve UI integration of ACL settings
- Fix directories check in Installer on Windows (#1489576) - Fix directories check in Installer on Windows (#1489576)
- Fix issue when default_addressbook option is set to integer value (#1489407) - Fix issue when default_addressbook option is set to integer value (#1489407)

@ -1216,7 +1216,7 @@ class rcmail_output_html extends rcmail_output
// generate html code for button // generate html code for button
if ($btn_content) { if ($btn_content) {
$attrib_str = html::attrib_string($attrib, $link_attrib); $attrib_str = html::attrib_string($attrib, array_merge($link_attrib, array('data-*')));
$out = sprintf('<a%s>%s</a>', $attrib_str, $btn_content); $out = sprintf('<a%s>%s</a>', $attrib_str, $btn_content);
} }

@ -6670,8 +6670,9 @@ function rcube_webmail()
this.element_position = function(element, obj) this.element_position = function(element, obj)
{ {
var obj = $(obj), win = $(window), var obj = $(obj), win = $(window),
width = obj.width(), width = obj.outerWidth(),
height = obj.height(), height = obj.outerHeight(),
menu_pos = obj.data('menu-pos'),
win_height = win.height(), win_height = win.height(),
elem_height = $(element).height(), elem_height = $(element).height(),
elem_width = $(element).width(), elem_width = $(element).width(),
@ -6679,6 +6680,13 @@ function rcube_webmail()
top = pos.top, top = pos.top,
left = pos.left + width; left = pos.left + width;
if (menu_pos == 'bottom') {
top += height;
left -= width;
}
else
left -= 5;
if (top + elem_height > win_height) { if (top + elem_height > win_height) {
top -= elem_height - height; top -= elem_height - height;
if (top < 0) if (top < 0)

@ -269,19 +269,28 @@ class html
return ''; return '';
} }
$allowed_f = array_flip((array)$allowed); $allowed_f = array_flip((array)$allowed);
$attrib_arr = array(); $attrib_arr = array();
foreach ($attrib as $key => $value) { foreach ($attrib as $key => $value) {
// skip size if not numeric // skip size if not numeric
if ($key == 'size' && !is_numeric($value)) { if ($key == 'size' && !is_numeric($value)) {
continue; continue;
} }
// ignore "internal" or not allowed attributes // ignore "internal" or empty attributes
if ($key == 'nl' || ($allowed && !isset($allowed_f[$key])) || $value === null) { if ($key == 'nl' || $value === null) {
continue; continue;
} }
// ignore not allowed attributes
if (!empty($allowed)) {
$is_data_attr = substr_compare($key, 'data-', 0, 5) === 0;
if (!isset($allowed_f[$key]) && (!$is_data_attr || !isset($allowed_f['data-*']))) {
continue;
}
}
// skip empty eventhandlers // skip empty eventhandlers
if (preg_match('/^on[a-z]+/', $key) && !$value) { if (preg_match('/^on[a-z]+/', $key) && !$value) {
continue; continue;

@ -20,6 +20,9 @@
<roundcube:container name="toolbar" id="messagetoolbar" /> <roundcube:container name="toolbar" id="messagetoolbar" />
<roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " /> <roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " /> <roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
<roundcube:if condition="template:name == 'message'" />
<roundcube:button command="move" type="link" class="buttonPas move" classAct="button move" classSel="button moveSel" label="move" title="moveto" content=" " data-menu-pos="bottom" />
<roundcube:endif />
</div> </div>
<div id="forwardmenu" class="popupmenu"> <div id="forwardmenu" class="popupmenu">

@ -116,51 +116,59 @@
} }
#messagetoolbar a.markmessage { #messagetoolbar a.markmessage {
background-position: -256px 0; background-position: -288px 0;
} }
#messagetoolbar a.messagemenu { #messagetoolbar a.messagemenu {
background-position: -288px 0; background-position: -322px 0;
} }
#messagetoolbar a.spellcheck { #messagetoolbar a.spellcheck {
background-position: -384px 0; background-position: -418px 0;
} }
#messagetoolbar a.spellcheckSel { #messagetoolbar a.spellcheckSel {
background-position: -384px -32px; background-position: -418px -32px;
} }
#messagetoolbar a.attach { #messagetoolbar a.attach {
background-position: -352px 0; background-position: -386px 0;
} }
#messagetoolbar a.attachSel { #messagetoolbar a.attachSel {
background-position: -352px -32px; background-position: -386px -32px;
} }
#messagetoolbar a.insertsig { #messagetoolbar a.insertsig {
background-position: -448px 0; background-position: -482px 0;
} }
#messagetoolbar a.insertsigSel { #messagetoolbar a.insertsigSel {
background-position: -448px -32px; background-position: -482px -32px;
} }
#messagetoolbar a.savedraft { #messagetoolbar a.savedraft {
background-position: -322px 0; background-position: -354px 0;
} }
#messagetoolbar a.savedraftSel { #messagetoolbar a.savedraftSel {
background-position: -322px -32px; background-position: -354px -32px;
} }
#messagetoolbar a.send { #messagetoolbar a.send {
background-position: -416px 0; background-position: -450px 0;
} }
#messagetoolbar a.sendSel { #messagetoolbar a.sendSel {
background-position: -416px -32px; background-position: -450px -32px;
}
#messagetoolbar a.move {
background-position: -578px 0;
}
#messagetoolbar a.moveSel {
background-position: -578px -32px;
} }
#messagetoolbar a.download { #messagetoolbar a.download {
@ -172,7 +180,7 @@
} }
#messagetoolbar a.responses { #messagetoolbar a.responses {
background-position: -512px 0; background-position: -548px 0;
} }
#messagemenu li a.active:hover, #messagemenu li a.active:hover,

@ -15,6 +15,9 @@
<roundcube:endif /> <roundcube:endif />
<roundcube:container name="toolbar" id="mailtoolbar" /> <roundcube:container name="toolbar" id="mailtoolbar" />
<roundcube:button name="markmenulink" id="markmessagemenulink" type="link" class="button markmessage" label="mark" title="markmessages" onclick="UI.show_popup('markmessagemenu');return false" /> <roundcube:button name="markmenulink" id="markmessagemenulink" type="link" class="button markmessage" label="mark" title="markmessages" onclick="UI.show_popup('markmessagemenu');return false" />
<roundcube:if condition="template:name == 'message'" />
<roundcube:button command="move" type="link" class="button move disabled" classAct="button move" classSel="button move pressed" label="move" title="moveto" data-menu-pos="bottom" />
<roundcube:endif />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button more" label="more" title="moreactions" onclick="UI.show_popup('messagemenu');return false" /> <roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button more" label="more" title="moreactions" onclick="UI.show_popup('messagemenu');return false" />
<div id="forwardmenu" class="popupmenu"> <div id="forwardmenu" class="popupmenu">

@ -1895,6 +1895,10 @@ ul.proplist li {
background-position: center -1094px; background-position: center -1094px;
} }
.toolbar a.button.move {
background-position: center -1972px;
}
.toolbar a.button.more { .toolbar a.button.more {
background-position: center -850px; background-position: center -850px;
} }
@ -2339,6 +2343,10 @@ ul.toolbarmenu li span.copy {
/*** folder selector ***/ /*** folder selector ***/
#folder-selector {
z-index: 1000;
}
#folder-selector li a span { #folder-selector li a span {
background: url("images/listicons.png") 4px -2021px no-repeat; background: url("images/listicons.png") 4px -2021px no-repeat;
display: block; display: block;

Loading…
Cancel
Save