projects
/
ptask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed cursor focus
[ptask.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index
85e5b8c
..
d54e623
100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-95,20
+95,30
@@
static void print_help()
void refresh()
{
GtkWidget *dialog;
void refresh()
{
GtkWidget *dialog;
+ const char *current_prj, *current_uuid;
+ struct task **old_tasks;
log_fct_enter();
ui_taskpanel_update(NULL);
if (tasks) {
log_fct_enter();
ui_taskpanel_update(NULL);
if (tasks) {
+ old_tasks = tasks;
+ current_prj = ui_projecttree_get_project();
+ current_uuid = ui_tasktree_get_task_uuid();
ui_tasktree_update(NULL, NULL);
ui_tasktree_update(NULL, NULL);
- tw_task_list_free(tasks);
+ } else {
+ old_tasks = NULL;
+ current_prj = NULL;
+ current_uuid = NULL;
}
tasks = tw_get_all_tasks(ui_get_status_filter());
if (tasks) {
ui_projecttree_update(tasks);
}
tasks = tw_get_all_tasks(ui_get_status_filter());
if (tasks) {
ui_projecttree_update(tasks);
- ui_tasktree_update(tasks, NULL);
+ ui_tasktree_update(tasks, current_prj);
+ if (current_uuid)
+ ui_tasktree_set_selected_task(current_uuid);
} else {
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
} else {
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
@@
-120,6
+130,10
@@
void refresh()
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
+
+ if (old_tasks)
+ tw_task_list_free(old_tasks);
+
log_fct(__func__, "EXIT");
}
log_fct(__func__, "EXIT");
}