Changeset 4101 in subversion


Ignore:
Timestamp:
Oct 17, 2010 1:43:05 PM (3 years ago)
Author:
alec
Message:
  • Add separate column for message status icon (#1486665)
Location:
trunk/roundcubemail
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/CHANGELOG

    r4099 r4101  
    3232- Display IMAP errors for LIST/THREAD/SEARCH commands (#1486905) 
    3333- Add LITERAL+ (IMAP4 non-synchronizing literals) support (RFC2088) 
     34- Add separate column for message status icon (#1486665) 
    3435 
    3536RELEASE 0.4.2 
  • trunk/roundcubemail/config/main.inc.php.dist

    r4074 r4101  
    294294 
    295295// These cols are shown in the message list. Available cols are: 
    296 // subject, from, to, cc, replyto, date, size, flag, attachment 
    297 $rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size', 'flag', 'attachment'); 
     296// subject, from, to, cc, replyto, date, size, status, flag, attachment 
     297$rcmail_config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment'); 
    298298 
    299299// the default locale setting (leave empty for auto-detection) 
  • trunk/roundcubemail/program/js/app.js

    r4083 r4101  
    15511551      $.extend(row, this.env.messages[uid]); 
    15521552 
    1553     // set eventhandler to message icon 
    1554     if (this.env.subject_col != null && (row.icon = document.getElementById('msgicn'+row.uid))) { 
     1553    row.msgicon = document.getElementById('msgicn'+row.uid); 
     1554 
     1555    // set eventhandler to message status icon 
     1556    if (row.icon = document.getElementById('statusicn'+row.uid)) { 
    15551557      row.icon._row = row.obj; 
    15561558      row.icon.onmousedown = function(e) { self.command('toggle_status', this); rcube_event.cancel(e); }; 
     
    16191621    row.className = css_class; 
    16201622 
    1621     // message status icon 
     1623    // message status icons 
    16221624    css_class = 'msgicon'; 
    16231625    if (!flags.unread && flags.unread_children > 0) 
    16241626      css_class += ' unreadchildren'; 
    1625     if (flags.deleted) 
    1626       css_class += ' deleted'; 
    1627     else if (flags.replied || flags.forwarded) { 
    1628       if (flags.replied) 
    1629         css_class += ' replied'; 
    1630       if (flags.forwarded) 
    1631         css_class += ' forwarded'; 
    1632     } 
    1633     else if (flags.unread) 
    1634       css_class += ' unread'; 
     1627    if (flags.replied) 
     1628      css_class += ' replied'; 
     1629    if (flags.forwarded) 
     1630      css_class += ' forwarded'; 
    16351631 
    16361632    // update selection 
     
    16931689        else 
    16941690          html = ' '; 
     1691      } 
     1692      else if (c == 'status') { 
     1693        if (flags.deleted) 
     1694          css_class = 'deleted'; 
     1695        else if (flags.unread) 
     1696          css_class = 'unread'; 
     1697        else 
     1698          css_class = 'msgicon'; 
     1699        html = '<span id="statusicn'+uid+'" class="'+css_class+'">&nbsp;</span>'; 
    16951700      } 
    16961701      else if (c == 'threads') 
     
    22222227 
    22232228    if (rows[uid].icon) { 
     2229      if (rows[uid].deleted) 
     2230        css_class = 'deleted'; 
     2231      else if (rows[uid].unread) 
     2232        css_class = 'unread'; 
     2233      else 
     2234        css_class = 'msgicon'; 
     2235 
     2236      rows[uid].icon.className = css_class; 
     2237    } 
     2238 
     2239    if (rows[uid].msgicon) { 
    22242240      css_class = 'msgicon'; 
    22252241      if (!rows[uid].unread && rows[uid].unread_children) 
    22262242        css_class += ' unreadchildren'; 
    2227       if (rows[uid].deleted) 
    2228         css_class += ' deleted'; 
    2229       else if (rows[uid].replied || rows[uid].forwarded) { 
    2230         if (rows[uid].replied) 
    2231           css_class += ' replied'; 
    2232         if (rows[uid].forwarded) 
    2233           css_class += ' forwarded'; 
    2234       } 
    2235       else if (rows[uid].unread) 
    2236         css_class += ' unread'; 
    2237  
    2238       rows[uid].icon.className = css_class; 
     2243      if (rows[uid].replied) 
     2244        css_class += ' replied'; 
     2245      if (rows[uid].forwarded) 
     2246        css_class += ' forwarded'; 
     2247 
     2248      rows[uid].msgicon.className = css_class; 
    22392249    } 
    22402250 
  • trunk/roundcubemail/program/localization/en_US/labels.inc

    r4059 r4101  
    5353$labels['priority'] = 'Priority'; 
    5454$labels['organization'] = 'Organization'; 
     55$labels['readstatus'] = 'Read status'; 
    5556 
    5657// aliases 
  • trunk/roundcubemail/program/localization/pl_PL/labels.inc

    r4059 r4101  
    4747$labels['date'] = 'Data'; 
    4848$labels['size'] = 'Rozmiar'; 
     49$labels['readstatus'] = 'Przeczytano'; 
    4950$labels['priority'] = 'Priorytet'; 
    5051$labels['organization'] = 'Organizacja'; 
  • trunk/roundcubemail/program/steps/mail/func.inc

    r4084 r4101  
    256256    return; 
    257257 
    258   // remove 'threads', 'attachment', 'flag' columns, we don't need them here 
    259   if (($key = array_search('attachment', $a_show_cols)) !== FALSE) 
    260     unset($a_show_cols[$key]); 
    261   if (($key = array_search('flag', $a_show_cols)) !== FALSE) 
    262     unset($a_show_cols[$key]); 
    263   if (($key = array_search('threads', $a_show_cols)) !== FALSE) 
    264     unset($a_show_cols[$key]); 
     258  // remove 'threads', 'attachment', 'flag', 'status' columns, we don't need them here 
     259  foreach (array('threads', 'attachment', 'flag', 'status') as $col) { 
     260    if (($key = array_search($col, $a_show_cols)) !== FALSE) 
     261      unset($a_show_cols[$key]); 
     262  } 
     263 
    265264  // loop through message headers 
    266  
    267   foreach ($a_headers as $n => $header) 
    268     { 
     265  foreach ($a_headers as $n => $header) { 
    269266    if (empty($header)) 
    270267      continue; 
     
    276273 
    277274    // format each col; similar as in rcmail_message_list() 
    278     foreach ($a_show_cols as $col) 
    279       { 
     275    foreach ($a_show_cols as $col) { 
    280276      if (in_array($col, array('from', 'to', 'cc', 'replyto'))) 
    281277        $cont = Q(rcmail_address_string($header->$col, 3), 'show'); 
    282       else if ($col=='subject') 
    283         { 
     278      else if ($col=='subject') { 
    284279        $cont = abbreviate_string(trim($IMAP->decode_header($header->$col)), 160); 
    285280        if (!$cont) $cont = rcube_label('nosubject'); 
    286281        $cont = Q($cont); 
    287         } 
     282      } 
    288283      else if ($col=='size') 
    289284        $cont = show_bytes($header->$col); 
     
    294289 
    295290      $a_msg_cols[$col] = $cont; 
    296       } 
     291    } 
    297292 
    298293    if ($header->depth) 
     
    333328      $a_msg_flags, 
    334329      $insert_top); 
    335     } 
    336  
    337     if ($IMAP->threading) { 
    338       $OUTPUT->command('init_threads', (array) $roots); 
    339     } 
     330  } 
     331 
     332  if ($IMAP->threading) { 
     333    $OUTPUT->command('init_threads', (array) $roots); 
     334  } 
    340335} 
    341336 
     
    381376        break; 
    382377      case 'attachment': 
    383         $col_name = '<span class="attachment">&nbsp;</span>'; 
     378      case 'status': 
     379        $col_name = '<span class="' . $col .'">&nbsp;</span>'; 
    384380        break; 
    385381      case 'threads': 
  • trunk/roundcubemail/skins/default/ie6hacks.css

    r4064 r4101  
    129129#messagelist tr td.flag span.flagged, 
    130130#messagelist tr td.flag span.unflagged:hover, 
     131#messagelist tr td.status span.status, 
     132#messagelist tr td.status span.msgicon, 
     133#messagelist tr td.status span.unread, 
     134#messagelist tr td.status span.deleted, 
    131135#messagelist tr td.subject span.msgicon, 
    132136#messagelist tr td.subject span.msgicon.replied, 
    133137#messagelist tr td.subject span.msgicon.forwarded, 
    134 #messagelist tr td.subject span.msgicon.deleted, 
    135 #messagelist tr td.subject span.msgicon.unread, 
    136138#messagelist tr td.subject span.msgicon.unreadchildren 
    137139{ 
  • trunk/roundcubemail/skins/default/mail.css

    r4094 r4101  
    702702} 
    703703 
    704 #messagelist tbody tr td.flag 
     704#messagelist tbody tr td.flag, 
     705#messagelist tbody tr td.status 
    705706{ 
    706707  cursor: pointer; 
     
    708709 
    709710#messagelist tr td.flag span, 
     711#messagelist tr td.status span, 
    710712#messagelist tr td.attachment span 
    711713{ 
     
    720722#messagelist tr td.flag span.flagged, 
    721723#messagelist tr td.flag span.unflagged:hover, 
     724#messagelist tr td.status span.status, 
     725#messagelist tr td.status span.msgicon, 
     726#messagelist tr td.status span.deleted, 
     727#messagelist tr td.status span.unread, 
    722728#messagelist tr td.subject span.msgicon, 
    723729#messagelist tr td.subject span.msgicon.replied, 
    724730#messagelist tr td.subject span.msgicon.forwarded, 
    725 #messagelist tr td.subject span.msgicon.deleted, 
    726 #messagelist tr td.subject span.msgicon.unread, 
    727731#messagelist tr td.subject span.msgicon.unreadchildren 
    728732{ 
     
    758762  background-position: 0 -51px; 
    759763  margin: 0 2px; 
    760   cursor: pointer; 
    761764} 
    762765 
     
    776779} 
    777780 
    778 #messagelist tr td.subject span.msgicon.deleted 
     781#messagelist tr td.status span.msgicon 
     782{ 
     783  background-position: 0 -51px; 
     784} 
     785 
     786#messagelist tr td.status span.deleted 
    779787{ 
    780788  background-position: 0 -187px; 
    781789} 
    782790 
    783 #messagelist tr td.subject span.msgicon.unread 
     791#messagelist tr td.status span.status, 
     792#messagelist tr td.status span.unread 
    784793{ 
    785794  background-position: 0 -119px; 
     
    822831#messagelist tr td.attachment, 
    823832#messagelist tr td.threads, 
     833#messagelist tr td.status, 
    824834#messagelist tr td.flag 
    825835{ 
    826   width: 19px; 
    827   padding: 0 2px; 
     836  width: 17px; 
     837  padding: 0 0 0 2px; 
    828838} 
    829839 
  • trunk/roundcubemail/skins/default/templates/mail.html

    r4061 r4101  
    190190    <li><input type="checkbox" name="list_col[]" value="date" id="cols_date" /><label for="cols_date"><roundcube:label name="date" /></label></li> 
    191191    <li><input type="checkbox" name="list_col[]" value="size" id="cols_size" /><label for="cols_size"><roundcube:label name="size" /></label></li> 
     192    <li><input type="checkbox" name="list_col[]" value="status" id="cols_status" /><label for="cols_status"><roundcube:label name="readstatus" /></label></li> 
    192193    <li><input type="checkbox" name="list_col[]" value="attachment" id="cols_attachment" /><label for="cols_attachment"><roundcube:label name="attachment" /></label></li> 
    193194    <li><input type="checkbox" name="list_col[]" value="flag" id="cols_flag" /><label for="cols_flag"><roundcube:label name="flag" /></label></li> 
Note: See TracChangeset for help on using the changeset viewer.