NeoMutt  2020-08-07-1-gab41a1
Teaching an old dog new tricks
DOXYGEN
thread.h
Go to the documentation of this file.
1 
23 #ifndef MUTT_EMAIL_THREAD_H
24 #define MUTT_EMAIL_THREAD_H
25 
26 #include <stdbool.h>
27 #include <stdint.h>
28 
29 struct Email;
30 
34 struct MuttThread
35 {
36  bool fake_thread : 1;
37  bool duplicate_thread : 1;
38  bool sort_children : 1;
39  bool check_subject : 1;
40  bool visible : 1;
41  bool deep : 1;
42  unsigned int subtree_visible : 2;
44 
45  struct MuttThread *parent;
46  struct MuttThread *child;
47  struct MuttThread *next;
48  struct MuttThread *prev;
49  struct Email *message;
50  struct Email *sort_key;
51 };
52 
53 void clean_references (struct MuttThread *brk, struct MuttThread *cur);
54 struct Email *find_virtual (struct MuttThread *cur, int reverse);
55 void insert_message (struct MuttThread **add, struct MuttThread *parent, struct MuttThread *cur);
56 bool is_descendant (struct MuttThread *a, struct MuttThread *b);
57 void mutt_break_thread (struct Email *e);
58 void thread_hash_destructor(int type, void *obj, intptr_t data);
59 void unlink_message (struct MuttThread **old, struct MuttThread *cur);
60 
61 #endif /* MUTT_EMAIL_THREAD_H */
void clean_references(struct MuttThread *brk, struct MuttThread *cur)
Update email references for a broken Thread.
Definition: thread.c:173
struct MuttThread * next
Next sibling Thread.
Definition: thread.h:47
The envelope/body of an email.
Definition: email.h:37
bool is_descendant(struct MuttThread *a, struct MuttThread *b)
Is one thread a descendant of another.
Definition: thread.c:44
bool deep
Is the Thread deeply nested?
Definition: thread.h:41
void thread_hash_destructor(int type, void *obj, intptr_t data)
Hash Destructor callback - Implements hash_hdata_free_t.
Definition: thread.c:111
void mutt_break_thread(struct Email *e)
Break the email Thread.
Definition: thread.c:225
struct MuttThread * parent
Parent of this Thread.
Definition: thread.h:45
bool next_subtree_visible
Is the next Thread subtree visible?
Definition: thread.h:43
struct MuttThread * prev
Previous sibling Thread.
Definition: thread.h:48
bool old
Email is seen, but unread.
Definition: email.h:50
void insert_message(struct MuttThread **add, struct MuttThread *parent, struct MuttThread *cur)
Insert a message into a thread.
Definition: thread.c:94
struct MuttThread * child
Child of this Thread.
Definition: thread.h:46
bool duplicate_thread
Duplicated Email in Thread.
Definition: thread.h:37
struct Email * sort_key
Email that this Thread is sorted against.
Definition: thread.h:50
bool fake_thread
Emails grouped by Subject.
Definition: thread.h:36
void unlink_message(struct MuttThread **old, struct MuttThread *cur)
Break the message out of the thread.
Definition: thread.c:64
unsigned int subtree_visible
Is this Thread subtree visible?
Definition: thread.h:42
struct Email * message
Email this Thread refers to.
Definition: thread.h:49
An Email conversation.
Definition: thread.h:34
bool sort_children
Sort the children.
Definition: thread.h:38
bool visible
Is this Thread visible?
Definition: thread.h:40
bool check_subject
Should the Subject be checked?
Definition: thread.h:39
struct Email * find_virtual(struct MuttThread *cur, int reverse)
Find an email with a Virtual message number.
Definition: thread.c:122