diff options
author | Thomas <tb@woodcrest.local> | 2013-10-09 12:04:17 +0200 |
---|---|---|
committer | Thomas <tb@woodcrest.local> | 2013-10-09 12:04:17 +0200 |
commit | f540f86d19ae1d374ba3c78fe11eaf3f771af150 (patch) | |
tree | 6e476ed01ed962a9e8fb638e5c60e9c04aecebfc | |
parent | d016dcc6f6a3daf8c19e2ececd3c676cd274381a (diff) |
Prepare message list to display IMAP folder
-rw-r--r-- | program/js/app.js | 4 | ||||
-rw-r--r-- | program/js/list.js | 14 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_imap.php | 1 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_message_header.php | 9 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 4 | ||||
-rw-r--r-- | skins/larry/mail.css | 8 |
6 files changed, 38 insertions, 2 deletions
diff --git a/program/js/app.js b/program/js/app.js index 43ab7be17..1d59794d7 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -5998,8 +5998,10 @@ function rcube_webmail() if ((n = $.inArray('status', this.env.coltypes)) >= 0) this.env.status_col = n; - if (list) + if (list) { + list.hide_column('folder', !(this.env.search_request || this.env.search_id)); list.init_header(); + } }; // replace content of row count display diff --git a/program/js/list.js b/program/js/list.js index 0f8d56c19..32e34e080 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -373,6 +373,20 @@ blur: function() /** + * Set/unset the given column as hidden + */ +hide_column: function(col, hide) +{ + var method = hide ? 'addClass' : 'removeClass'; + + if (this.fixed_header) + $(this.row_tagname()+' '+this.col_tagname()+'.'+col, this.fixed_header)[method]('hidden'); + + $(this.row_tagname()+' '+this.col_tagname()+'.'+col, this.list)[method]('hidden'); +}, + + +/** * onmousedown-handler of message list column */ drag_column: function(e, col) diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index 9faf1bbc6..e0dce6f79 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -1076,6 +1076,7 @@ class rcube_imap extends rcube_storage } foreach ($headers as $h) { + $h->folder = $folder; $a_msg_headers[$h->uid] = $h; } diff --git a/program/lib/Roundcube/rcube_message_header.php b/program/lib/Roundcube/rcube_message_header.php index 2c5e2b6c8..2bda930eb 100644 --- a/program/lib/Roundcube/rcube_message_header.php +++ b/program/lib/Roundcube/rcube_message_header.php @@ -167,6 +167,13 @@ class rcube_message_header public $mdn_to; /** + * IMAP folder this message is stored in + * + * @var string + */ + public $folder; + + /** * Other message headers * * @var array @@ -189,6 +196,8 @@ class rcube_message_header 'reply-to' => 'replyto', 'cc' => 'cc', 'bcc' => 'bcc', + 'mbox' => 'folder', + 'folder' => 'folder', 'content-transfer-encoding' => 'encoding', 'in-reply-to' => 'in_reply_to', 'content-type' => 'ctype', diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 48afecb60..b677c4675 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -363,6 +363,8 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE, $a_show_cols=null $cont = show_bytes($header->$col); else if ($col == 'date') $cont = format_date($header->date); + else if ($col == 'folder') + $cont = Q(rcube_charset::convert($header->folder, 'UTF7-IMAP')); else $cont = Q($header->$col); @@ -386,7 +388,7 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE, $a_show_cols=null $a_msg_flags['prio'] = (int) $header->priority; $a_msg_flags['ctype'] = Q($header->ctype); - $a_msg_flags['mbox'] = $mbox; + $a_msg_flags['mbox'] = $header->folder; // merge with plugin result (Deprecated, use $header->flags) if (!empty($header->list_flags) && is_array($header->list_flags)) diff --git a/skins/larry/mail.css b/skins/larry/mail.css index b65b08112..3c7242b4f 100644 --- a/skins/larry/mail.css +++ b/skins/larry/mail.css @@ -521,6 +521,14 @@ table.messagelist.fixedcopy { width: 135px; } +.messagelist tr td.folder { + width: 135px; +} + +.messagelist tr td.hidden { + display: none; +} + .messagelist tr.message { /* background-color: #fff; */ } |