Statistics
| Revision:

root / src / folderview.h @ 958

History | View | Annotate | Download (3.3 kB)

1
/*
2
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3
 * Copyright (C) 1999-2005 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 *scrolledwin;
38
39
        GtkWidget *treeview;
40
41
        GtkTreeStore *store;
42
        GtkTreeSelection *selection;
43
44
        GtkWidget *mail_popup;
45
        GtkWidget *imap_popup;
46
        GtkWidget *news_popup;
47
48
        GtkItemFactory *mail_factory;
49
        GtkItemFactory *imap_factory;
50
        GtkItemFactory *news_factory;
51
52
        GtkTreeRowReference *selected;
53
        GtkTreeRowReference *opened;
54
        GtkTreeRowReference *prev_selected;
55
56
        gboolean display_folder_unread;
57
58
        gboolean open_folder;
59
60
        guint expand_timeout;
61
        guint scroll_timeout;
62
63
        gboolean selection_locked;
64
65
        GdkColor color_new;
66
        GdkColor color_noselect;
67
68
        MainWindow   *mainwin;
69
        SummaryView  *summaryview;
70
};
71
72
FolderView *folderview_create                (void);
73
void folderview_init                        (FolderView        *folderview);
74
void folderview_reflect_prefs                (FolderView        *folderview);
75
76
FolderView *folderview_get                (void);
77
78
void folderview_set                        (FolderView        *folderview);
79
void folderview_set_all                        (void);
80
81
void folderview_select                        (FolderView        *folderview,
82
                                         FolderItem        *item);
83
void folderview_unselect                (FolderView        *folderview);
84
void folderview_select_next_unread        (FolderView        *folderview);
85
86
FolderItem *folderview_get_selected_item(FolderView        *folderview);
87
88
void folderview_set_opened_item                (FolderView        *folderview,
89
                                         FolderItem        *item);
90
void folderview_update_opened_msg_num        (FolderView        *folderview);
91
92
gboolean folderview_append_item                (FolderView        *folderview,
93
                                         GtkTreeIter        *iter,
94
                                         FolderItem        *item,
95
                                         gboolean         expand_parent);
96
97
gint folderview_check_new                (Folder                *folder);
98
gint folderview_check_new_item                (FolderItem        *item);
99
gint folderview_check_new_all                (void);
100
101
void folderview_update_item                (FolderItem        *item,
102
                                         gboolean         update_summary);
103
void folderview_update_item_foreach        (GHashTable        *table,
104
                                         gboolean         update_summary);
105
void folderview_update_all_updated        (gboolean         update_summary);
106
107
void folderview_new_folder                (FolderView        *folderview);
108
void folderview_rename_folder                (FolderView        *folderview);
109
void folderview_move_folder                (FolderView        *folderview);
110
void folderview_delete_folder                (FolderView        *folderview);
111
112
void folderview_check_new_selected        (FolderView        *folderview);
113
void folderview_remove_mailbox                (FolderView        *folderview);
114
void folderview_rebuild_tree                (FolderView        *folderview);
115
116
#endif /* __FOLDERVIEW_H__ */