/*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2007 Hiroyuki Yamamoto and the Claws Mail team
+ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2015 Hiroyuki Yamamoto and 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
*
* 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 __SUMMARY_H__
#include <glib.h>
#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-#include <gtk/gtkitemfactory.h>
-#include <gtk/gtkctree.h>
-#include <gtk/gtkdnd.h>
+#include <gtk/gtk.h>
-typedef struct _SummaryView SummaryView;
+#include "viewtypes.h"
typedef struct _SummaryColumnState SummaryColumnState;
#define MAIL_MANUAL_FILTERING_HOOKLIST "mail_manual_filtering_hooklist"
typedef enum
{
TARGET_MAIL_URI_LIST,
- TARGET_DUMMY
+ TARGET_DUMMY,
+ TARGET_MAIL_CM_PATH_LIST,
} TargetInfo;
#include "mainwindow.h"
-#include "folderview.h"
-#include "headerview.h"
-#include "messageview.h"
#include "compose.h"
#include "folder.h"
#include "gtksctree.h"
#include "prefs_filtering.h"
#include "quicksearch.h"
-extern GtkTargetEntry summary_drag_types[2];
+extern GtkTargetEntry summary_drag_types[3];
struct _SummaryColumnState
{
GtkWidget *colorlabel_menu;
GtkWidget *tags_menu;
- GtkItemFactory *popupfactory;
-
GtkWidget *window;
- GtkCTreeNode *selected;
- GtkCTreeNode *displayed;
- GtkCTreeNode *last_displayed;
+ GtkCMCTreeNode *selected;
+ GtkCMCTreeNode *displayed;
gboolean display_msg;
/* current message status */
gint unreadmarked;
- off_t total_size;
+ goffset total_size;
gint deleted;
gint moved;
gint copied;
gint folder_update_callback_id;
GtkTargetList *target_list; /* DnD */
-
- GtkTooltips *tips;
+
+ // folders with matches for recursive quicksearch queries
+ GSList *recursive_matched_folders;
+ FolderItem *search_root_folder;
+
+ guint mark_as_read_timeout_tag;
};
-SummaryView *summary_create(void);
+SummaryView *summary_create(MainWindow *mainwin);
void summaryview_destroy(SummaryView *summaryview);
void summary_init (SummaryView *summaryview);
gboolean summary_show (SummaryView *summaryview,
void summary_unlock (SummaryView *summaryview);
void summary_freeze (SummaryView *summaryview);
void summary_thaw (SummaryView *summaryview);
+void summary_thaw_with_status (SummaryView *summaryview);
void summary_grab_focus (SummaryView *summaryview);
GtkWidget *summary_get_main_widget(SummaryView *summaryview);
gboolean summary_is_locked (SummaryView *summaryview);
MsgInfo *summary_get_selected_msg (SummaryView *summaryview);
GSList *summary_get_selected_msg_list (SummaryView *summaryview);
+void summary_select_prev (SummaryView *summaryview);
+void summary_select_next (SummaryView *summaryview);
void summary_select_prev_unread (SummaryView *summaryview);
void summary_select_next_unread (SummaryView *summaryview);
void summary_select_prev_new (SummaryView *summaryview);
void summary_select_next_marked (SummaryView *summaryview);
void summary_select_prev_labeled (SummaryView *summaryview);
void summary_select_next_labeled (SummaryView *summaryview);
-void summary_select_last_read (SummaryView *summaryview);
void summary_select_parent (SummaryView *summaryview);
void summary_select_by_msgnum (SummaryView *summaryview,
guint msgnum);
+void summary_display_by_msgnum (SummaryView *summaryview,
+ guint msgnum);
+void summary_select_by_msg_list (SummaryView *summaryview, GSList *msginfos);
guint summary_get_current_msgnum (SummaryView *summaryview);
void summary_select_node (SummaryView *summaryview,
- GtkCTreeNode *node,
- gboolean display_msg,
- gboolean do_refresh);
+ GtkCMCTreeNode *node,
+ gint force_display);
void summary_expand_threads (SummaryView *summaryview);
void summary_collapse_threads (SummaryView *summaryview);
void summary_cancel (SummaryView *summaryview);
gboolean summary_execute (SummaryView *summaryview);
+gboolean summary_expunge (SummaryView *summaryview);
void summary_attract_by_subject (SummaryView *summaryview);
void summary_toggle_view (SummaryView *summaryview);
void summary_set_marks_selected (SummaryView *summaryview);
guint summary_get_msgnum (SummaryView *summaryview,
- GtkCTreeNode *node);
+ GtkCMCTreeNode *node);
void summary_move_selected_to (SummaryView *summaryview,
FolderItem *to_folder);
void summary_print (SummaryView *summaryview);
void summary_mark (SummaryView *summaryview);
void summary_unmark (SummaryView *summaryview);
-void summary_mark_as_unread (SummaryView *summaryview);
void summary_mark_as_read (SummaryView *summaryview);
+void summary_mark_as_unread (SummaryView *summaryview);
void summary_msgs_lock (SummaryView *summaryview);
void summary_msgs_unlock (SummaryView *summaryview);
void summary_mark_all_read (SummaryView *summaryview);
+void summary_mark_all_unread (SummaryView *summaryview);
void summary_mark_as_spam (SummaryView *summaryview,
guint action,
GtkWidget *widget);
void summary_select_all (SummaryView *summaryview);
void summary_unselect_all (SummaryView *summaryview);
void summary_select_thread (SummaryView *summaryview,
- gboolean delete_thread);
+ gboolean delete_thread,
+ gboolean trash_thread);
void summary_set_colorlabel (SummaryView *summaryview,
guint labelcolor,
void summary_toggle_show_read_messages
(SummaryView *summaryview);
+void summary_toggle_show_read_threads
+ (SummaryView *summaryview);
+void summary_toggle_show_del_messages
+ (SummaryView *summaryview);
void summary_toggle_view_real (SummaryView *summaryview);
void summary_relayout(SummaryView *summaryview);
void summary_update_unread(SummaryView *summaryview, FolderItem *removed_item);
gboolean summary_is_list(SummaryView *summaryview);
+gboolean summaryview_search_root_progress(gpointer data, guint at, guint matched, guint total);
#endif /* __SUMMARY_H__ */