NeoMutt  2021-02-05-89-gabe350
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 */
find_virtual
struct Email * find_virtual(struct MuttThread *cur, int reverse)
Find an email with a Virtual message number.
Definition: thread.c:122
thread_hash_destructor
void thread_hash_destructor(int type, void *obj, intptr_t data)
Hash Destructor callback - Implements hash_hdata_free_t.
Definition: thread.c:111
MuttThread::prev
struct MuttThread * prev
Previous sibling Thread.
Definition: thread.h:48
clean_references
void clean_references(struct MuttThread *brk, struct MuttThread *cur)
Update email references for a broken Thread.
Definition: thread.c:173
MuttThread::parent
struct MuttThread * parent
Parent of this Thread.
Definition: thread.h:45
MuttThread::child
struct MuttThread * child
Child of this Thread.
Definition: thread.h:46
MuttThread::next_subtree_visible
bool next_subtree_visible
Is the next Thread subtree visible?
Definition: thread.h:43
Email::old
bool old
Email is seen, but unread.
Definition: email.h:50
is_descendant
bool is_descendant(struct MuttThread *a, struct MuttThread *b)
Is one thread a descendant of another.
Definition: thread.c:44
MuttThread::fake_thread
bool fake_thread
Emails grouped by Subject.
Definition: thread.h:36
MuttThread::subtree_visible
unsigned int subtree_visible
Is this Thread subtree visible?
Definition: thread.h:42
MuttThread::message
struct Email * message
Email this Thread refers to.
Definition: thread.h:49
MuttThread::duplicate_thread
bool duplicate_thread
Duplicated Email in Thread.
Definition: thread.h:37
MuttThread
An Email conversation.
Definition: thread.h:34
mutt_break_thread
void mutt_break_thread(struct Email *e)
Break the email Thread.
Definition: thread.c:225
MuttThread::sort_key
struct Email * sort_key
Email that this Thread is sorted against.
Definition: thread.h:50
insert_message
void insert_message(struct MuttThread **add, struct MuttThread *parent, struct MuttThread *cur)
Insert a message into a thread.
Definition: thread.c:94
unlink_message
void unlink_message(struct MuttThread **old, struct MuttThread *cur)
Break the message out of the thread.
Definition: thread.c:64
MuttThread::visible
bool visible
Is this Thread visible?
Definition: thread.h:40
MuttThread::sort_children
bool sort_children
Sort the children.
Definition: thread.h:38
MuttThread::check_subject
bool check_subject
Should the Subject be checked?
Definition: thread.h:39
MuttThread::next
struct MuttThread * next
Next sibling Thread.
Definition: thread.h:47
Email
The envelope/body of an email.
Definition: email.h:37
MuttThread::deep
bool deep
Is the Thread deeply nested?
Definition: thread.h:41