From b6548d30fb87b09084560ed5e1e59eca078400e2 Mon Sep 17 00:00:00 2001 From: Travis Reitter Date: Fri, 25 Sep 2009 22:18:51 -0700 Subject: [PATCH] use a tree view for tasks to the best of our ability --- src/milk-main-window.c | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/src/milk-main-window.c b/src/milk-main-window.c index 9778b69..041be52 100644 --- a/src/milk-main-window.c +++ b/src/milk-main-window.c @@ -357,6 +357,7 @@ milk_main_window_constructed (GObject* object) GtkTreeModel *model; GtkCellRenderer *renderer; GtkTreeViewColumn *col; + GtkTreeSelection *selection; w = gtk_vbox_new (FALSE, HILDON_MARGIN_DEFAULT); gtk_container_add (GTK_CONTAINER (self), w); @@ -381,19 +382,44 @@ milk_main_window_constructed (GObject* object) gtk_box_pack_start (GTK_BOX (priv->main_vbox), w, TRUE, TRUE, 0); pannable = w; - /* FIXME: attach the model (create a new MilkTaskModel class that syncs - * with the cached tasks) */ + /* FIXME: create a new MilkTaskModel class that syncs with the cached + * tasks */ model = create_task_model (); - w = gtk_tree_view_new_with_model (model); + w = hildon_gtk_tree_view_new_with_model (HILDON_UI_MODE_EDIT, model); + gtk_tree_view_set_headers_visible (w, FALSE); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (w)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE); + + gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (w), TRUE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (w), TRUE); + + col = gtk_tree_view_column_new (); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_expand (col, TRUE); + + gtk_tree_view_insert_column (GTK_TREE_VIEW (w), col, 0); + + gtk_tree_view_column_set_spacing (col, HILDON_MARGIN_DEFAULT); renderer = gtk_cell_renderer_text_new (); - col = gtk_tree_view_column_new_with_attributes ("Priority", renderer, - "text", TASK_COLUMN_PRIORITY, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (w), col); + /* FIXME: unhardcode height */ + gtk_cell_renderer_set_fixed_size (renderer, -1, 72); + gtk_tree_view_column_pack_start (col, renderer, FALSE); + gtk_tree_view_column_set_attributes (col, renderer, + "text", TASK_COLUMN_PRIORITY, + NULL); + renderer = gtk_cell_renderer_text_new (); - col = gtk_tree_view_column_new_with_attributes ("Title", renderer, - "text", TASK_COLUMN_TITLE, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (w), col); + /* FIXME: unhardcode height */ + gtk_cell_renderer_set_fixed_size (renderer, -1, 72); + gtk_tree_view_column_pack_start (col, renderer, TRUE); + gtk_tree_view_column_set_attributes (col, renderer, + "text", TASK_COLUMN_TITLE, + NULL); + g_object_set (renderer, + "ellipsize", PANGO_ELLIPSIZE_END, + NULL); + g_object_unref (model); hildon_pannable_area_add_with_viewport (HILDON_PANNABLE_AREA (pannable), -- 1.7.9.5