printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
}
-static struct task *get_selected_task(GtkTreeView *treeview)
-{
- GtkTreePath *path;
- GtkTreeViewColumn *cols;
- struct task **tasks_cur;
- GtkTreeIter iter;
- GtkTreeModel *model;
- GValue value = {0,};
- const char *uuid;
-
- log_debug("get_selected_task");
-
- gtk_tree_view_get_cursor(treeview, &path, &cols);
-
- if (path) {
- model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
- gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get_value(model, &iter, COL_UUID, &value);
-
- uuid = g_value_get_string(&value);
-
- for (tasks_cur = tasks; *tasks_cur; tasks_cur++)
- if (!strcmp((*tasks_cur)->uuid, uuid))
- return *tasks_cur;
-
- gtk_tree_path_free(path);
- }
-
- return NULL;
-}
-
void refresh()
{
GtkWidget *dialog;
log_fct_enter();
ui_taskpanel_update(NULL);
- if (tasks)
+ if (tasks) {
+ ui_tasktree_update(NULL);
tw_task_list_free(tasks);
+ }
tasks = tw_get_all_tasks(ui_get_status_filter());
-1);
}
ui_projecttree_update(tasks);
+ ui_tasktree_update(tasks);
} else {
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
{
log_fct_enter();
- ui_taskpanel_update(get_selected_task(treeview));
+ ui_taskpanel_update(ui_tasktree_get_selected_task());
log_fct_exit();
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
+#include <string.h>
+
#include <gtk/gtk.h>
#include <log.h>
+#include <ui_tasktree.h>
static GtkTreeView *w_treeview;
+static struct task **current_tasks;
enum {
COL_ID,
g_settings_set_int(settings, "tasks-sort-col", sort_col_id);
g_settings_set_int(settings, "tasks-sort-order", sort_order);
}
+
+
+struct task *ui_tasktree_get_selected_task()
+{
+ GtkTreePath *path;
+ GtkTreeViewColumn *cols;
+ struct task **tasks_cur, *result;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ GValue value = {0,};
+ const char *uuid;
+
+ log_fct_enter();
+
+ result = NULL;
+
+ if (current_tasks) {
+ gtk_tree_view_get_cursor(w_treeview, &path, &cols);
+
+ if (path) {
+ model = gtk_tree_view_get_model(w_treeview);
+ gtk_tree_model_get_iter(model, &iter, path);
+ gtk_tree_model_get_value(model,
+ &iter,
+ COL_UUID,
+ &value);
+
+ uuid = g_value_get_string(&value);
+
+ for (tasks_cur = current_tasks; *tasks_cur; tasks_cur++)
+ if (!strcmp((*tasks_cur)->uuid, uuid))
+ result = *tasks_cur;
+
+ gtk_tree_path_free(path);
+ }
+ }
+
+ log_fct_exit();
+
+ return result;
+}
+
+void ui_tasktree_update(struct task **tasks)
+{
+ current_tasks = tasks;
+}
#include <gtk/gtk.h>
+#include <tw.h>
+
void ui_tasktree_init(GtkBuilder *);
void ui_tasktree_load_settings(GSettings *);
void ui_tasktree_save_settings(GSettings *);
+struct task *ui_tasktree_get_selected_task();
+void ui_tasktree_update(struct task **);
#endif