Permalink
Browse files

Merged devel-threads branch (r3066:3364) back into trunk

  • Loading branch information...
1 parent f4f1c44 commit f52c936f4d451a5d3a87d2501aa5a1701cdafde5 @thomascube thomascube committed Mar 17, 2010
Showing with 2,318 additions and 1,128 deletions.
  1. +4 −0 CHANGELOG
  2. +43 −0 THREADS
  3. +2 −2 bin/msgexport.sh
  4. +8 −5 config/main.inc.php.dist
  5. +2 −0 index.php
  6. +2 −3 program/include/html.php
  7. +0 −1 program/include/rcmail.php
  8. +540 −104 program/include/rcube_imap.php
  9. +20 −0 program/include/rcube_shared.inc
  10. +5 −2 program/include/rcube_user.php
  11. +692 −339 program/js/app.js
  12. +1 −1 program/js/common.js
  13. +254 −20 program/js/list.js
  14. +105 −336 program/lib/imap.inc
  15. +24 −0 program/localization/de_CH/labels.inc
  16. +24 −1 program/localization/en_US/labels.inc
  17. +1 −1 program/localization/pl_PL/labels.inc
  18. +21 −12 program/steps/mail/check_recent.inc
  19. +130 −228 program/steps/mail/func.inc
  20. +17 −4 program/steps/mail/list.inc
  21. +6 −3 program/steps/mail/mark.inc
  22. +7 −3 program/steps/mail/move_del.inc
  23. +2 −2 program/steps/mail/search.inc
  24. +2 −2 program/steps/mail/show.inc
  25. +1 −1 program/steps/mail/viewsource.inc
  26. +13 −11 program/steps/settings/func.inc
  27. +81 −3 program/steps/settings/manage_folders.inc
  28. +1 −1 program/steps/settings/save_prefs.inc
  29. +8 −2 skins/default/common.css
  30. +83 −4 skins/default/functions.js
  31. +7 −6 skins/default/ie6hacks.css
  32. +18 −6 skins/default/iehacks.css
  33. BIN skins/default/images/icons/columnpicker.gif
  34. BIN skins/default/images/icons/unread_children.png
  35. BIN skins/default/images/mail_footer.png
  36. BIN skins/default/images/messageactions.gif
  37. BIN skins/default/images/messageactions.png
  38. +1 −1 skins/default/includes/messagemenu.html
  39. +137 −21 skins/default/mail.css
  40. +56 −3 skins/default/templates/mail.html
View
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
===========================
+- Threaded message listing now available
+- Added sorting by ARRIVAL and CC
+- Message list columns configurable by the user
+- Removed 'index_sort' option, now we're using empty 'message_sort_col' for this
- virtuser_query: support other identity data (#1486148)
- Options virtuser_* replaced with virtuser_* plugins
- Plugin API: Implemented 'email2user' and 'user2email' hooks
View
@@ -0,0 +1,43 @@
+CHANGES IN RELATION TO ORIGINAL PATCH
+ - don't add nested messages into selection on collapse if parent message
+ is in selection
+ - some changes in messages highlighting
+ - re-written all changes in rcube_imap.php
+ - temporary removed threads caching (see TODO)
+ - use depth=0 for roots
+ - thread expand state is not stored anywhere
+ - removed imap_thread_algorithm option, we're using the best algorithm
+ supported by server and implement REFS sorting in Roundcube
+ - use underlined subject for root with unread children (icon is still supported)
+ - on deleting messages the whole list isn't refreshed
+ - added 'expand unread' button
+
+TODO (must have):
+ - threads caching
+ - updating threaded message list on message delete
+ - don't reload messages list on check_recent
+
+TODO (other):
+ - performance: fetching all messages for list in "expand all" state only,
+ if "expand all" is disabled we should fetch only root messages and fetch
+ children on-demand (on expand button click),
+ Notice: this is not so simple, because we need to fetch children
+ to set "unread_children", but we can fetch only flags instead of
+ all headers for each child
+ - button in #listcontrols to mark all messages in current thread (with selected
+ root or child message),
+ + thread tree icons
+ + thread css: message row height, thread/status icon alignment
+ (change size of all list icons to 14x14)
+ - remove 'indexsort' label from localization files
+
+TODO (by the way):
+ - use jQuery.inArray instead of find_in_array() (common.js)
+ + use only one function (js) to generate messages list
+
+KNOWN ISSUES:
+ - on new message (check_recent) the whole list is reloaded
+ + table header replacement doesn't work on IE
+ - css issues on IE6
+ + css issues on IE7
+
View
@@ -89,8 +89,8 @@ function export_mailbox($mbox, $filename)
$from = current($IMAP->decode_address_list($headers->from, 1, false));
fwrite($out, sprintf("From %s %s UID %d\n", $from['mailto'], $headers->date, $headers->uid));
- fwrite($out, iil_C_FetchPartHeader($IMAP->conn, $IMAP->mailbox, $i, null));
- fwrite($out, iil_C_HandlePartBody($IMAP->conn, $IMAP->mailbox, $i, null, 1));
+ fwrite($out, iil_C_FetchPartHeader($IMAP->conn, $mbox, $i, null));
+ fwrite($out, iil_C_HandlePartBody($IMAP->conn, $mbox, $i, null, 1));
fwrite($out, "\n\n\n");
progress_update($i, $count);
@@ -232,10 +232,11 @@ $rcmail_config['plugins'] = array();
// USER INTERFACE
// ----------------------------------
-// default sort col
-$rcmail_config['message_sort_col'] = 'date';
+// default messages sort column. Use empty value for default server's sorting,
+// or 'arrival', 'date', 'subject', 'from', 'to', 'size', 'cc'
+$rcmail_config['message_sort_col'] = '';
-// default sort order
+// default messages sort order
$rcmail_config['message_sort_order'] = 'DESC';
// These cols are shown in the message list. Available cols are:
@@ -461,8 +462,10 @@ $rcmail_config['check_all_folders'] = false;
// If true, after message delete/move, the next message will be displayed
$rcmail_config['display_next'] = false;
-// If true, messages list will be sorted by message index instead of message date
-$rcmail_config['index_sort'] = true;
+// 0 - Do not expand threads
+// 1 - Expand all threads automatically
+// 2 - Expand only threads with unread messages
+$rcmail_config['autoexpand_threads'] = 0;
// When replying place cursor above original message (top posting)
$rcmail_config['top_posting'] = false;
View
@@ -226,6 +226,8 @@
'delete-folder' => 'manage_folders.inc',
'subscribe' => 'manage_folders.inc',
'unsubscribe' => 'manage_folders.inc',
+ 'enable-threading' => 'manage_folders.inc',
+ 'disable-threading' => 'manage_folders.inc',
'add-identity' => 'edit_identity.inc',
)
);
@@ -5,7 +5,7 @@
| program/include/html.php |
| |
| This file is part of the RoundCube Webmail client |
- | Copyright (C) 2005-2009, RoundCube Dev, - Switzerland |
+ | Copyright (C) 2005-2010, RoundCube Dev, - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
@@ -34,8 +34,7 @@ class html
public static $lc_tags = true;
public static $common_attrib = array('id','class','style','title','align');
- public static $containers = array('iframe','div','span','p','h1','h2','h3',
- 'form','textarea','table','tr','th','td','style','script');
+ public static $containers = array('iframe','div','span','p','h1','h2','h3','form','textarea','table','thead','tbody','tr','th','td','style','script');
/**
* Constructor
@@ -410,7 +410,6 @@ public function imap_init($connect = false)
$this->imap = new rcube_imap($this->db);
$this->imap->debug_level = $this->config->get('debug_level');
$this->imap->skip_deleted = $this->config->get('skip_deleted');
- $this->imap->index_sort = $this->config->get('index_sort', true);
// enable caching of imap data
if ($this->config->get('enable_caching')) {
Oops, something went wrong.

0 comments on commit f52c936

Please sign in to comment.