Changeset 5905 in subversion


Ignore:
Timestamp:
Feb 25, 2012 10:20:36 AM (15 months ago)
Author:
thomasb
Message:

Make popups disapear when clicking on an iframe; adapt IE hacks (#1488354)

Location:
trunk/roundcubemail/skins/larry
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/skins/larry/ie7hacks.css

    r5889 r5905  
    6060ul.toolbarmenu li a { 
    6161        width: 140px; 
     62} 
     63 
     64.dropbutton .dropbuttontip { 
     65        right: 0; 
    6266} 
    6367 
  • trunk/roundcubemail/skins/larry/iehacks.css

    r5889 r5905  
    129129} 
    130130 
    131 #mailboxlist li.mailbox.selected .unreadcount { 
     131#mailboxlist li.mailbox.selected > a .unreadcount { 
    132132        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005d76', endColorstr='#004558', GradientType=0); 
    133133} 
  • trunk/roundcubemail/skins/larry/ui.js

    r5889 r5905  
    174174    $('.tabbed').each(function(idx, elem){ init_tabs(elem); }) 
    175175 
    176     $(document.body).bind('mouseup', function(e){ 
    177       var config, obj, target = e.target; 
    178       for (var id in popups) { 
    179         obj = popups[id]; 
    180         config = popupconfig[id]; 
    181         if (obj.is(':visible') 
    182           && target.id != id+'link' 
    183           && !config.toggle 
    184           && (!config.editable || !target_overlaps(target, obj.get(0))) 
    185           && (!config.sticky || !rcube_mouse_is_over(e, obj.get(0))) 
    186         ) { 
    187           var myid = id+''; 
    188           window.setTimeout(function(){ show_popupmenu(myid, false) }, 10); 
    189         } 
    190       } 
    191     }) 
     176    $(document.body).bind('mouseup', body_mouseup) 
    192177    .bind('keyup', function(e){ 
    193178      if (e.keyCode == 27) { 
     
    199184    }); 
    200185 
     186    $('iframe').load(function(e){ 
     187      // this = iframe 
     188      var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null; 
     189      $(doc).mouseup(body_mouseup); 
     190    }) 
     191    .contents().mouseup(body_mouseup); 
     192 
    201193    $(window).resize(function(e) { 
    202194      // check target due to bugs in jquery 
     
    205197      if (e.target == window) resize(); 
    206198    }); 
     199  } 
     200 
     201  /** 
     202   * Handler for mouse-up events on the document body. 
     203   * This will close all open popup menus 
     204   */ 
     205  function body_mouseup(e) 
     206  { 
     207    var config, obj, target = e.target; 
     208    for (var id in popups) { 
     209      obj = popups[id]; 
     210      config = popupconfig[id]; 
     211      if (obj.is(':visible') 
     212        && target.id != id+'link' 
     213        && !config.toggle 
     214        && (!config.editable || !target_overlaps(target, obj.get(0))) 
     215        && (!config.sticky || !rcube_mouse_is_over(e, obj.get(0))) 
     216      ) { 
     217        var myid = id+''; 
     218        window.setTimeout(function(){ show_popupmenu(myid, false) }, 10); 
     219      } 
     220    } 
    207221  } 
    208222 
Note: See TracChangeset for help on using the changeset viewer.