diff options
author | Not Zed <NotZed@HelixCode.com> | 2000-12-16 16:55:37 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2000-12-16 16:55:37 +0800 |
commit | a228c210b00d7f2967389f186238315ce0d2d1b0 (patch) | |
tree | 228fbc995de7844447c7c34cd895dfe965e3376c /mail/message-list.h | |
parent | ace6de83603f50292c1864783247506494a4f40b (diff) | |
download | gsoc2013-evolution-a228c210b00d7f2967389f186238315ce0d2d1b0.tar.gz gsoc2013-evolution-a228c210b00d7f2967389f186238315ce0d2d1b0.tar.zst gsoc2013-evolution-a228c210b00d7f2967389f186238315ce0d2d1b0.zip |
Always use the slow (full-update) version of the tree update code, to get
2000-12-16 Not Zed <NotZed@HelixCode.com>
* message-list.c (build_tree): Always use the slow (full-update)
version of the tree update code, to get around a bug(?) in etree.
(build_flat): Likewise.
2000-12-15 Not Zed <NotZed@HelixCode.com>
* mail-display.c (write_data_to_file): Dont blindly convert all
parts to utf8, e.g. image/jpg. We only convert text/* parts, and
only then if required.
2000-12-14 Not Zed <NotZed@HelixCode.com>
* component-factory.c (create_view): cast over a warning.
* folder-browser-factory.c: Add verbs for hide functions.
* message-list.c (message_list_hide_clear):
(message_list_hide_uids):
(message_list_hide_add): Some api renaming.
(message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean
not to change the upper/lower range at all.
(hide_save_state): Save the state of the hide list to stable
storage.
(hide_load_state): Load the state of hte hide list.
(message_list_set_folder): Load/save the state of the folder if it
is changed/set.
(message_list_destroy): Save the state of the folder hide list
when done.
(save_tree_state): If we wrote out an empty state file, simply
remove it instead.
* folder-browser.c (on_right_click): Add some hide menus.
(hide_read): Hide read messages.
(hide_deleted): Hide deleted messages.
(hide_selected): Hide selected/current message.
(hide_none): Show all hidden messages.
(on_right_click): Lock around accesses to the message (inside
mlist_detect_magic).
(on_right_click): Free the mailing list name.
2000-12-13 Not Zed <NotZed@HelixCode.com>
* folder-browser.c (on_right_click): Add camel locking since we
call it directly. Whoever heard of a lock you 'down' to unlock?
* message-list.c (mail_do_regenerate_messagelist): Added hide
expression, messages to hide. Fixed all callers.
(do_regenerate_messagelist): IF we have a hide expression, search
and remove those from the uid list. If we have a hide range,
apply that afterwards.
(cleanup_regenerate_messagelist): Handle freeing the hide uid
temporary data, if required.
(message_list_destroy): Free hide data, also lock around all camel
object stuff.
(message_list_length): New function to get the number of messages
avaialble to be hidden by range.
(message_list_set_hide): Set the hide expression and range.
Issue: Should hiding be remembered?
(message_list_unhide_all): Turn off all hiding.
(message_list_hide_uids): Hide a list of uid's.
svn path=/trunk/; revision=7061
Diffstat (limited to 'mail/message-list.h')
-rw-r--r-- | mail/message-list.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mail/message-list.h b/mail/message-list.h index 0cdf0f78ea..8e150c8a3d 100644 --- a/mail/message-list.h +++ b/mail/message-list.h @@ -41,6 +41,11 @@ enum { #define MESSAGE_LIST_COLUMN_IS_ACTIVE(col) (col == COL_MESSAGE_STATUS || \ col == COL_FLAGGED) +#define ML_HIDE_NONE_START (0) +#define ML_HIDE_NONE_END (2147483647) +/* dont change */ +#define ML_HIDE_SAME (2147483646) + struct _MessageList { ETableScrolled parent; @@ -56,6 +61,13 @@ struct _MessageList { GHashTable *uid_rowmap; struct _EMemPool *uid_pool; + /* UID's to hide. Keys in the mempool */ + /* IMPORTANT: You MUST have obtained the camel lock, to operate on these structures */ + GHashTable *hidden; + struct _EMemPool *hidden_pool; + int hide_unhidden, /* total length, before hiding */ + hide_before, hide_after; /* hide ranges of messages */ + /* Current search string, or %NULL */ char *search; @@ -100,6 +112,14 @@ void message_list_select (MessageList *message_list, MessageListSelectDirection direction, guint32 flags, guint32 mask); +/* info */ +unsigned int message_list_length(MessageList *ml); + +/* hide specific messages */ +void message_list_hide_add(MessageList *ml, const char *expr, unsigned int lower, unsigned int upper); +void message_list_hide_uids(MessageList *ml, GPtrArray *uids); +void message_list_hide_clear(MessageList *ml); + void message_list_set_threaded(MessageList *ml, gboolean threaded); void message_list_set_search(MessageList *ml, const char *search); |