summaryrefslogtreecommitdiff
path: root/src/folderview.h
diff options
context:
space:
mode:
authorSimeon Simeonov2018-02-26 11:23:00 +0100
committerSimeon Simeonov2018-02-26 11:23:00 +0100
commit0b3cbf57875fd692e4ba0b336fefa4bee1ed00dc (patch)
treeaf916a30553c78ce9d4f2d8658656a175c5b6921 /src/folderview.h
Initial commit for sylpheed 3.7.0
Diffstat (limited to 'src/folderview.h')
-rw-r--r--src/folderview.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/folderview.h b/src/folderview.h
new file mode 100644
index 0000000..3d9aaa9
--- /dev/null
+++ b/src/folderview.h
@@ -0,0 +1,121 @@
1/*
2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3 * Copyright (C) 1999-2010 Hiroyuki Yamamoto
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 */
19
20#ifndef __FOLDERVIEW_H__
21#define __FOLDERVIEW_H__
22
23#include <glib.h>
24#include <gtk/gtkwidget.h>
25#include <gtk/gtktreestore.h>
26#include <gtk/gtktreeview.h>
27
28#include "folder.h"
29
30typedef struct _FolderView FolderView;
31
32#include "mainwindow.h"
33#include "summaryview.h"
34
35struct _FolderView
36{
37 GtkWidget *vbox;
38
39 GtkWidget *scrolledwin;
40
41 GtkWidget *treeview;
42
43 GtkTreeStore *store;
44 GtkTreeSelection *selection;
45
46 GtkWidget *mail_popup;
47 GtkWidget *imap_popup;
48 GtkWidget *news_popup;
49
50 GtkItemFactory *mail_factory;
51 GtkItemFactory *imap_factory;
52 GtkItemFactory *news_factory;
53
54 GtkTreeRowReference *selected;
55 GtkTreeRowReference *opened;
56 GtkTreeRowReference *prev_selected;
57
58 gboolean display_folder_unread;
59
60 gboolean open_folder;
61
62 guint expand_timeout;
63 guint scroll_timeout;
64
65 gboolean selection_locked;
66
67 GdkColor color_new;
68 GdkColor color_noselect;
69
70 MainWindow *mainwin;
71 SummaryView *summaryview;
72};
73
74FolderView *folderview_create (void);
75void folderview_init (FolderView *folderview);
76void folderview_reflect_prefs (FolderView *folderview);
77
78void folderview_add_sub_widget (FolderView *folderview,
79 GtkWidget *widget);
80
81FolderView *folderview_get (void);
82
83void folderview_set (FolderView *folderview);
84void folderview_set_all (void);
85
86void folderview_select (FolderView *folderview,
87 FolderItem *item);
88void folderview_unselect (FolderView *folderview);
89void folderview_select_next_unread (FolderView *folderview);
90
91FolderItem *folderview_get_selected_item(FolderView *folderview);
92
93void folderview_set_opened_item (FolderView *folderview,
94 FolderItem *item);
95void folderview_update_opened_msg_num (FolderView *folderview);
96
97gboolean folderview_append_item (FolderView *folderview,
98 GtkTreeIter *iter,
99 FolderItem *item,
100 gboolean expand_parent);
101
102gint folderview_check_new (Folder *folder);
103gint folderview_check_new_item (FolderItem *item);
104gint folderview_check_new_all (void);
105
106void folderview_update_item (FolderItem *item,
107 gboolean update_summary);
108void folderview_update_item_foreach (GHashTable *table,
109 gboolean update_summary);
110void folderview_update_all_updated (gboolean update_summary);
111
112void folderview_new_folder (FolderView *folderview);
113void folderview_rename_folder (FolderView *folderview);
114void folderview_move_folder (FolderView *folderview);
115void folderview_delete_folder (FolderView *folderview);
116
117void folderview_check_new_selected (FolderView *folderview);
118void folderview_remove_mailbox (FolderView *folderview);
119void folderview_rebuild_tree (FolderView *folderview);
120
121#endif /* __FOLDERVIEW_H__ */