summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-20 10:32:52 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-20 10:32:52 +0200
commit2355045dedc96274ca6b1c29612006e736b6f540 (patch)
treeb573b7bd48d40e21d26c1d21f9259508e14f7a90
parentc8bc8c97f3f6e5c04fa7b459bdb1c922d7f4e6ad (diff)
Change Reply-All button label/title when mailing list is detected (#1488938)
-rw-r--r--CHANGELOG1
-rw-r--r--program/js/app.js1
-rw-r--r--program/js/common.js3
-rw-r--r--program/steps/mail/func.inc2
-rw-r--r--program/steps/mail/show.inc2
-rw-r--r--skins/classic/functions.js11
-rw-r--r--skins/larry/ui.js14
7 files changed, 29 insertions, 5 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 83b8b3db4..f671629bc 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Change Reply-All button label/title when mailing list is detected (#1488938)
- Fix SMTP connection using IPv6 address in smtp_server option (#1489024)
- Added attachment_reminder plugin
- Make PHP code eval() free, use create_function()
diff --git a/program/js/app.js b/program/js/app.js
index b98272493..1f0b95410 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1179,6 +1179,7 @@ function rcube_webmail()
if (typeof cmd === 'string') {
this.commands[cmd] = enable;
this.set_button(cmd, (enable ? 'act' : 'pas'));
+ this.triggerEvent('enable-command', {command: cmd, status: enable});
}
// push array elements into commands array
else {
diff --git a/program/js/common.js b/program/js/common.js
index f7c0a7536..53dce8cc2 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -298,8 +298,7 @@ addEventListener: function(evt, func, obj)
if (!this._events[evt])
this._events[evt] = [];
- var e = {func:func, obj:obj ? obj : window};
- this._events[evt][this._events[evt].length] = e;
+ this._events[evt].push({func:func, obj:obj ? obj : window});
},
/**
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index fc22366c0..661d3fbbb 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -120,7 +120,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') {
if (!$OUTPUT->ajax_call)
$OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
'movingmessage', 'copyingmessage', 'deletingmessage', 'markingmessage',
- 'copy', 'move', 'quota');
+ 'copy', 'move', 'quota', 'replyall', 'replylist');
$pagetitle = $RCMAIL->localize_foldername($RCMAIL->storage->mod_folder($mbox_name), true);
$pagetitle = str_replace($delimiter, " \xC2\xBB ", $pagetitle);
diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 2ad1ba9bd..d8d4372f9 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -116,7 +116,7 @@ if ($uid) {
if (!$OUTPUT->ajax_call)
$OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
- 'movingmessage', 'deletingmessage', 'markingmessage');
+ 'movingmessage', 'deletingmessage', 'markingmessage', 'replyall', 'replylist');
$prefer_html = $RCMAIL->config->get('prefer_html');
if ($MESSAGE->has_html_part()) {
diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index 0d2f2231a..d980627aa 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -617,6 +617,14 @@ prev_sibling: function(elm)
while (ps && ps.nodeType == 3)
ps = ps.previousSibling;
return ps;
+},
+
+enable_command: function(p)
+{
+ if (p.command == 'reply-list') {
+ var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
+ $('a.button.replyAll').attr('title', label);
+ }
}
};
@@ -792,7 +800,7 @@ function percent_indicator(obj, data)
var bar2 = $('<div>');
bar2.css({position: 'absolute', top: pos.top + 1, left: pos.left + 1,
width: width + 'px', height: height + 'px', zIndex: 98})
- .addClass('quota_bg');
+ .addClass('quota_bg');
if (quota >= limit_high) {
main.addClass(' quota_text_high');
@@ -835,6 +843,7 @@ function rcube_init_mail_ui()
.contents().mouseup(function(e){rcmail_ui.body_mouseup(e)});
if (rcmail.env.task == 'mail') {
+ rcmail.addEventListener('enable-command', 'enable_command', rcmail_ui);
rcmail.addEventListener('menu-open', 'menu_open', rcmail_ui);
rcmail.addEventListener('menu-save', 'menu_save', rcmail_ui);
rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui);
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index a461b64a0..693448097 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -94,6 +94,7 @@ function rcube_mail_ui()
}
if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') {
+ rcmail.addEventListener('enable-command', enable_command);
rcmail.addEventListener('aftershow-headers', function() { layout_messageview(); });
rcmail.addEventListener('afterhide-headers', function() { layout_messageview(); });
$('#previewheaderstoggle').click(function(e){ toggle_preview_headers(); return false });
@@ -145,6 +146,7 @@ function rcube_mail_ui()
new rcube_scroller('#folderlist-content', '#folderlist-header', '#folderlist-footer');
rcmail.addEventListener('setquota', update_quota);
+ rcmail.addEventListener('enable-command', enable_command);
}
if ($('#mailview-left').length) {
@@ -435,6 +437,18 @@ function rcube_mail_ui()
}
+ function enable_command(p)
+ {
+ if (p.command == 'reply-list') {
+ var label = rcmail.gettext(p.status ? 'replylist' : 'replyall');
+ if (rcmail.env.action == 'preview')
+ $('a.button.replyall').attr('title', label);
+ else
+ $('a.button.reply-all').text(label).attr('title', label);
+ }
+ }
+
+
/**
* Register a popup menu
*/