Changeset e97f010 in github


Ignore:
Timestamp:
Mar 8, 2012 5:00:42 AM (15 months ago)
Author:
alecpl <alec@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.8
Children:
fe83748
Parents:
c388257
Message:
  • Scroll long lists on drag&drop (#1485946)
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    r8b3c68d re97f010  
    22=========================== 
    33 
     4- Scroll long lists on drag&drop (#1485946) 
    45- Fix handling of % character in IMAP protocol (#1488382) 
    56- Fix duplicate names handling in addressbook searches (#1488375) 
  • skins/default/functions.js

    r2c193722 re97f010  
    559559}; 
    560560 
     561/** 
     562 * Scroller 
     563 */ 
     564 
     565function rcmail_scroller(list, top, bottom) 
     566{ 
     567  var ref = this; 
     568 
     569  this.list = $(list); 
     570  this.top = $(top); 
     571  this.bottom = $(bottom); 
     572  this.step_size = 6; 
     573  this.step_time = 20; 
     574  this.delay = 500; 
     575 
     576  this.top 
     577    .mouseenter(function() { ref.ts = window.setTimeout(function() { ref.scroll('down'); }, ref.delay); }) 
     578    .mouseout(function() { if (ref.ts) window.clearTimeout(ref.ts); }); 
     579 
     580  this.bottom 
     581    .mouseenter(function() { ref.ts = window.setTimeout(function() { ref.scroll('up'); }, ref.delay); }) 
     582    .mouseout(function() { if (ref.ts) window.clearTimeout(ref.ts); }); 
     583 
     584  this.scroll = function(dir) 
     585  { 
     586    var ref = this, size = this.step_size; 
     587 
     588    if (!rcmail.drag_active) 
     589      return; 
     590 
     591    if (dir == 'down') 
     592      size *= -1; 
     593 
     594    this.list.get(0).scrollTop += size; 
     595    this.ts = window.setTimeout(function() { ref.scroll(dir); }, this.step_time); 
     596  }; 
     597}; 
     598 
    561599 
    562600// Events handling in iframes (eg. preview pane) 
     
    566604  var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null; 
    567605  rcube_event.add_listener({ element: doc, object:rcmail_ui, method:'body_mouseup', event:'mouseup' }); 
    568 } 
     606}; 
    569607 
    570608// Abbreviate mailbox names to fit width of the container 
     
    593631    elem.contents().filter(function(){ return (this.nodeType == 3); }).get(0).data = abbrev; 
    594632  }); 
    595 } 
     633}; 
    596634 
    597635// inspired by https://gist.github.com/24261/7fdb113f1e26111bd78c0c6fe515f6c0bf418af5 
     
    637675 
    638676  return result; 
    639 } 
     677}; 
    640678 
    641679function update_quota(data) 
    642680{ 
    643681  percent_indicator(rcmail.gui_objects.quotadisplay, data); 
    644 } 
     682}; 
    645683 
    646684// percent (quota) indicator 
     
    706744  // update #quotaimg title 
    707745  $('#quotaimg').attr('title', data.title); 
    708 } 
     746}; 
    709747 
    710748// Optional parameters used by TinyMCE 
     
    741779      rcmail.addEventListener('responseaftercheck-recent', rcube_render_mailboxlist); 
    742780      rcmail.addEventListener('aftercollapse-folder', rcube_render_mailboxlist); 
     781 
     782      new rcmail_scroller('#mailboxlist-content', '#mailboxlist-title', '#mailboxlist-footer'); 
    743783    } 
    744784 
     
    748788  else if (rcmail.env.task == 'addressbook') { 
    749789    rcmail.addEventListener('afterupload-photo', function(){ rcmail_ui.show_popup('uploadform', false); }); 
     790 
     791    if (rcmail.gui_objects.folderlist) 
     792      new rcmail_scroller('#directorylist-content', '#directorylist-title', '#directorylist-footer'); 
     793  } 
     794  else if (rcmail.env.task == 'settings') { 
     795    if (rcmail.gui_objects.subscriptionlist) 
     796      new rcmail_scroller('#folderlist-content', '#folderlist-title', '#folderlist-footer'); 
    750797  } 
    751798} 
  • skins/default/templates/addressbook.html

    r1de8f4e re97f010  
    5353<div id="directorylistbox"> 
    5454<div id="directorylist-title" class="boxtitle"><roundcube:label name="groups" /></div> 
    55 <div class="boxlistcontent"> 
     55<div id="directorylist-content" class="boxlistcontent"> 
    5656  <roundcube:object name="directorylist" id="directorylist" /> 
    5757  <roundcube:object name="groupslist" id="contactgroupslist" /> 
    5858</div> 
    59 <div class="boxfooter"> 
     59<div id="directorylist-footer" class="boxfooter"> 
    6060  <roundcube:button command="group-create" type="link" title="newcontactgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " /> 
    6161  <roundcube:button name="groupmenulink" id="groupmenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('groupmenu');return false" content=" " /> 
  • skins/default/templates/folders.html

    r1de8f4e re97f010  
    2222 
    2323<div id="folder-manager"> 
    24 <div id="folder-title" class="boxtitle"><span class="rightalign"><roundcube:label name="subscribed" /></span><roundcube:label name="folders" /></div> 
    25 <div class="boxlistcontent"> 
     24<div id="folderlist-title" class="boxtitle"><span class="rightalign"><roundcube:label name="subscribed" /></span><roundcube:label name="folders" /></div> 
     25<div id="folderlist-content" class="boxlistcontent"> 
    2626    <roundcube:object name="foldersubscription" form="subscriptionform" id="subscription-table" noheader="true" 
    2727        cellpadding="1" cellspacing="0" summary="Folder subscription table" class="records-table" /> 
    2828</div> 
    29 <div class="boxfooter"> 
     29<div id="folderlist-footer" class="boxfooter"> 
    3030    <roundcube:button command="create-folder" type="link" title="createfolder" class="buttonPas addgroup" classAct="button addgroup" content=" " /> 
    3131    <roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " /> 
  • skins/default/templates/mail.html

    r1de8f4e re97f010  
    2828<div id="mailboxlist-container"> 
    2929<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div> 
    30 <div class="boxlistcontent"> 
     30<div id="mailboxlist-content"  class="boxlistcontent"> 
    3131<roundcube:object name="mailboxlist" id="mailboxlist" folder_filter="mail" /> 
    3232</div> 
    33 <div class="boxfooter"> 
     33<div id="mailboxlist-footer" class="boxfooter"> 
    3434  <roundcube:button name="mailboxmenulink" id="mailboxmenulink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_popup('mailboxmenu');return false" content=" " /> 
    3535 
Note: See TracChangeset for help on using the changeset viewer.