#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
syntax highlighted by Code2HTML, v. 0.9.1