diff options
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); |