Aleksander Machniak
2015-09-20 82dcbb7488ce1625ba4f41fbdc8e6319d3da9691
skins/larry/ui.js
@@ -1,5 +1,3 @@
// @license http://creativecommons.org/publicdomain/zero/1.0/legalcode CC0
/**
 * Roundcube functions for default skin interface
 *
@@ -9,6 +7,8 @@
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original autors in the README file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 *
 * @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0
 */
function rcube_mail_ui()
@@ -149,7 +149,12 @@
        rcmail.addEventListener('enable-command', enable_command)
          .addEventListener('aftershow-headers', function() { layout_messageview(); })
          .addEventListener('afterhide-headers', function() { layout_messageview(); });
        $('#previewheaderstoggle').click(function(e){ toggle_preview_headers(); return false });
        $('#previewheaderstoggle').click(function(e) {
            toggle_preview_headers();
            if (this.blur && !rcube_event.is_keyboard(e))
                this.blur();
            return false;
        });
        // add menu link for each attachment
        $('#attachment-list > li').each(function() {
@@ -169,11 +174,15 @@
      }
      else if (rcmail.env.action == 'compose') {
        rcmail.addEventListener('aftersend-attachment', show_uploadform)
          .addEventListener('add-recipient', function(p){ show_header_row(p.field, true); })
          .addEventListener('aftertoggle-editor', function(e){
          .addEventListener('aftertoggle-editor', function(e) {
            window.setTimeout(function(){ layout_composeview() }, 200);
            if (e && e.mode)
              $("select[name='editorSelector']").val(e.mode);
          })
          .addEventListener('compose-encrypted', function(e) {
            $("select[name='editorSelector']").prop('disabled', e.active);
            $('a.button.attach, a.button.responses')[(e.active?'addClass':'removeClass')]('disabled');
            $('#responseslist a.insertresponse')[(e.active?'removeClass':'addClass')]('active');
          });
        // Show input elements with non-empty value
@@ -226,6 +235,8 @@
        if (previewframe)
          mailviewsplit.init();
        rcmail.init_pagejumper('#pagejumper');
        rcmail.addEventListener('setquota', update_quota)
          .addEventListener('enable-command', enable_command)
          .addEventListener('afterimport-messages', show_uploadform);
@@ -272,19 +283,22 @@
          orientation:'v', relative:true, start:266, min:180, size:12 }).init();
      }
      else if (rcmail.env.action == 'edit-prefs') {
        $('<a href="#toggle"></a>')
        var legend = $('#preferences-details fieldset.advanced legend'),
          toggle = $('<a href="#toggle"></a>')
            .text(env.toggleoptions)
            .attr('title', env.toggleoptions)
            .addClass('advanced-toggle')
            .appendTo('#preferences-details fieldset.advanced legend');
            .addClass('advanced-toggle');
          $('#preferences-details fieldset.advanced legend').click(function(e){
            var collapsed = $(this).hasClass('collapsed'),
              toggle = $('.advanced-toggle', this).html(collapsed ? '&#9650;' : '&#9660;');
            $(this)
              .toggleClass('collapsed')
              .closest('fieldset').children('.propform').toggle()
          }).addClass('collapsed')
        legend.click(function(e) {
          toggle.html($(this).hasClass('collapsed') ? '&#9650;' : '&#9660;');
          $(this).toggleClass('collapsed')
            .closest('fieldset').children('.propform').toggle()
        }).append(toggle).addClass('collapsed')
        // this magically fixes incorrect position of toggle link created above in Firefox 3.6
        if (bw.mz)
          legend.parents('form').css('display', 'inline');
      }
    }
    /***  addressbook task  ***/
@@ -411,6 +425,7 @@
      if (me.message_timer) {
        window.clearTimeout(me.message_timer);
      }
      if (!me.messagedialog) {
        me.messagedialog = $('<div>').addClass('popupdialog').hide();
      }
@@ -421,7 +436,7 @@
          me.messagedialog.is(':visible') && me.messagedialog.dialog('destroy').hide();
        };
      if (me.messagedialog.is(':visible'))
      if (me.messagedialog.is(':visible') && me.messagedialog.text() != msg)
        msg = me.messagedialog.html() + '<p>' + p.message + '</p>';
      me.messagedialog.html(msg)
@@ -456,6 +471,14 @@
    if (!$('#attachment-list li').length) {
      $('div.rightcol').hide().attr('aria-hidden', 'true');
      $('div.leftcol').css('margin-right', '0');
    }
    var mvlpe = $('#messagebody.mailvelope');
    if (mvlpe.length) {
      var h = $('#messagecontent').length ?
        $('#messagecontent').height() - 16 :
        $(window).height() - mvlpe.offset().top - 10;
      mvlpe.height(h);
    }
  }
@@ -523,6 +546,7 @@
      y -= step;
    element.css('background-position', '0 -' + y + 'px');
    element.attr('class', 'countdisplay p' + (Math.round(p.percent / 10) * 10));
    if (p.table) {
      if (!menu.length)
@@ -1004,6 +1028,10 @@
      return;
    }
    // do nothing if mailvelope editor is active
    if (rcmail.mailvelope_editor)
      return;
    // add icons to clone file input field
    if (rcmail.env.action == 'compose' && !$dialog.data('extended')) {
      $('<a>')
@@ -1138,14 +1166,11 @@
   */
  function show_about(elem)
  {
    var frame = $('<iframe>').attr('id', 'aboutframe')
      .attr('src', rcmail.url('settings/about'))
      .attr('frameborder', '0')
      .appendTo(document.body);
    var frame = $('<iframe>').attr({id: 'aboutframe', src: rcmail.url('settings/about'), frameborder: '0'});
      h = Math.floor($(window).height() * 0.75),
      buttons = {},
      supportln = $('#supportlink');
    var h = Math.floor($(window).height() * 0.75);
    var buttons = {};
    var supportln = $('#supportlink');
    if (supportln.length && (env.supporturl = supportln.attr('href')))
      buttons[supportln.html()] = function(e){ env.supporturl.indexOf('mailto:') < 0 ? window.open(env.supporturl) : location.href = env.supporturl };