aboutsummaryrefslogtreecommitdiff
path: root/src/summaryview.h
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-09 09:26:26 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-09 09:26:26 +0000
commit9a51810579d03b582f44919cb82d1fb757e93bea (patch)
treefcc9c9253e35f5827f334a52f032ca8459479961 /src/summaryview.h
parentcfba26004dba1af652c6e82e489d75ef049a803d (diff)
reimplemented summary view with GtkTreeView.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@237 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/summaryview.h')
-rw-r--r--src/summaryview.h50
1 files changed, 36 insertions, 14 deletions
diff --git a/src/summaryview.h b/src/summaryview.h
index 50d90658..2a361e3c 100644
--- a/src/summaryview.h
+++ b/src/summaryview.h
@@ -24,7 +24,8 @@
#include <gdk/gdk.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtkitemfactory.h>
-#include <gtk/gtkctree.h>
+#include <gtk/gtktreestore.h>
+#include <gtk/gtktreeview.h>
#include <gtk/gtkdnd.h>
typedef struct _SummaryView SummaryView;
@@ -37,7 +38,6 @@ typedef struct _SummaryColumnState SummaryColumnState;
#include "compose.h"
#include "prefs_filter.h"
#include "folder.h"
-#include "gtksctree.h"
typedef enum
{
@@ -49,9 +49,19 @@ typedef enum
S_COL_DATE,
S_COL_SIZE,
S_COL_NUMBER,
+
+ S_COL_MSG_INFO,
+
+ S_COL_LABEL,
+ S_COL_TO,
+
+ S_COL_FOREGROUND,
+ S_COL_BOLD,
+
+ N_SUMMARY_COLS
} SummaryColumnType;
-#define N_SUMMARY_COLS 8
+#define N_SUMMARY_VISIBLE_COLS S_COL_MSG_INFO
typedef enum
{
@@ -79,7 +89,12 @@ struct _SummaryView
{
GtkWidget *vbox;
GtkWidget *scrolledwin;
- GtkWidget *ctree;
+ GtkWidget *treeview;
+
+ GtkTreeStore *store;
+ GtkTreeSelection *selection;
+ GtkTreeViewColumn *columns[N_SUMMARY_VISIBLE_COLS];
+
GtkWidget *hbox;
GtkWidget *hbox_l;
GtkWidget *statlabel_folder;
@@ -97,13 +112,13 @@ struct _SummaryView
GtkWidget *window;
- GtkCTreeNode *selected;
- GtkCTreeNode *displayed;
+ GtkTreeRowReference *selected;
+ GtkTreeRowReference *displayed;
gboolean display_msg;
- SummaryColumnState col_state[N_SUMMARY_COLS];
- gint col_pos[N_SUMMARY_COLS];
+ SummaryColumnState col_state[N_SUMMARY_VISIBLE_COLS];
+ gint col_pos[N_SUMMARY_VISIBLE_COLS];
GdkColor color_marked;
GdkColor color_dim;
@@ -135,6 +150,14 @@ private:
GHashTable *folder_table;
/* counter for filtering */
gint filtered;
+
+ /* for DnD */
+ gboolean can_toggle_selection;
+ gboolean on_drag;
+ GtkTreePath *pressed_path;
+
+ /* unthreading */
+ GSList *pos_list;
};
SummaryView *summary_create(void);
@@ -163,8 +186,8 @@ void summary_select_prev_labeled (SummaryView *summaryview);
void summary_select_next_labeled (SummaryView *summaryview);
void summary_select_by_msgnum (SummaryView *summaryview,
guint msgnum);
-void summary_select_node (SummaryView *summaryview,
- GtkCTreeNode *node,
+void summary_select_row (SummaryView *summaryview,
+ GtkTreeIter *iter,
gboolean display_msg,
gboolean do_refresh);
@@ -196,6 +219,7 @@ void summary_pass_key_press_event (SummaryView *summaryview,
GdkEventKey *event);
void summary_display_msg_selected (SummaryView *summaryview,
+ gboolean new_window,
gboolean all_headers);
void summary_redisplay_msg (SummaryView *summaryview);
void summary_open_msg (SummaryView *summaryview);
@@ -204,7 +228,8 @@ void summary_reedit (SummaryView *summaryview);
gboolean summary_step (SummaryView *summaryview,
GtkScrollType type);
void summary_toggle_view (SummaryView *summaryview);
-void summary_set_marks_selected (SummaryView *summaryview);
+
+void summary_update_selected_rows (SummaryView *summaryview);
void summary_move_selected_to (SummaryView *summaryview,
FolderItem *to_folder);
@@ -230,9 +255,6 @@ void summary_reply (SummaryView *summaryview,
void summary_set_colorlabel (SummaryView *summaryview,
guint labelcolor,
GtkWidget *widget);
-void summary_set_colorlabel_color (GtkCTree *ctree,
- GtkCTreeNode *node,
- guint labelcolor);
void summary_set_column_order (SummaryView *summaryview);