Unread messages are now displayed in bold characters

This commit is contained in:
Pierre Pronchery 2010-10-22 00:54:05 +00:00
parent 27418886de
commit 12f10e2939
3 changed files with 20 additions and 19 deletions

View File

@ -116,9 +116,9 @@ enum
{
MH_COL_ACCOUNT = 0, MH_COL_FOLDER, MH_COL_MESSAGE, MH_COL_PIXBUF,
MH_COL_SUBJECT, MH_COL_FROM, MH_COL_TO, MH_COL_DATE,
MH_COL_DATE_DISPLAY, MH_COL_READ
MH_COL_DATE_DISPLAY, MH_COL_READ, MH_COL_WEIGHT
};
# define MH_COL_LAST MH_COL_READ
# define MH_COL_LAST MH_COL_WEIGHT
# define MH_COL_COUNT (MH_COL_LAST + 1)
#endif /* !MAILER_MAILER_H */

View File

@ -224,7 +224,7 @@ static int _mbox_init(GtkTreeStore * store, GtkTreeIter * parent,
G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER,
GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING,
G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING,
G_TYPE_BOOLEAN);
G_TYPE_BOOLEAN, G_TYPE_INT);
mbox->source = g_idle_add(_folder_idle, &_config_folder[i]);
}
return ret;
@ -299,7 +299,8 @@ static Message * _message_new(off_t offset, GtkListStore * store)
}
message->offset = offset;
gtk_list_store_append(store, &message->iter);
gtk_list_store_set(store, &message->iter, MH_COL_MESSAGE, message, -1);
gtk_list_store_set(store, &message->iter, MH_COL_MESSAGE, message,
MH_COL_PIXBUF, account_plugin.helper->mail_read, -1);
message->headers = NULL;
message->headers_cnt = 0;
message->body_offset = 0;
@ -353,6 +354,7 @@ static int _message_set_header(Message * message, char const * header,
struct tm t;
time_t oneday;
char buf[20];
gboolean read;
#ifdef DEBUG
fprintf(stderr, "DEBUG: %s(%p, \"%s\", store)\n", __func__,
@ -391,14 +393,12 @@ static int _message_set_header(Message * message, char const * header,
}
else if(abc[i].col == MH_COL_READ)
{
gtk_list_store_set(store, &message->iter, MH_COL_READ,
(index(&header[8], 'R') != NULL) ? TRUE : FALSE,
-1);
gtk_list_store_set(store, &message->iter, MH_COL_PIXBUF,
(index(&header[8], 'R') != NULL)
? account_plugin.helper->mail_read
: account_plugin.helper->mail_unread,
-1);
read = (index(&header[8], 'R') != NULL) ? TRUE : FALSE;
gtk_list_store_set(store, &message->iter, MH_COL_READ, read,
MH_COL_WEIGHT, PANGO_WEIGHT_BOLD, -1);
gtk_list_store_set(store, &message->iter, MH_COL_PIXBUF, read
? account_plugin.helper->mail_read
: account_plugin.helper->mail_unread, -1);
}
else if(abc[i].col != -1)
gtk_list_store_set(store, &message->iter, abc[i].col,

View File

@ -215,7 +215,7 @@ static GtkWidget * _new_headers(Mailer * mailer);
static GtkTreeViewColumn * _headers_view_column_pixbuf(GtkTreeView * view,
char const * title, int id, int sortid);
static GtkTreeViewColumn * _headers_view_column_text(GtkTreeView * view,
char const * title, int id, int sortid);
char const * title, int id, int sortid, int boldid);
static void _on_headers_changed(GtkTreeSelection * selection, gpointer data);
static gboolean _new_config_load(gpointer data);
@ -448,13 +448,13 @@ static GtkWidget * _new_headers_view(Mailer * mailer)
gtk_tree_view_set_rules_hint(treeview, TRUE);
_headers_view_column_pixbuf(treeview, "", MH_COL_PIXBUF, MH_COL_READ);
_headers_view_column_text(treeview, _("Subject"), MH_COL_SUBJECT,
MH_COL_SUBJECT);
MH_COL_SUBJECT, MH_COL_WEIGHT);
mailer->view_from = _headers_view_column_text(treeview, _("From"),
MH_COL_FROM, MH_COL_FROM);
MH_COL_FROM, MH_COL_FROM, MH_COL_WEIGHT);
mailer->view_to = _headers_view_column_text(treeview, _("To"),
MH_COL_TO, MH_COL_TO);
MH_COL_TO, MH_COL_TO, MH_COL_WEIGHT);
_headers_view_column_text(treeview, _("Date"), MH_COL_DATE_DISPLAY,
MH_COL_DATE);
MH_COL_DATE, MH_COL_WEIGHT);
treesel = gtk_tree_view_get_selection(treeview);
gtk_tree_selection_set_mode(treesel, GTK_SELECTION_MULTIPLE);
g_signal_connect(G_OBJECT(treesel), "changed", G_CALLBACK(
@ -520,7 +520,7 @@ static GtkTreeViewColumn * _headers_view_column_pixbuf(GtkTreeView * view,
}
static GtkTreeViewColumn * _headers_view_column_text(GtkTreeView * view,
char const * title, int id, int sortid)
char const * title, int id, int sortid, int weightid)
{
GtkCellRenderer * renderer;
GtkTreeViewColumn * column;
@ -529,7 +529,8 @@ static GtkTreeViewColumn * _headers_view_column_text(GtkTreeView * view,
g_object_set(G_OBJECT(renderer), "ellipsize", PANGO_ELLIPSIZE_END,
NULL);
column = gtk_tree_view_column_new_with_attributes(title, renderer,
"text", id, NULL);
"text", id, (weightid >= 0) ? "weight" : NULL, weightid,
NULL);
#if GTK_CHECK_VERSION(2, 4, 0)
gtk_tree_view_column_set_expand(column, TRUE);
#endif