claws-mail/src/advsearch.h
Colin Leroy 5bf542dc47 2012-09-21 [colin] 3.8.1cvs68
* src/Makefile.am
	* src/advsearch.c ** ADDED **
	* src/advsearch.h ** ADDED **
	* src/folder.c
	* src/folder.h
	* src/folderview.c
	* src/imap.c
	* src/main.c
	* src/matcher.c
	* src/matcher.h
	* src/matchertypes.h ** ADDED **
	* src/mh.c
	* src/mimeview.c
	* src/news.c
	* src/proctypes.h
	* src/summary_search.c
	* src/summaryview.c
	* src/summaryview.h
	* src/gtk/quicksearch.c
	* src/gtk/quicksearch.h
		Separated GUI and logic for search
		Use same logic for quicksearch and folder search
		Patch by Sean Buckheister <s_buckhe@cs.uni-kl.de>
2012-09-21 10:19:43 +00:00

60 lines
1.9 KiB
C

/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
* Copyright (C) 2012 the Claws Mail team
*
* 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; either version 3 of the License, or
* (at your option) any later version.
*
* 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ADVSEARCH_H
#define ADVSEARCH_H 1
#include "proctypes.h"
#include "folder.h"
// temporary
#include "matcher.h"
typedef enum
{
ADVANCED_SEARCH_SUBJECT,
ADVANCED_SEARCH_FROM,
ADVANCED_SEARCH_TO,
ADVANCED_SEARCH_EXTENDED,
ADVANCED_SEARCH_MIXED,
ADVANCED_SEARCH_TAG,
} AdvancedSearchType;
typedef struct _AdvancedSearch AdvancedSearch;
void advsearch_set_on_progress_cb(AdvancedSearch* search,
gboolean (*cb)(gpointer data, guint at, guint matched, guint total), gpointer data);
void advsearch_set_on_error_cb(AdvancedSearch* search, void (*cb)(gpointer data), gpointer data);
AdvancedSearch *advsearch_new();
void advsearch_free(AdvancedSearch *search);
void advsearch_set(AdvancedSearch *search, AdvancedSearchType type, const gchar *matchstring);
gboolean advsearch_is_fast(AdvancedSearch *search);
gboolean advsearch_has_proper_predicate(AdvancedSearch *search);
gboolean advsearch_search_msgs_in_folders(AdvancedSearch* search, MsgInfoList **messages,
FolderItem* folderItem, gboolean recursive);
void advsearch_abort(AdvancedSearch *search);
gchar *advsearch_expand_search_string(const gchar *search_string);
#endif