toys/mug: fix compilation

After all the changes
This commit is contained in:
Dirk-Jan C. Binnema 2022-02-19 19:31:37 +02:00
parent 1a13e4f0fd
commit 4f81f04d24
1 changed files with 78 additions and 75 deletions

View File

@ -18,6 +18,7 @@
*/ */
#include "mug-msg-list-view.h" #include "mug-msg-list-view.h"
#include "mu-message-flags.hh"
#include "mu-query.hh" #include "mu-query.hh"
#include "utils/mu-str.h" #include "utils/mu-str.h"
#include "utils/mu-date.h" #include "utils/mu-date.h"
@ -72,26 +73,26 @@ mug_msg_list_view_class_init(MugMsgListViewClass* klass)
g_type_class_add_private(gobject_class, sizeof(MugMsgListViewPrivate)); g_type_class_add_private(gobject_class, sizeof(MugMsgListViewPrivate));
signals[MUG_MSG_SELECTED] = g_signal_new("msg-selected", signals[MUG_MSG_SELECTED] = g_signal_new("msg-selected",
G_TYPE_FROM_CLASS(gobject_class), G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_FIRST, G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET(MugMsgListViewClass, msg_selected), G_STRUCT_OFFSET(MugMsgListViewClass, msg_selected),
NULL, NULL,
NULL, NULL,
g_cclosure_marshal_VOID__STRING, g_cclosure_marshal_VOID__STRING,
G_TYPE_NONE, G_TYPE_NONE,
1, 1,
G_TYPE_STRING); G_TYPE_STRING);
signals[MUG_ERROR_OCCURED] = signals[MUG_ERROR_OCCURED] =
g_signal_new("error-occured", g_signal_new("error-occured",
G_TYPE_FROM_CLASS(gobject_class), G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_FIRST, G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET(MugMsgListViewClass, error_occured), G_STRUCT_OFFSET(MugMsgListViewClass, error_occured),
NULL, NULL,
NULL, NULL,
g_cclosure_marshal_VOID__UINT, g_cclosure_marshal_VOID__UINT,
G_TYPE_NONE, G_TYPE_NONE,
1, 1,
G_TYPE_UINT); G_TYPE_UINT);
} }
static void static void
@ -116,24 +117,25 @@ on_cursor_changed(GtkTreeView* tview, MugMsgListView* lst)
static void static void
treecell_func(GtkTreeViewColumn* tree_column, treecell_func(GtkTreeViewColumn* tree_column,
GtkCellRenderer* renderer, GtkCellRenderer* renderer,
GtkTreeModel* tree_model, GtkTreeModel* tree_model,
GtkTreeIter* iter, GtkTreeIter* iter,
gpointer data) gpointer data)
{ {
MuFlags flags;
MuMsgPrio prio; MessageFlags flags;
MessagePriority prio;
gtk_tree_model_get(tree_model, iter, MUG_COL_FLAGS, &flags, MUG_COL_PRIO, &prio, -1); gtk_tree_model_get(tree_model, iter, MUG_COL_FLAGS, &flags, MUG_COL_PRIO, &prio, -1);
g_object_set(G_OBJECT(renderer), g_object_set(G_OBJECT(renderer),
"weight", "weight",
(flags & MU_FLAG_NEW) ? 800 : 400, any_of(flags & MessageFlags::New) ? 800 : 400,
"weight", "weight",
(flags & MU_FLAG_SEEN) ? 400 : 800, any_of(flags & MessageFlags::Seen) ? 400 : 800,
"foreground", "foreground",
prio == MU_MSG_PRIO_HIGH ? "red" : NULL, prio == MessagePriority::High ? "red" : NULL,
NULL); NULL);
} }
/* sortcolidx == -1 means 'sortcolidx = colidx' */ /* sortcolidx == -1 means 'sortcolidx = colidx' */
@ -163,10 +165,10 @@ append_col(GtkTreeView* treeview, const char* label, int colidx, int sortcolidx,
gtk_tree_view_column_set_expand(col, TRUE); gtk_tree_view_column_set_expand(col, TRUE);
gtk_tree_view_column_set_cell_data_func(col, gtk_tree_view_column_set_cell_data_func(col,
renderer, renderer,
(GtkTreeCellDataFunc)treecell_func, (GtkTreeCellDataFunc)treecell_func,
NULL, NULL,
NULL); NULL);
gtk_tree_view_append_column(treeview, col); gtk_tree_view_append_column(treeview, col);
@ -184,16 +186,16 @@ mug_msg_list_view_init(MugMsgListView* obj)
priv->_xpath = priv->_query = NULL; priv->_xpath = priv->_query = NULL;
priv->_store = gtk_tree_store_new(MUG_N_COLS, priv->_store = gtk_tree_store_new(MUG_N_COLS,
G_TYPE_STRING, /* date */ 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 */
G_TYPE_STRING, /* to */ G_TYPE_STRING, /* to */
G_TYPE_STRING, /* subject */ G_TYPE_STRING, /* subject */
G_TYPE_STRING, /* path */ G_TYPE_STRING, /* path */
G_TYPE_UINT, /* prio */ G_TYPE_UINT, /* prio */
G_TYPE_UINT, /* flags */ G_TYPE_UINT, /* flags */
G_TYPE_INT); /* timeval */ G_TYPE_INT); /* timeval */
tview = GTK_TREE_VIEW(obj); tview = GTK_TREE_VIEW(obj);
gtk_tree_view_set_model(tview, GTK_TREE_MODEL(priv->_store)); gtk_tree_view_set_model(tview, GTK_TREE_MODEL(priv->_store));
@ -304,27 +306,28 @@ static Mu::Option<Mu::QueryResults>
run_query(const char* xpath, const char* expr, MugMsgListView* self) run_query(const char* xpath, const char* expr, MugMsgListView* self)
{ {
Mu::Store store{xpath}; Mu::Store store{xpath};
Mu::Query query{store};
return query.run(expr, return store.run_query(expr,
MU_MSG_FIELD_ID_DATE, MU_MSG_FIELD_ID_DATE,
Mu::QueryFlags::Descending | Mu::QueryFlags::SkipUnreadable | Mu::QueryFlags::Descending | Mu::QueryFlags::SkipUnreadable |
Mu::QueryFlags::SkipDuplicates | Mu::QueryFlags::IncludeRelated | Mu::QueryFlags::SkipDuplicates | Mu::QueryFlags::IncludeRelated |
Mu::QueryFlags::Threading); Mu::QueryFlags::Threading);
} }
static void static void
add_row(GtkTreeStore* store, MuMsg* msg, GtkTreeIter* treeiter) add_row(GtkTreeStore* store, MuMsg* msg, GtkTreeIter* treeiter)
{ {
const gchar *datestr, *flagstr; const gchar *datestr;
gchar * from, *to; gchar * from, *to;
time_t timeval; time_t timeval;
std::string flag_str;
timeval = mu_msg_get_date(msg); timeval = mu_msg_get_date(msg);
datestr = timeval == 0 ? "-" : mu_date_display_s(timeval); datestr = timeval == 0 ? "-" : mu_date_display_s(timeval);
from = empty_or_display_contact(mu_msg_get_from(msg)); from = empty_or_display_contact(mu_msg_get_from(msg));
to = empty_or_display_contact(mu_msg_get_to(msg)); to = empty_or_display_contact(mu_msg_get_to(msg));
flagstr = mu_flags_to_str_s(mu_msg_get_flags(msg), MU_FLAG_TYPE_ANY);
flag_str = message_flags_to_string(mu_msg_get_flags(msg));
/* if (0) { */ /* if (0) { */
/* GtkTreeIter myiter; */ /* GtkTreeIter myiter; */
@ -335,28 +338,28 @@ add_row(GtkTreeStore* store, MuMsg* msg, GtkTreeIter* treeiter)
/* } */ /* } */
gtk_tree_store_set(store, gtk_tree_store_set(store,
treeiter, treeiter,
MUG_COL_DATESTR, MUG_COL_DATESTR,
datestr, datestr,
MUG_COL_MAILDIR, MUG_COL_MAILDIR,
mu_msg_get_maildir(msg), mu_msg_get_maildir(msg),
MUG_COL_FLAGSSTR, MUG_COL_FLAGSSTR,
flagstr, flag_str.c_str(),
MUG_COL_FROM, MUG_COL_FROM,
from, from,
MUG_COL_TO, MUG_COL_TO,
to, to,
MUG_COL_SUBJECT, MUG_COL_SUBJECT,
mu_msg_get_subject(msg), mu_msg_get_subject(msg),
MUG_COL_PATH, MUG_COL_PATH,
mu_msg_get_path(msg), mu_msg_get_path(msg),
MUG_COL_PRIO, MUG_COL_PRIO,
mu_msg_get_prio(msg), mu_msg_get_prio(msg),
MUG_COL_FLAGS, MUG_COL_FLAGS,
mu_msg_get_flags(msg), mu_msg_get_flags(msg),
MUG_COL_TIME, MUG_COL_TIME,
timeval, timeval,
-1); -1);
g_free(from); g_free(from);
g_free(to); g_free(to);
} }