* mug,mug2: update for api changes

This commit is contained in:
Dirk-Jan C. Binnema
2011-06-19 21:23:46 +03:00
parent a356dbec10
commit f51fbebe9a
2 changed files with 24 additions and 13 deletions

View File

@ -1,3 +1,4 @@
/* -*-mode: c; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-*/
/* /*
** Copyright (C) 2008-2011 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ** Copyright (C) 2008-2011 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
** **
@ -334,8 +335,8 @@ run_query (const char *xpath, const char *query, MugMsgListView * self)
return NULL; return NULL;
} }
iter = iter = mu_query_run (xapian, query, FALSE, MU_MSG_FIELD_ID_DATE,
mu_query_run (xapian, query, MU_MSG_FIELD_ID_DATE, TRUE, &err); TRUE, &err);
mu_query_destroy (xapian); mu_query_destroy (xapian);
if (!iter) { if (!iter) {
g_warning ("Error: %s", err->message); g_warning ("Error: %s", err->message);

View File

@ -1,3 +1,4 @@
/* -*-mode: c; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-*/
/* /*
** Copyright (C) 2008-2011 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ** Copyright (C) 2008-2011 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
** **
@ -50,7 +51,7 @@ enum {
typedef struct _MugMsgListViewPrivate MugMsgListViewPrivate; typedef struct _MugMsgListViewPrivate MugMsgListViewPrivate;
struct _MugMsgListViewPrivate { struct _MugMsgListViewPrivate {
GtkListStore *_store; GtkTreeStore *_store;
char *_xpath; char *_xpath;
char *_query; char *_query;
}; };
@ -182,7 +183,7 @@ mug_msg_list_view_init (MugMsgListView * obj)
priv = MUG_MSG_LIST_VIEW_GET_PRIVATE (obj); priv = MUG_MSG_LIST_VIEW_GET_PRIVATE (obj);
priv->_xpath = priv->_query = NULL; priv->_xpath = priv->_query = NULL;
priv->_store = gtk_list_store_new (MUG_N_COLS, G_TYPE_STRING, /* date */ priv->_store = gtk_tree_store_new (MUG_N_COLS, G_TYPE_STRING, /* date */
G_TYPE_STRING,/* folder */ G_TYPE_STRING,/* folder */
G_TYPE_STRING,/* flagstr */ G_TYPE_STRING,/* flagstr */
G_TYPE_STRING, /* from */ G_TYPE_STRING, /* from */
@ -334,8 +335,8 @@ run_query (const char *xpath, const char *query, MugMsgListView * self)
return NULL; return NULL;
} }
iter = iter = mu_query_run (xapian, query, FALSE, MU_MSG_FIELD_ID_DATE,
mu_query_run (xapian, query, MU_MSG_FIELD_ID_DATE, TRUE, &err); TRUE, &err);
mu_query_destroy (xapian); mu_query_destroy (xapian);
if (!iter) { if (!iter) {
g_warning ("Error: %s", err->message); g_warning ("Error: %s", err->message);
@ -350,7 +351,7 @@ run_query (const char *xpath, const char *query, MugMsgListView * self)
} }
static void static void
add_row (GtkListStore * store, MuMsg *msg) add_row (GtkTreeStore * store, MuMsg *msg, const char *path)
{ {
GtkTreeIter treeiter; GtkTreeIter treeiter;
const gchar *datestr, *flagstr; const gchar *datestr, *flagstr;
@ -363,8 +364,15 @@ add_row (GtkListStore * store, MuMsg *msg)
to = empty_or_display_contact (mu_msg_get_to (msg)); to = empty_or_display_contact (mu_msg_get_to (msg));
flagstr = mu_msg_flags_str_s (mu_msg_get_flags (msg)); flagstr = mu_msg_flags_str_s (mu_msg_get_flags (msg));
gtk_list_store_append (store, &treeiter); if (path) {
gtk_list_store_set (store, &treeiter, GtkTreeIter myiter;
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL(store),
&myiter, path))
g_warning ("%s: cannot get iter for %s", __FUNCTION__, path);
}
gtk_tree_store_append (store, &treeiter, NULL);
gtk_tree_store_set (store, &treeiter,
MUG_COL_DATESTR, datestr, MUG_COL_DATESTR, datestr,
MUG_COL_MAILDIR, mu_msg_get_maildir (msg), MUG_COL_MAILDIR, mu_msg_get_maildir (msg),
MUG_COL_FLAGSSTR, flagstr, MUG_COL_FLAGSSTR, flagstr,
@ -380,7 +388,7 @@ add_row (GtkListStore * store, MuMsg *msg)
} }
static int static int
update_model (GtkListStore * store, const char *xpath, const char *query, update_model (GtkTreeStore *store, const char *xpath, const char *query,
MugMsgListView * self) MugMsgListView * self)
{ {
MuMsgIter *iter; MuMsgIter *iter;
@ -395,8 +403,10 @@ update_model (GtkListStore * store, const char *xpath, const char *query,
for (count = 0; !mu_msg_iter_is_done (iter); for (count = 0; !mu_msg_iter_is_done (iter);
mu_msg_iter_next (iter), ++count) { mu_msg_iter_next (iter), ++count) {
MuMsg *msg; MuMsg *msg;
const char *path;
msg = mu_msg_iter_get_msg (iter, NULL); /* don't unref */ msg = mu_msg_iter_get_msg (iter, NULL); /* don't unref */
add_row (store, msg); path = mu_msg_iter_get_thread_path (iter);
add_row (store, msg, path);
} }
mu_msg_iter_destroy (iter); mu_msg_iter_destroy (iter);
@ -413,7 +423,7 @@ mug_msg_list_view_query (MugMsgListView * self, const char *query)
g_return_val_if_fail (MUG_IS_MSG_LIST_VIEW (self), FALSE); g_return_val_if_fail (MUG_IS_MSG_LIST_VIEW (self), FALSE);
priv = MUG_MSG_LIST_VIEW_GET_PRIVATE (self); priv = MUG_MSG_LIST_VIEW_GET_PRIVATE (self);
gtk_list_store_clear (priv->_store); gtk_tree_store_clear (priv->_store);
g_free (priv->_query); g_free (priv->_query);
priv->_query = query ? g_strdup (query) : NULL; priv->_query = query ? g_strdup (query) : NULL;