summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-06-19 17:46:11 +0000
committeralecpl <alec@alec.pl>2010-06-19 17:46:11 +0000
commita2e81736a91f72c8688e6ab0f45061369614dae3 (patch)
tree0912ec132920a80471182cbc52d2d1e6a9b0180e
parente7ed903a2b25c27470cc54542554adaa63ce372e (diff)
- Move quota indicator to mailboxlist footer
- Fix groupcontrols on IE6 (use gif)
-rw-r--r--program/js/app.js7
-rw-r--r--program/steps/mail/func.inc53
-rw-r--r--skins/default/common.css4
-rw-r--r--skins/default/ie6hacks.css12
-rw-r--r--skins/default/images/icons/groupactions.gifbin0 -> 357 bytes
-rw-r--r--skins/default/images/quota.gifbin0 -> 998 bytes
-rw-r--r--skins/default/mail.css15
-rw-r--r--skins/default/templates/mail.html14
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
new file mode 100644
index 000000000..15649045e
--- /dev/null
+++ b/skins/default/images/icons/groupactions.gif
Binary files differ
diff --git a/skins/default/images/quota.gif b/skins/default/images/quota.gif
new file mode 100644
index 000000000..9896d4cae
--- /dev/null
+++ b/skins/default/images/quota.gif
Binary files differ
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>