alecpl
2010-06-19 a2e81736a91f72c8688e6ab0f45061369614dae3
- Move quota indicator to mailboxlist footer
- Fix groupcontrols on IE6 (use gif)


6 files modified
2 files added
103 ■■■■■ changed files
program/js/app.js 7 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 51 ●●●● patch | view | raw | blame | history
skins/default/common.css 4 ●●●● patch | view | raw | blame | history
skins/default/ie6hacks.css 12 ●●●●● patch | view | raw | blame | history
skins/default/images/icons/groupactions.gif patch | view | raw | blame | history
skins/default/images/quota.gif patch | view | raw | blame | history
skins/default/mail.css 15 ●●●● patch | view | raw | blame | history
skins/default/templates/mail.html 14 ●●●● patch | view | raw | blame | history
program/js/app.js
@@ -4674,7 +4674,7 @@
  this.set_quota = function(content)
  {
    if (content && this.gui_objects.quotadisplay) {
      if (typeof(content) == 'object')
      if (typeof(content) == 'object' && content.type == 'image')
        this.percent_indicator(this.gui_objects.quotadisplay, content);
      else
        $(this.gui_objects.quotadisplay).html(content);
@@ -4834,6 +4834,9 @@
      quota = 100; 
    }
    if (data.title)
      data.title = this.get_label('quota') + ': ' +  data.title;
    // main div
    var main = $('<div>');
    main.css({position: 'absolute', top: pos.top, left: pos.left,
@@ -4864,6 +4867,8 @@
    // replace quota image
    $(obj).html('').append(bar1).append(bar2).append(main);
    // update #quotaimg title
    $('#quotaimg').attr('title', data.title);
  };
  /********************************************************/
program/steps/mail/func.inc
@@ -130,7 +130,7 @@
  if (!$OUTPUT->ajax_call)
    $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
      'movingmessage', 'copyingmessage', 'copy', 'move');
      'movingmessage', 'copyingmessage', 'copy', 'move', 'quota');
  $OUTPUT->set_pagetitle(rcmail_localize_foldername($mbox_name));
  }
@@ -449,13 +449,10 @@
  $quota = rcmail_quota_content($attrib);
  if (is_array($quota)) {
    $OUTPUT->add_script('$(document).ready(function(){
  $OUTPUT->add_script('$(document).ready(function(){
    rcmail.set_quota('.json_serialize($quota).')});', 'foot');
    $quota = '';
    }
  return html::span($attrib, $quota);
  return html::span($attrib, '');
  }
@@ -463,39 +460,37 @@
  {
  global $COMM_PATH, $RCMAIL;
  $display = isset($_SESSION['quota_display']) ? $_SESSION['quota_display'] : '';
  $quota = $RCMAIL->imap->get_quota();
  $quota = $RCMAIL->plugins->exec_hook('quota', $quota);
  if (!$quota['total'] && $RCMAIL->config->get('quota_zero_as_unlimited'))
    return rcube_label('unlimited');
  $quota_result = (array) $quota;
  $quota_result['type'] = isset($_SESSION['quota_display']) ? $_SESSION['quota_display'] : '';
  if ($quota['total'])
    {
  if (!$quota['total'] && $RCMAIL->config->get('quota_zero_as_unlimited')) {
    $quota_result['title'] = rcube_label('unlimited');
    $quota_result['percent'] = 0;
    }
  else if ($quota['total']) {
    if (!isset($quota['percent']))
      $quota['percent'] = min(100, round(($quota['used']/max(1,$quota['total']))*100));
      $quota_result['percent'] = min(100, round(($quota['used']/max(1,$quota['total']))*100));
    $quota_result = sprintf('%s / %s (%.0f%%)',
    $title = sprintf('%s / %s (%.0f%%)',
        show_bytes($quota['used'] * 1024), show_bytes($quota['total'] * 1024),
        $quota['percent']);
        $quota_result['percent']);
    if ($display == 'image') {
      $quota_result = array(
        'percent'     => $quota['percent'],
        'title'        => $quota_result,
      );
    $quota_result['title'] = $title;
      if ($attrib['width'])
        $quota_result['width'] = $attrib['width'];
      if ($attrib['height'])
        $quota_result['height']    = $attrib['height'];
      }
      return $quota_result;
    if ($attrib['width'])
      $quota_result['width'] = $attrib['width'];
    if ($attrib['height'])
      $quota_result['height']    = $attrib['height'];
    }
  else {
    $quota_result['title'] = rcube_label('unknown');
    $quota_result['percent'] = 0;
    }
  return rcube_label('unknown');
  return $quota_result;
  }
skins/default/common.css
@@ -286,7 +286,7 @@
  overflow: hidden;
  height: 22px;
  border-top: 1px solid #999;
  background: url('images/listheader.gif') top left repeat-x #CCC;
  background: url(images/listheader.gif) top left repeat-x #CCC;
}
.boxfooter a.button,
@@ -299,7 +299,7 @@
  padding: 0px;
  margin: 0;
  overflow: hidden;
  background: url('images/icons/groupactions.png') 0 0 no-repeat transparent;
  background: url(images/icons/groupactions.png) 0 0 no-repeat transparent;
  opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
skins/default/ie6hacks.css
@@ -49,6 +49,18 @@
  padding-right: 10px;
}
.boxfooter a.button,
.boxfooter a.buttonPas
{
  background-image: url(images/icons/groupactions.gif);
}
.pagenav a.button,
.pagenav a.buttonPas
{
  background-image: url(images/pagenav.gif);
}
#listcontrols a.button,
#listcontrols a.buttonPas {
  background-image: url(images/mail_footer.gif);
skins/default/images/icons/groupactions.gif
skins/default/images/quota.gif
skins/default/mail.css
@@ -373,16 +373,17 @@
#quota
{
  position: absolute;
  bottom: 12px;
  left: 20px;
  top: 3px;
  right: 8px;
  width: 100px;
}
#quota span
#quotaimg
{
  display: block;
  float: left;
  font-size: 11px;
  color: #666;
  position: absolute;
  top: 3px;
  right: 6px;
  z-index: 101;
}
skins/default/templates/mail.html
@@ -33,6 +33,13 @@
<div class="boxfooter">
  <!--<roundcube:button name="togglequota" type="link" title="showquota" class="buttonPas showinfo" classAct="button showinfo" onclick="rcmail_ui.toggle_quotadisplay();return false" content=" " />-->
  <roundcube:button name="mboxactions" id="mboxactionslink" type="link" title="folderactions" class="button groupactions" onclick="rcmail_ui.show_mailboxmenu();return false" content=" " />
<roundcube:if condition="env:quota" />
<img id="quotaimg" src="/images/quota.gif" alt="" />
<div id="quota">
  <roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
</div>
<roundcube:endif />
</div>
</div>
@@ -214,13 +221,6 @@
  <roundcube:button command="menu-save" id="listmenusave" type="input" class="button mainaction" label="save" />
</div>
</div>
<roundcube:if condition="env:quota" />
<div id="quota">
  <span style="margin-right: 5px"><roundcube:label name="quota" />:</span>
  <roundcube:object name="quotaDisplay" display="image" width="100" height="14" id="quotadisplay" />
</div>
<roundcube:endif />
<div id="rcmversion"><roundcube:object name="productname" /> <roundcube:object name="version" /></div>