Statistics
| Revision:

root / src / folderview.h @ 3030

History | View | Annotate | Download (3.4 kB)

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
30
typedef struct _FolderView        FolderView;
31
32
#include "mainwindow.h"
33
#include "summaryview.h"
34
35
struct _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
74
FolderView *folderview_create                (void);
75
void folderview_init                        (FolderView        *folderview);
76
void folderview_reflect_prefs                (FolderView        *folderview);
77
78
void folderview_add_sub_widget                (FolderView        *folderview,
79
                                         GtkWidget        *widget);
80
81
FolderView *folderview_get                (void);
82
83
void folderview_set                        (FolderView        *folderview);
84
void folderview_set_all                        (void);
85
86
void folderview_select                        (FolderView        *folderview,
87
                                         FolderItem        *item);
88
void folderview_unselect                (FolderView        *folderview);
89
void folderview_select_next_unread        (FolderView        *folderview);
90
91
FolderItem *folderview_get_selected_item(FolderView        *folderview);
92
93
void folderview_set_opened_item                (FolderView        *folderview,
94
                                         FolderItem        *item);
95
void folderview_update_opened_msg_num        (FolderView        *folderview);
96
97
gboolean folderview_append_item                (FolderView        *folderview,
98
                                         GtkTreeIter        *iter,
99
                                         FolderItem        *item,
100
                                         gboolean         expand_parent);
101
102
gint folderview_check_new                (Folder                *folder);
103
gint folderview_check_new_item                (FolderItem        *item);
104
gint folderview_check_new_all                (void);
105
106
void folderview_update_item                (FolderItem        *item,
107
                                         gboolean         update_summary);
108
void folderview_update_item_foreach        (GHashTable        *table,
109
                                         gboolean         update_summary);
110
void folderview_update_all_updated        (gboolean         update_summary);
111
112
void folderview_new_folder                (FolderView        *folderview);
113
void folderview_rename_folder                (FolderView        *folderview);
114
void folderview_move_folder                (FolderView        *folderview);
115
void folderview_delete_folder                (FolderView        *folderview);
116
117
void folderview_check_new_selected        (FolderView        *folderview);
118
void folderview_remove_mailbox                (FolderView        *folderview);
119
void folderview_rebuild_tree                (FolderView        *folderview);
120
121
#endif /* __FOLDERVIEW_H__ */