Aleksander Machniak
2014-02-13 59865f3259753248ce39b6a463bf954a6d84a89b
Added toolbar button to move message in message view

Conflicts:

CHANGELOG
8 files modified
118 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcmail_output_html.php 2 ●●● patch | view | raw | blame | history
program/js/app.js 12 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/html.php 15 ●●●● patch | view | raw | blame | history
skins/classic/includes/messagetoolbar.html 3 ●●●●● patch | view | raw | blame | history
skins/classic/mail.css 74 ●●●●● patch | view | raw | blame | history
skins/larry/includes/mailtoolbar.html 3 ●●●●● patch | view | raw | blame | history
skins/larry/styles.css 8 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Added toolbar button to move message in message view
- Fix directories check in Installer on Windows (#1489576)
- Fix issue when default_addressbook option is set to integer value (#1489407)
- Fix Opera > 15 detection (#1489562)
program/include/rcmail_output_html.php
@@ -1216,7 +1216,7 @@
        // generate html code for button
        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);
        }
program/js/app.js
@@ -6670,8 +6670,9 @@
  this.element_position = function(element, obj)
  {
    var obj = $(obj), win = $(window),
      width = obj.width(),
      height = obj.height(),
      width = obj.outerWidth(),
      height = obj.outerHeight(),
      menu_pos = obj.data('menu-pos'),
      win_height = win.height(),
      elem_height = $(element).height(),
      elem_width = $(element).width(),
@@ -6679,6 +6680,13 @@
      top = pos.top,
      left = pos.left + width;
    if (menu_pos == 'bottom') {
      top += height;
      left -= width;
    }
    else
      left -= 5;
    if (top + elem_height > win_height) {
      top -= elem_height - height;
      if (top < 0)
program/lib/Roundcube/html.php
@@ -269,19 +269,28 @@
            return '';
        }
        $allowed_f = array_flip((array)$allowed);
        $allowed_f  = array_flip((array)$allowed);
        $attrib_arr = array();
        foreach ($attrib as $key => $value) {
            // skip size if not numeric
            if ($key == 'size' && !is_numeric($value)) {
                continue;
            }
            // ignore "internal" or not allowed attributes
            if ($key == 'nl' || ($allowed && !isset($allowed_f[$key])) || $value === null) {
            // ignore "internal" or empty attributes
            if ($key == 'nl' || $value === null) {
                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
            if (preg_match('/^on[a-z]+/', $key) && !$value) {
                continue;
skins/classic/includes/messagetoolbar.html
@@ -20,6 +20,9 @@
<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="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 id="forwardmenu" class="popupmenu">
skins/classic/mail.css
@@ -116,51 +116,59 @@
}
#messagetoolbar a.markmessage {
  background-position: -256px 0;
}
#messagetoolbar a.messagemenu {
  background-position: -288px 0;
}
#messagetoolbar a.spellcheck {
  background-position: -384px 0;
}
#messagetoolbar a.spellcheckSel {
  background-position: -384px -32px;
}
#messagetoolbar a.attach {
  background-position: -352px 0;
}
#messagetoolbar a.attachSel {
  background-position: -352px -32px;
}
#messagetoolbar a.insertsig {
  background-position: -448px 0;
}
#messagetoolbar a.insertsigSel {
  background-position: -448px -32px;
}
#messagetoolbar a.savedraft {
#messagetoolbar a.messagemenu {
  background-position: -322px 0;
}
#messagetoolbar a.spellcheck {
  background-position: -418px 0;
}
#messagetoolbar a.spellcheckSel {
  background-position: -418px -32px;
}
#messagetoolbar a.attach {
  background-position: -386px 0;
}
#messagetoolbar a.attachSel {
  background-position: -386px -32px;
}
#messagetoolbar a.insertsig {
  background-position: -482px 0;
}
#messagetoolbar a.insertsigSel {
  background-position: -482px -32px;
}
#messagetoolbar a.savedraft {
  background-position: -354px 0;
}
#messagetoolbar a.savedraftSel {
  background-position: -322px -32px;
  background-position: -354px -32px;
}
#messagetoolbar a.send {
  background-position: -416px 0;
  background-position: -450px 0;
}
#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 {
@@ -172,7 +180,7 @@
}
#messagetoolbar a.responses {
  background-position: -512px 0;
  background-position: -548px 0;
}
#messagemenu li a.active:hover,
skins/larry/includes/mailtoolbar.html
@@ -15,6 +15,9 @@
<roundcube:endif />
<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: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" />
<div id="forwardmenu" class="popupmenu">
skins/larry/styles.css
@@ -1895,6 +1895,10 @@
    background-position: center -1094px;
}
.toolbar a.button.move {
    background-position: center -1972px;
}
.toolbar a.button.more {
    background-position: center -850px;
}
@@ -2339,6 +2343,10 @@
/*** folder selector ***/
#folder-selector {
    z-index: 1000;
}
#folder-selector li a span {
    background: url("images/listicons.png") 4px -2021px no-repeat;
    display: block;