Aleksander Machniak
2016-05-09 5b3a86da57a47a723f89d8dd64ce484002b8e4bb
skins/larry/ui.js
@@ -136,6 +136,7 @@
      rcmail.addEventListener('menu-open', menu_toggle)
        .addEventListener('menu-close', menu_toggle)
        .addEventListener('menu-save', save_listoptions)
        .addEventListener('enable-command', enable_command)
        .addEventListener('responseafterlist', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) })
        .addEventListener('responseaftersearch', function(e){ switch_view_mode(rcmail.env.threading ? 'thread' : 'list', true) });
@@ -146,9 +147,9 @@
      }
      if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') {
        rcmail.addEventListener('enable-command', enable_command)
          .addEventListener('aftershow-headers', function() { layout_messageview(); })
        rcmail.addEventListener('aftershow-headers', function() { layout_messageview(); })
          .addEventListener('afterhide-headers', function() { layout_messageview(); });
        $('#previewheaderstoggle').click(function(e) {
            toggle_preview_headers();
            if (this.blur && !rcube_event.is_keyboard(e))
@@ -159,7 +160,7 @@
        // add menu link for each attachment
        $('#attachment-list > li').each(function() {
          $(this).append($('<a class="drop" tabindex="0" aria-haspopup="true">Show options</a>')
              .bind('click keypress', function(e) {
              .on('click keypress', function(e) {
                  if (e.type != 'keypress' || rcube_event.get_keycode(e) == 13) {
                      attachmentmenu(this, e);
                      return false;
@@ -171,13 +172,22 @@
        if (get_pref('previewheaders') == '1') {
          toggle_preview_headers();
        }
        if (rcmail.env.action == 'show') {
            $('#messagecontent').focus()
        }
      }
      else if (rcmail.env.action == 'compose') {
        rcmail.addEventListener('aftersend-attachment', show_uploadform)
          .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,14 +236,13 @@
        $('#mailthreadmode').addClass(rcmail.env.threading ? 'selected' : '').click(function(e) { switch_view_mode('thread'); return false; });
        mailviewsplit = new rcube_splitter({ id:'mailviewsplitter', p1:'#mailview-top', p2:'#mailview-bottom',
          orientation:'h', relative:true, start:310, min:150, size:12, offset:4 });
          orientation:'h', relative:true, start:276, min:150, size:12, offset:4 });
        if (previewframe)
          mailviewsplit.init();
        rcmail.init_pagejumper('#pagejumper');
        rcmail.addEventListener('setquota', update_quota)
          .addEventListener('enable-command', enable_command)
          .addEventListener('afterimport-messages', show_uploadform);
      }
      else if (rcmail.env.action == 'get') {
@@ -300,7 +309,9 @@
    else if (rcmail.env.task == 'addressbook') {
      rcmail.addEventListener('afterupload-photo', show_uploadform)
        .addEventListener('beforepushgroup', push_contactgroup)
        .addEventListener('beforepopgroup', pop_contactgroup);
        .addEventListener('beforepopgroup', pop_contactgroup)
        .addEventListener('menu-open', menu_toggle)
        .addEventListener('menu-close', menu_toggle);
      if (rcmail.env.action == '') {
        new rcube_splitter({ id:'addressviewsplitterd', p1:'#addressview-left', p2:'#addressview-right',
@@ -468,7 +479,7 @@
      $('div.leftcol').css('margin-right', '0');
    }
    var mvlpe = $('#messagebody.mailvelope');
    var mvlpe = $('#messagebody.mailvelope, #messagebody > .mailvelope');
    if (mvlpe.length) {
      var h = $('#messagecontent').length ?
        $('#messagecontent').height() - 16 :
@@ -595,6 +606,10 @@
        $('a.button.replyall').attr('title', label);
      else
        $('a.button.reply-all').text(label).attr('title', label);
    }
    else if (p.command == 'compose-encrypted') {
      // show the toolbar button for Mailvelope
      $('a.button.encrypt').show();
    }
  }
@@ -813,11 +828,11 @@
  {
    var id = elem.parentNode.id.replace(/^attach/, '');
    $('#attachmenuopen').unbind('click').attr('onclick', '').click(function(e) {
    $('#attachmenuopen').off('click').attr('onclick', '').click(function(e) {
      return rcmail.command('open-attachment', id, this);
    });
    $('#attachmenudownload').unbind('click').attr('onclick', '').click(function() {
    $('#attachmenudownload').off('click').attr('onclick', '').click(function() {
      rcmail.command('download-attachment', id, this);
    });
@@ -838,7 +853,7 @@
        li = $('<li role="menuitem">');
        link = $('<a href="#'+k+'" tabindex="0"></a>').text(rcmail.env.spell_langs[k])
          .addClass('active').data('lang', k)
          .bind('click keypress', function(e) {
          .on('click keypress', function(e) {
              if (e.type != 'keypress' || rcube_event.get_keycode(e) == 13) {
                  rcmail.spellcheck_lang_set($(this).data('lang'));
                  rcmail.hide_menu('spellmenu', e);
@@ -1022,6 +1037,10 @@
      $dialog.dialog('close');
      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')) {
@@ -1262,7 +1281,7 @@
      .attr('role', 'presentation')
      .addClass('splitter ' + (this.horizontal ? 'splitter-h' : 'splitter-v'))
      .appendTo(this.parent)
      .bind('mousedown', onDragStart);
      .mousedown(onDragStart);
    if (this.horizontal) {
      var top = this.p1pos.top + this.p1.outerHeight();
@@ -1343,7 +1362,7 @@
    me.drag_active = true;
    // start listening to mousemove events
    $(document).bind('mousemove.'+this.id, onDrag).bind('mouseup.'+this.id, onDragStop);
    $(document).on('mousemove.' + this.id, onDrag).on('mouseup.' + this.id, onDragStop);
    // enable dragging above iframes
    $('iframe').each(function(i, elem) {
@@ -1420,7 +1439,7 @@
      document.body.style.webkitUserSelect = 'auto';
    // cancel the listening for drag events
    $(document).unbind('.'+me.id);
    $(document).off('.' + me.id);
    me.drag_active = false;
    // remove temp divs