summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2011-01-19 17:34:23 +0000
committerthomascube <thomas@roundcube.net>2011-01-19 17:34:23 +0000
commitbc374503bba543bf62caa7f3dcf27b837cb929a0 (patch)
tree50244aaac54b8748d9a255426967255201f59cda
parent1c6c2c6dc2786d57e8c29de3fe83d70d09e71fd1 (diff)
Show full mail subject as title (#1487128)
-rw-r--r--program/js/app.js13
-rw-r--r--program/steps/mail/func.inc2
2 files changed, 13 insertions, 2 deletions
diff --git a/program/js/app.js b/program/js/app.js
index 786915a15..e78ac2715 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1715,7 +1715,7 @@ function rcube_webmail()
var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show';
var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid';
cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+uid+'"'+
- ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>';
+ ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>';
}
// add each submitted col
@@ -5503,6 +5503,17 @@ function rcube_webmail()
} // end object rcube_webmail
+
+// some static methods
+rcube_webmail.long_subject_title = function(elem, indent)
+{
+ if (!elem.title) {
+ var $elem = $(elem);
+ if ($elem.width() + indent * 15 > $elem.parent().width())
+ elem.title = $elem.html();
+ }
+};
+
// copy event engine prototype
rcube_webmail.prototype.addEventListener = rcube_event_engine.prototype.addEventListener;
rcube_webmail.prototype.removeEventListener = rcube_event_engine.prototype.removeEventListener;
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 6648f7aee..720c8ebec 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -273,7 +273,7 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE, $a_show_cols=null
if (in_array($col, array('from', 'to', 'cc', 'replyto')))
$cont = Q(rcmail_address_string($header->$col, 3), 'show');
else if ($col=='subject') {
- $cont = abbreviate_string(trim($IMAP->decode_header($header->$col)), 160);
+ $cont = trim($IMAP->decode_header($header->$col));
if (!$cont) $cont = rcube_label('nosubject');
$cont = Q($cont);
}