diff --git a/tests/examples/ges-ui.c b/tests/examples/ges-ui.c
index 73419a3c55..a890c25c9e 100644
--- a/tests/examples/ges-ui.c
+++ b/tests/examples/ges-ui.c
@@ -61,6 +61,9 @@ void app_selection_changed_cb (GtkTreeSelection * selection, App * app);
gboolean duration_scale_change_value_cb (GtkRange * range, GtkScrollType
unused, gdouble value, App * app);
+void duration_cell_func (GtkTreeViewColumn * column, GtkCellRenderer * renderer,
+ GtkTreeModel * model, GtkTreeIter * iter, gpointer user);
+
gboolean create_ui (App * app);
void connect_to_filesource (GESTimelineObject * object, App * app);
@@ -124,6 +127,18 @@ duration_scale_change_value_cb (GtkRange * range, GtkScrollType unused,
return TRUE;
}
+void
+duration_cell_func (GtkTreeViewColumn * column, GtkCellRenderer * renderer,
+ GtkTreeModel * model, GtkTreeIter * iter, gpointer user)
+{
+ gchar buf[30];
+ guint64 duration;
+
+ gtk_tree_model_get (model, iter, 1, &duration, -1);
+ g_snprintf (buf, sizeof (buf), "%u:%02u:%02u.%09u", GST_TIME_ARGS (duration));
+ g_object_set (renderer, "text", &buf, NULL);
+}
+
/* application methods ******************************************************/
static void selection_foreach (GtkTreeModel * model, GtkTreePath * path,
@@ -388,6 +403,8 @@ create_ui (App * app)
{
GtkBuilder *builder;
GtkTreeView *timeline;
+ GtkTreeViewColumn *duration_col;
+ GtkCellRenderer *duration_renderer;
/* construct widget tree */
@@ -401,6 +418,8 @@ create_ui (App * app)
GET_WIDGET (app->properties, "properties", GTK_WIDGET);
GET_WIDGET (app->main_window, "window", GTK_WIDGET);
GET_WIDGET (app->duration, "duration_scale", GTK_HSCALE);
+ GET_WIDGET (duration_col, "duration_column", GTK_TREE_VIEW_COLUMN);
+ GET_WIDGET (duration_renderer, "duration_renderer", GTK_CELL_RENDERER);
/* we care when the tree selection changes */
@@ -417,6 +436,11 @@ create_ui (App * app)
goto fail;
gtk_tree_view_set_model (timeline, GTK_TREE_MODEL (app->model));
+ /* register custom cell data function */
+
+ gtk_tree_view_column_set_cell_data_func (duration_col, duration_renderer,
+ duration_cell_func, NULL, NULL);
+
/* register callbacks on GES objects */
g_signal_connect (app->layer, "object-added",
diff --git a/tests/examples/ges-ui.glade b/tests/examples/ges-ui.glade
index 454db25234..31e73c97bc 100644
--- a/tests/examples/ges-ui.glade
+++ b/tests/examples/ges-ui.glade
@@ -200,7 +200,7 @@
autosize
Duration
-
+
1