X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui_projecttree.c;h=a17df32ee3433e79c58866160680c8411a4faec6;hb=30a0f69b259de2ebc4b9a69121bda91a6be1e3b5;hp=d993a17a21ae85ca224b4b659e7591afba403454;hpb=1ff664c141ac890095ba33d96d28aca87f8b2ff7;p=ptask.git diff --git a/src/ui_projecttree.c b/src/ui_projecttree.c index d993a17..a17df32 100644 --- a/src/ui_projecttree.c +++ b/src/ui_projecttree.c @@ -17,20 +17,51 @@ * 02110-1301 USA */ #include +#include #include #include +enum { + COL_NAME, + COL_COUNT +}; + static GtkTreeView *w_treeview; void ui_projecttree_init(GtkBuilder *builder) { - w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "projecttree")); + w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, + "projecttree")); +} + +const char *ui_projecttree_get_project() +{ + GtkTreePath *path; + GtkTreeViewColumn *cols; + GtkTreeIter iter; + GtkTreeModel *model; + GValue value = {0,}; + + log_debug("get_selected_project()"); + + gtk_tree_view_get_cursor(w_treeview, &path, &cols); + + if (path) { + model = gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview)); + gtk_tree_model_get_iter(model, &iter, path); + gtk_tree_model_get_value(model, &iter, COL_NAME, &value); + + return g_value_get_string(&value); + } + + return NULL; } + void ui_projecttree_update(struct task **ts) { - struct project **prjs; + struct project **prjs, **cur; GtkTreeModel *model; GtkTreeIter iter; @@ -40,15 +71,16 @@ void ui_projecttree_update(struct task **ts) gtk_list_store_clear(GTK_LIST_STORE(model)); prjs = tw_get_projects(ts); - while (*prjs) { + for (cur = prjs; *cur; cur++) { gtk_list_store_append(GTK_LIST_STORE(model), &iter); gtk_list_store_set(GTK_LIST_STORE(model), &iter, - 0, (*prjs)->name, - 1, (*prjs)->count, + COL_NAME, (*cur)->name, + COL_COUNT, (*cur)->count, -1); - - prjs++; } + + tw_project_list_free(prjs); } +