File: folder.h

package info (click to toggle)
elmo 1.3.0-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,244 kB
  • ctags: 3,673
  • sloc: ansic: 24,299; sh: 4,169; lex: 3,626; cpp: 2,739; perl: 1,047; pascal: 811; makefile: 359; yacc: 318
file content (182 lines) | stat: -rw-r--r-- 6,429 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#ifndef __FOLDER_H__
#define __FOLDER_H__ 1
/* 
   elmo - ELectronic Mail Operator

   Copyright (C) 2002, 2003, 2004 rzyjontko

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

*/
/*****************************************************************************
 *    INTERFACE REQUIRED HEADERS
 ****************************************************************************/

#include "mail.h"

/*****************************************************************************
 *    INTERFACE DEFINITIONS / ENUMERATIONS / SIMPLE TYPEDEFS
 ****************************************************************************/
/****************************************************************************
 *    INTERFACE CLASS PROTOTYPES / EXTERNAL CLASS REFERENCES
 ****************************************************************************/
/****************************************************************************
 *    INTERFACE STRUCTURES / UTILITY CLASSES
 ****************************************************************************/
/****************************************************************************
 *    INTERFACE DATA DECLARATIONS
 ****************************************************************************/
/****************************************************************************
 *    INTERFACE FUNCTION PROTOTYPES (FOR OTHER MODULES)
 ****************************************************************************/

extern mail_t *folder_mail_selected (void);
extern void    folder_init (void);
extern void    folder_free_resources (void);
extern int     folder_read_box (char *name);

/****************************************************************************
 *    INTERFACE FUNCTION PROTOTYPES (USER INTERFACE)
 ****************************************************************************/

/**
 * bar movement
 */
/** move on to the next page */
extern void folder_page_next (void);
/** move to the previous page */
extern void folder_page_prev (void);
/** move bar to the next position */
extern void folder_bar_next (void);
/** move bar to the previous position */
extern void folder_bar_prev (void);
/** move bar to the first position */
extern void folder_bar_first (void);
/** move bar to the last position */
extern void folder_bar_last (void);
/** scroll window down */
extern void folder_scroll_down (void);
/** scroll window up */
extern void folder_scroll_up (void);
/** place bar in a center of the screen */
extern void folder_recenter (void);
/** move bar to next unread message */
extern void folder_next_unread (void);
/** move bar to previous unread message */
extern void folder_prev_unread (void);
extern void folder_redraw (void);
extern void folder_refresh (void);

/** re-read mailbox */
extern void folder_update (void);
/** remove spam and refresh the view */
extern void folder_flush (void);

/**
 * searching
 */
/** search forward */
extern void folder_search_forward (void);
/** search backward */
extern void folder_search_backward (void);

/**
 * sorting
 */
/** group mails in threads */
extern void folder_sort_threads (void);
/** sort messages by date */
extern void folder_sort_date (void);
/** sort messages by from */
extern void folder_sort_from (void);
/** sort messages by subject */
extern void folder_sort_subject (void);

/**
 * flagging
 */
/** toggle flag */
extern void folder_toggle_flag (void);
/** flag all messages */
extern void folder_flag_all (void);
/** unflag all messages */
extern void folder_unflag_all (void);
/** invert flag */
extern void folder_flag_invert (void);
/*+
  Set flag on all the messages, that are duplicates of other
  messages in the box.  It is useful to remove them.
  +*/
/** flag messages that are duplicates */
extern void folder_flag_duplicates (void);
/** removes message flag */
extern void folder_remove_flag (void);


extern void folder_set_focus (void);
extern void folder_unset_focus (void);

/**
 * spam
 */
/** check if selected messages are spam */
extern void folder_spam_check (void);
/** check all messages that were not checked if they are spam */
extern void folder_spam_check_all (void);
/** delete message as a spam */
extern void folder_spam_delete (void);
/** scan messages according to their spam indicator and delete spam */
extern void folder_spam_flush (void);
/** unmark message incorrectly recognized as spam */
extern void folder_spam_is_not (void);

extern void folder_after_read (void);
extern void folder_after_reply (void);
extern void folder_after_fwd (void);
/*+
  If you have a trash field defined in your .elmorc file, than move
  selected messages to trash folder.  Otherwise delete them.
  +*/
/** delete a message (or move to trash) */
extern void folder_delete_mail (void);

/*+
  Remove selected messages from the box.  It is then impossible
  to recover them.
  +*/
/** permanently delete message */
extern void folder_kill_mail (void);

/** move selected message to another box */
extern void folder_move_mail (void);
/** mark selected messages as read */
extern void folder_make_read (void);

/** this function is executed each time a box is being left */
extern void folder_at_leave (void);
/** this function is executed each time a bar in folder moves */
extern void folder_at_bar_move (void);

/****************************************************************************
 *    INTERFACE OBJECT CLASS DEFINITIONS
 ****************************************************************************/
/****************************************************************************
 *    INTERFACE TRAILING HEADERS
 ****************************************************************************/
/****************************************************************************
 *
 *    END HEADER folder.h
 *
 ****************************************************************************/
#endif