Changeset b37e698 in github


Ignore:
Timestamp:
Dec 23, 2010 6:21:16 AM (2 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
ceb7085
Parents:
7c9850d
Message:

Show the same message only once; increase display time for warnings

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    rfbaaae0 rb37e698  
    11CHANGELOG Roundcube Webmail 
    22=========================== 
     3 
     4- Show the same message only once (#1487641) 
    35 
    46RELEASE 0.5-RC 
  • program/js/app.js

    r3ee5a72 rb37e698  
    3838  // webmail client settings 
    3939  this.dblclick_time = 500; 
    40   this.message_time = 1500; 
     40  this.message_time = 2000; 
    4141 
    4242  this.identifier_expr = new RegExp('[^0-9a-z\-_]', 'gi'); 
     
    45214521    type = type ? type : 'notice'; 
    45224522 
    4523     var date = new Date(), 
    4524       id = type + date.getTime(); 
    4525  
    4526     if (type == 'loading') { 
    4527       if (!msg) 
    4528         msg = this.get_label('loading'); 
    4529  
    4530       // The same message of type 'loading' is already displayed 
    4531       if (this.messages[msg]) { 
    4532         this.messages[msg].elements.push(id); 
    4533         return id; 
    4534       } 
    4535     } 
    4536  
    45374523    var ref = this, 
    4538       obj = $('<div>').addClass(type).html(msg), 
     4524      date = new Date(), 
     4525      id = type + date.getTime(), 
     4526      timeout = type == 'loading' ? this.env.request_timeout * 1000 : (this.message_time * (type == 'error' || type == 'warning' ? 2 : 1)); 
     4527 
     4528    if (type == 'loading' && !msg) 
     4529      msg = this.get_label('loading'); 
     4530 
     4531    // The same message is already displayed 
     4532    if (this.messages[msg]) { 
     4533      this.messages[msg].elements.push(id); 
     4534      window.setTimeout(function() { ref.hide_message(id, true); }, timeout); 
     4535      return id; 
     4536    } 
     4537 
     4538    var obj = $('<div>').addClass(type).html(msg).data('msg', msg), 
    45394539      cont = $(this.gui_objects.message).show(); 
    45404540 
     
    45424542      obj.appendTo(cont); 
    45434543      this.messages[msg] = {'obj': obj, 'elements': [id]}; 
    4544       window.setTimeout(function() { rcmail.hide_message(id); }, this.env.request_timeout * 1000); 
     4544      window.setTimeout(function() { rcmail.hide_message(id); }, timeout); 
    45454545      return id; 
    45464546    } 
    45474547    else { 
    4548       obj.appendTo(cont).bind('mousedown', function() { return ref.hide_message(obj); }); 
    4549       window.setTimeout(function() { ref.hide_message(obj, true); }, 
    4550         this.message_time * (type == 'error' ? 2 : 1)); 
    4551       return obj; 
     4548      obj.appendTo(cont).bind('mousedown', function() { return ref.hide_message(obj, true); }); 
     4549      window.setTimeout(function() { ref.hide_message(id, true); }, timeout); 
     4550      this.messages[msg] = { 'obj': obj, 'elements': [id] }; 
     4551      return id; 
    45524552    } 
    45534553  }; 
     
    45614561 
    45624562    if (typeof(obj) == 'object') { 
    4563       // custom message 
     4563      // hide message object 
    45644564      $(obj)[fade?'fadeOut':'hide'](); 
     4565       
     4566      var msg = $(obj).data('msg'); 
     4567      if (this.messages[msg]) 
     4568        delete this.messages[msg]; 
    45654569    } 
    45664570    else { 
    4567       // 'loading' message 
     4571      // hide message by id 
    45684572      var k, n, m = this.messages; 
    45694573      for (k in m) { 
     
    45714575          if (m[k] && m[k].elements[n] == obj) { 
    45724576            m[k].elements.splice(n, 1); 
     4577            // hide dom element if last instance is removed 
    45734578            if (!m[k].elements.length) { 
    45744579              m[k].obj[fade?'fadeOut':'hide'](); 
Note: See TracChangeset for help on using the changeset viewer.