diff options
author | alecpl <alec@alec.pl> | 2010-06-19 17:46:11 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-06-19 17:46:11 +0000 |
commit | a2e81736a91f72c8688e6ab0f45061369614dae3 (patch) | |
tree | 0912ec132920a80471182cbc52d2d1e6a9b0180e | |
parent | e7ed903a2b25c27470cc54542554adaa63ce372e (diff) |
- Move quota indicator to mailboxlist footer
- Fix groupcontrols on IE6 (use gif)
-rw-r--r-- | program/js/app.js | 7 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 53 | ||||
-rw-r--r-- | skins/default/common.css | 4 | ||||
-rw-r--r-- | skins/default/ie6hacks.css | 12 | ||||
-rw-r--r-- | skins/default/images/icons/groupactions.gif | bin | 0 -> 357 bytes | |||
-rw-r--r-- | skins/default/images/quota.gif | bin | 0 -> 998 bytes | |||
-rw-r--r-- | skins/default/mail.css | 15 | ||||
-rw-r--r-- | skins/default/templates/mail.html | 14 |
8 files changed, 59 insertions, 46 deletions
diff --git a/program/js/app.js b/program/js/app.js index 37bec8287..3b5b72725 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4674,7 +4674,7 @@ function rcube_webmail() 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 @@ function rcube_webmail() 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 @@ function rcube_webmail() // replace quota image $(obj).html('').append(bar1).append(bar2).append(main); + // update #quotaimg title + $('#quotaimg').attr('title', data.title); }; /********************************************************/ diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 1614f4ccc..805f0af97 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -130,7 +130,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') 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 @@ function rcmail_quota_display($attrib) $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 @@ function rcmail_quota_content($attrib=NULL) { 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']); - - if ($display == 'image') { - $quota_result = array( - 'percent' => $quota['percent'], - 'title' => $quota_result, - ); - - if ($attrib['width']) - $quota_result['width'] = $attrib['width']; - if ($attrib['height']) - $quota_result['height'] = $attrib['height']; - } + $quota_result['percent']); + + $quota_result['title'] = $title; - 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; } diff --git a/skins/default/common.css b/skins/default/common.css index 881160f02..f3af5f1a6 100644 --- a/skins/default/common.css +++ b/skins/default/common.css @@ -286,7 +286,7 @@ img 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 @@ img 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 */ } diff --git a/skins/default/ie6hacks.css b/skins/default/ie6hacks.css index 9fa3eb804..f1d74e6ce 100644 --- a/skins/default/ie6hacks.css +++ b/skins/default/ie6hacks.css @@ -49,6 +49,18 @@ img 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); diff --git a/skins/default/images/icons/groupactions.gif b/skins/default/images/icons/groupactions.gif Binary files differnew file mode 100644 index 000000000..15649045e --- /dev/null +++ b/skins/default/images/icons/groupactions.gif diff --git a/skins/default/images/quota.gif b/skins/default/images/quota.gif Binary files differnew file mode 100644 index 000000000..9896d4cae --- /dev/null +++ b/skins/default/images/quota.gif diff --git a/skins/default/mail.css b/skins/default/mail.css index fae7a82a5..70770a50e 100644 --- a/skins/default/mail.css +++ b/skins/default/mail.css @@ -373,16 +373,17 @@ td.formlinks a:visited #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; } diff --git a/skins/default/templates/mail.html b/skins/default/templates/mail.html index 75acbcdd6..2a150dd98 100644 --- a/skins/default/templates/mail.html +++ b/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> @@ -215,13 +222,6 @@ </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> </body> |