#include "statusbar.h"
#include "hooks.h"
#include "folderutils.h"
+#include "partial_download.h"
typedef enum
{
static GdkBitmap *newxpmmask;
static GdkPixmap *unreadxpm;
static GdkBitmap *unreadxpmmask;
+static GdkPixmap *readxpm;
+static GdkBitmap *readxpmmask;
static GdkPixmap *draftsxpm;
static GdkBitmap *draftsxpmmask;
static GdkPixmap *draftsopenxpm;
};
static GtkItemFactoryEntry folder_view_trash_popup_entries[] = {
- {N_("/---"), NULL, NULL, 0, "<Separator>"},
+ {N_("/------"), NULL, NULL, 0, "<Separator>"},
{N_("/Empty trash..."), NULL, folderview_empty_trash_cb, 0, NULL},
};
GtkWidget *ctree = folderview->ctree;
GtkWidget *label_new;
GtkWidget *label_unread;
+ GtkWidget *label_total;
GtkWidget *hbox_new;
GtkWidget *hbox_unread;
-
+ GtkWidget *hbox_total;
+
gtk_widget_realize(ctree);
stock_pixmap_gdk(ctree, STOCK_PIXMAP_INBOX_CLOSE, &inboxxpm, &inboxxpmmask);
stock_pixmap_gdk(ctree, STOCK_PIXMAP_INBOX_CLOSE_HRM, &inboxhrmxpm, &inboxhrmxpmmask);
&newxpm, &newxpmmask);
stock_pixmap_gdk(ctree, STOCK_PIXMAP_UNREAD,
&unreadxpm, &unreadxpmmask);
+ stock_pixmap_gdk(ctree, STOCK_PIXMAP_READ,
+ &readxpm, &readxpmmask);
label_new = gtk_pixmap_new(newxpm, newxpmmask);
label_unread = gtk_pixmap_new(unreadxpm, unreadxpmmask);
+ label_total = gtk_pixmap_new(readxpm, readxpmmask);
hbox_new = gtk_hbox_new(FALSE, 4);
hbox_unread = gtk_hbox_new(FALSE, 4);
+ hbox_total = gtk_hbox_new(FALSE, 4);
/* left justified */
gtk_box_pack_start(GTK_BOX(hbox_new), label_new, TRUE, TRUE, 0);
gtk_misc_set_alignment (GTK_MISC (label_new), 1, 0.5);
gtk_box_pack_start(GTK_BOX(hbox_unread), label_unread, TRUE, TRUE, 0);
gtk_misc_set_alignment (GTK_MISC (label_unread), 1, 0.5);
+ gtk_box_pack_start(GTK_BOX(hbox_total), label_total, TRUE, TRUE, 0);
+ gtk_misc_set_alignment (GTK_MISC (label_total), 1, 0.5);
gtk_widget_show_all(hbox_new);
gtk_widget_show_all(hbox_unread);
+ gtk_widget_show_all(hbox_total);
gtk_clist_set_column_widget(GTK_CLIST(ctree),COL_NEW,hbox_new);
gtk_clist_set_column_widget(GTK_CLIST(ctree),COL_UNREAD,hbox_unread);
+ gtk_clist_set_column_widget(GTK_CLIST(ctree),COL_TOTAL,hbox_total);
if (!normal_style) {
normal_style = gtk_style_copy(gtk_widget_get_style(ctree));
{
FolderItem *item;
- item = folderview_get_selected(folderview);
+ item = folderview_get_selected_item(folderview);
if (item == NULL)
return;
folderview_select_node(folderview, node);
}
+FolderItem *folderview_get_selected_item(FolderView *folderview)
+{
+ GtkCTree *ctree = GTK_CTREE(folderview->ctree);
+
+ if (!folderview->selected) return NULL;
+ return gtk_ctree_node_get_row_data(ctree, folderview->selected);
+}
+
void folderview_update_msg_num(FolderView *folderview, GtkCTreeNode *row)
{
GtkCTree *ctree = GTK_CTREE(folderview->ctree);
SET_SENS("/Mark all read", item->unread_msgs >= 1);
SET_SENS("/Search folder...", item->total_msgs >= 1 &&
folderview->selected == folderview->opened);
- SET_SENS("/Properties...", TRUE);
+ SET_SENS("/Properties...", item->node->parent != NULL);
SET_SENS("/Processing...", item->node->parent != NULL);
if (item == folder->trash)
SET_SENS("/Empty trash...", folder_item_get_msg_list(item) != NULL);
g_return_if_fail(item != NULL);
g_return_if_fail(item->folder != NULL);
- if (folder_item_parent(item) == NULL && item->folder->account)
- account_open(item->folder->account);
- else {
- prefs_folder_item_open(item);
- }
+ if (folder_item_parent(item) == NULL)
+ return;
+
+ prefs_folder_item_open(item);
}
static void folderview_recollapse_nodes(FolderView *folderview, GtkCTreeNode *node)
folderview->nodes_to_recollapse = NULL;
}
-FolderItem *folderview_get_selected(FolderView *folderview)
-{
- return (FolderItem *) gtk_ctree_node_get_row_data(
- GTK_CTREE(folderview->ctree), folderview->selected);
-}
-
void folderview_register_popup(FolderViewPopup *fpopup)
{
GList *folderviews;