* src/folderview.c
[claws.git] / src / summaryview.h
index 0a678c9985260a152d3ea8c2550e429f20ed76e4..4f96bc843161df82974a36ec3c435dfe80eee739 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __SUMMARY_H__
 #define __SUMMARY_H__
 
+#include <regex.h>
+
 #include <glib.h>
 #include <gdk/gdk.h>
 #include <gtk/gtkwidget.h>
@@ -34,7 +36,6 @@ typedef struct _SummaryColumnState    SummaryColumnState;
 #include "folderview.h"
 #include "headerview.h"
 #include "messageview.h"
-#include "headerwindow.h"
 #include "compose.h"
 #include "prefs_filter.h"
 #include "folder.h"
@@ -56,22 +57,6 @@ typedef enum
 
 #define N_SUMMARY_COLS 10
 
-typedef enum
-{
-       SORT_BY_NONE,
-       SORT_BY_NUMBER,
-       SORT_BY_SIZE,
-       SORT_BY_DATE,
-       SORT_BY_FROM,
-       SORT_BY_SUBJECT,
-       SORT_BY_SCORE,
-       SORT_BY_LOCKED,
-       SORT_BY_LABEL,
-       SORT_BY_MARK,
-       SORT_BY_UNREAD,
-       SORT_BY_MIME
-} SummarySortType;
-
 typedef enum
 {
        SUMMARY_NONE,
@@ -100,12 +85,13 @@ struct _SummaryView
        GtkWidget *scrolledwin;
        GtkWidget *ctree;
        GtkWidget *hbox;
+       GtkWidget *hbox_l;
        GtkWidget *folder_pixmap;
        GtkWidget *statlabel_folder;
        GtkWidget *statlabel_select;
        GtkWidget *statlabel_msgs;
-       GtkWidget *toggle_view_btn;
-       GtkWidget *toggle_view_arrow;
+       GtkWidget *toggle_eventbox;
+       GtkWidget *toggle_arrow;
        GtkWidget *popupmenu;
        GtkWidget *colorlabel_menu;
 
@@ -116,7 +102,6 @@ struct _SummaryView
        GtkCTreeNode *selected;
        GtkCTreeNode *displayed;
 
-       gboolean msg_is_toggled_on;
        gboolean display_msg;
 
        GdkColor color_important;
@@ -132,13 +117,15 @@ struct _SummaryView
        FolderView   *folderview;
        HeaderView   *headerview;
        MessageView  *messageview;
-       HeaderWindow *headerwin;
 
        FolderItem *folder_item;
 
-       GSList * killed_messages;
+       /* summaryview prefs */
        gint important_score;
 
+       /* Extra data for summaryview */
+       regex_t *simplify_subject_preg;
+
        /* current message status */
        gint   newmsgs;
        gint   unread;
@@ -159,19 +146,13 @@ private:
        GSList *mlist;
        /* table for updating folder tree */
        GHashTable *folder_table;
-
-       /* current sorting state */
-       SummarySortType sort_mode;
-       GtkSortType sort_type;
-
 };
 
 SummaryView    *summary_create(void);
 
 void summary_init                (SummaryView          *summaryview);
 gboolean summary_show            (SummaryView          *summaryview,
-                                  FolderItem           *fitem,
-                                  gboolean              update_cache);
+                                  FolderItem           *fitem);
 void summary_clear_list                  (SummaryView          *summaryview);
 void summary_clear_all           (SummaryView          *summaryview);
 
@@ -183,6 +164,8 @@ SummarySelection summary_get_selection_type (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_new     (SummaryView          *summaryview);
 void summary_select_prev_marked          (SummaryView          *summaryview);
 void summary_select_next_marked          (SummaryView          *summaryview);
 void summary_select_prev_labeled  (SummaryView         *summaryview);
@@ -192,17 +175,22 @@ void summary_select_by_msgnum       (SummaryView          *summaryview,
 guint summary_get_current_msgnum  (SummaryView         *summaryview);
 void summary_select_node         (SummaryView          *summaryview,
                                   GtkCTreeNode         *node,
-                                  gboolean              display_msg);
+                                  gboolean              display_msg,
+                                  gboolean              do_refresh);
 
 void summary_thread_build        (SummaryView          *summaryview);
 void summary_unthread            (SummaryView          *summaryview);
 
+void summary_expand_threads      (SummaryView          *summaryview);
+void summary_collapse_threads    (SummaryView          *summaryview);
+
 void summary_filter              (SummaryView          *summaryview);
 void summary_filter_open         (SummaryView          *summaryview,
                                   PrefsFilterType       type);
 
 void summary_sort                (SummaryView          *summaryview,
-                                  SummarySortType       type);
+                                  FolderSortKey         sort_key,
+                                  FolderSortType        sort_type);
 
 void summary_delete              (SummaryView          *summaryview);
 void summary_delete_duplicated   (SummaryView          *summaryview);
@@ -224,6 +212,7 @@ void summary_view_source      (SummaryView          *summaryview);
 void summary_reedit              (SummaryView          *summaryview);
 void summary_step                (SummaryView          *summaryview,
                                   GtkScrollType         type);
+void summary_toggle_view         (SummaryView          *summaryview);
 void summary_set_marks_selected          (SummaryView          *summaryview);
 
 void summary_move_selected_to    (SummaryView          *summaryview,
@@ -242,7 +231,7 @@ void summary_mark_all_read    (SummaryView          *summaryview);
 void summary_add_address         (SummaryView          *summaryview);
 void summary_select_all                  (SummaryView          *summaryview);
 void summary_unselect_all        (SummaryView          *summaryview);
-
+void summary_select_thread       (SummaryView          *summaryview);
 void summary_reply               (SummaryView          *summaryview,
                                   ComposeMode           mode);
 
@@ -255,11 +244,17 @@ void summary_set_colorlabel_color (GtkCTree               *ctree,
 
 void summary_set_column_order    (SummaryView          *summaryview);
 
+#if 0 /* OLD PROCESSING */
 void processing_apply();
+#endif
 
 void summary_toggle_show_read_messages (SummaryView *summaryview);
 
 void summary_toggle_view_real  (SummaryView    *summaryview);
 
 void summary_reflect_prefs_pixmap_theme(SummaryView *summaryview);
+
+void summary_harvest_address(SummaryView *summaryview);
+void summary_set_prefs_from_folderitem(SummaryView *summaryview, FolderItem *item);
+
 #endif /* __SUMMARY_H__ */