X-Git-Url: http://git.wpitchoune.net/gitweb/?p=ptask.git;a=blobdiff_plain;f=src%2Fui_projecttree.c;h=d249b29e9f282ce54cb72d511f6d90a31dd4ae30;hp=2e4f4ed73c39f6fe53ea9e55e9732c9cf10fa058;hb=71d1d4d6f67700c58fb51513ec0ae17924431073;hpb=6202faf9d4e3ac86a746c18bea31963b113fd861 diff --git a/src/ui_projecttree.c b/src/ui_projecttree.c index 2e4f4ed..d249b29 100644 --- a/src/ui_projecttree.c +++ b/src/ui_projecttree.c @@ -17,6 +17,7 @@ * 02110-1301 USA */ #include +#include #include #include @@ -32,9 +33,13 @@ static GtkTreeView *w_treeview; static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data) { + const char *prj; + log_fct_enter(); - ui_tasktree_update_filter(ui_projecttree_get_project()); + prj = ui_projecttree_get_project(); + + ui_tasktree_update_filter(prj); log_fct_exit(); @@ -87,10 +92,15 @@ void ui_projecttree_update(struct task **ts) struct project **prjs, **cur; GtkTreeModel *model; GtkTreeIter iter; + GtkTreePath *p; + const char *current_prj; log_fct_enter(); model = gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview)); + + current_prj = ui_projecttree_get_project(); + gtk_list_store_clear(GTK_LIST_STORE(model)); prjs = tw_get_projects(ts); @@ -102,6 +112,18 @@ void ui_projecttree_update(struct task **ts) COL_NAME, (*cur)->name, COL_COUNT, (*cur)->count, -1); + + if (current_prj) { + if (!strcmp((*cur)->name, current_prj)) { + p = gtk_tree_model_get_path(model, &iter); + if (p) { + gtk_tree_view_set_cursor(w_treeview, + p, + NULL, + FALSE); + } + } + } } tw_project_list_free(prjs);