gui/model: Add support for gtk_tree_model_iter_next()
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
e59617ffa7
commit
ed69e3d2b8
19
gui/model.c
19
gui/model.c
|
@ -124,6 +124,24 @@ static void _queue_model_get_value(GtkTreeModel *model, GtkTreeIter *iter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean _queue_model_iter_next(GtkTreeModel *model, GtkTreeIter *iter)
|
||||||
|
{
|
||||||
|
GuiQueueModel *gqm = GUI_QUEUE_MODEL(model);
|
||||||
|
|
||||||
|
g_return_val_if_fail(iter != NULL, FALSE);
|
||||||
|
g_return_val_if_fail(iter->user_data, FALSE);
|
||||||
|
g_return_val_if_fail(iter->user_data2, FALSE);
|
||||||
|
|
||||||
|
_q_iter_next(&gqm->gqm_iter);
|
||||||
|
if (gqm->gqm_iter.it_iter == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
iter->stamp = gqm->gqm_stamp;
|
||||||
|
iter->user_data = &gqm->gqm_iter;
|
||||||
|
iter->user_data2 = _q_iter_val(&gqm->gqm_iter);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static void _queue_model_init(GuiQueueModel *model)
|
static void _queue_model_init(GuiQueueModel *model)
|
||||||
{
|
{
|
||||||
model->gqm_stamp = g_random_int();
|
model->gqm_stamp = g_random_int();
|
||||||
|
@ -152,6 +170,7 @@ static void _queue_tree_model_init(GtkTreeModelIface *iface)
|
||||||
iface->get_iter = _queue_model_get_iter;
|
iface->get_iter = _queue_model_get_iter;
|
||||||
iface->get_path = _queue_model_get_path;
|
iface->get_path = _queue_model_get_path;
|
||||||
iface->get_value = _queue_model_get_value;
|
iface->get_value = _queue_model_get_value;
|
||||||
|
iface->iter_next = _queue_model_iter_next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,8 @@ static void test_empty()
|
||||||
gtk_tree_model_get_value(model, &iter, Q_MODEL_FILE_PATH, &value);
|
gtk_tree_model_get_value(model, &iter, Q_MODEL_FILE_PATH, &value);
|
||||||
test_equal(G_IS_VALUE(&value), false);
|
test_equal(G_IS_VALUE(&value), false);
|
||||||
|
|
||||||
|
test_equal(gtk_tree_model_iter_next(model, &iter), false);
|
||||||
|
|
||||||
g_object_unref(model);
|
g_object_unref(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,6 +152,10 @@ static void test_model()
|
||||||
"tests/Music/Hyrule Symphony/01 - Title Theme.ogg");
|
"tests/Music/Hyrule Symphony/01 - Title Theme.ogg");
|
||||||
g_value_unset(&value);
|
g_value_unset(&value);
|
||||||
|
|
||||||
|
test_equal(gtk_tree_model_iter_next(model, &iter), true);
|
||||||
|
track = iter.user_data2;
|
||||||
|
test_equal(track->tr_track, 2);
|
||||||
|
|
||||||
g_object_unref(model);
|
g_object_unref(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue