#include "milk-task-model.h"
#include "milk-auth.h"
-#include "milk-task.h"
static void
milk_task_model_tree_model_init (GtkTreeModelIface *iface);
{
switch (column) {
case MILK_TASK_MODEL_COLUMN_TASK:
- return MILK_TYPE_TASK;
+ return RTM_TYPE_TASK;
default:
g_warning (G_STRLOC ": invalid column: %d", column);
valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->store),
&iter);
while (valid && !found) {
- MilkTask *task;
- char *task_id;
+ RtmTask *task;
gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter,
MILK_TASK_MODEL_COLUMN_TASK, &task,
-1);
- g_object_get (task, "id", &task_id, NULL);
- if (!g_strcmp0 (rtm_task_get_id (task_in), task_id)) {
+ if (!g_strcmp0 (rtm_task_get_id (task_in),
+ rtm_task_get_id (task))) {
*iter_in = iter;
found = TRUE;
}
for (l = rtm_tasks; l; l = g_list_delete_link (l, l)) {
GtkTreeIter iter;
RtmTask *rtm_task;
- MilkTask *task;
const char *id;
gboolean task_in_store;
}
/* Task has been changed */
} else if (task_in_store) {
+ RtmTask *old_task;
GtkTreePath *path;
+ /* rtm-glib doesn't re-use task structs when they're
+ * updated, so we have to replace the changed */
gtk_tree_model_get (
GTK_TREE_MODEL (priv->store), &iter,
- MILK_TASK_MODEL_COLUMN_TASK, &task,
+ MILK_TASK_MODEL_COLUMN_TASK, &old_task,
-1);
- milk_task_set_title (task,
- rtm_task_get_name (rtm_task));
+ gtk_list_store_set (
+ priv->store, &iter,
+ MILK_TASK_MODEL_COLUMN_TASK, rtm_task,
+ -1);
path = gtk_tree_model_get_path (
GTK_TREE_MODEL (priv->store), &iter);
path, &iter);
gtk_tree_path_free (path);
- g_object_unref (task);
+ g_object_unref (old_task);
/* Task is new */
} else {
- /* FIXME: remove the MilkTask class; just use RtmTask
- * directly */
- task = milk_task_new (id, rtm_task_get_name (rtm_task),
- /* FIXME: switch priority from int to
- * string */
- g_ascii_strtod (rtm_task_get_priority
- (rtm_task), NULL));
-
gtk_list_store_append (priv->store, &iter);
gtk_list_store_set (
priv->store, &iter,
- MILK_TASK_MODEL_COLUMN_TASK, task,
+ MILK_TASK_MODEL_COLUMN_TASK, rtm_task,
-1);
}
}
g_free, g_object_unref);
priv->store = gtk_list_store_new (
- MILK_TASK_MODEL_N_COLUMNS, MILK_TYPE_TASK);
+ MILK_TASK_MODEL_N_COLUMNS, RTM_TYPE_TASK);
g_signal_connect (priv->store, "row-changed",
G_CALLBACK (row_changed_cb), self);