X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui_taskpanel.c;h=d2433910785b39f569f051a1b3e6063e1ddbe899;hb=2336c8428b6fff8f97cb71bfbe4472080ac92938;hp=3653cd095289fc39508c573a58efda96d366657a;hpb=9fdef88f8d8f65ed6b74c9213acac7344feedf67;p=ptask.git diff --git a/src/ui_taskpanel.c b/src/ui_taskpanel.c index 3653cd0..d243391 100644 --- a/src/ui_taskpanel.c +++ b/src/ui_taskpanel.c @@ -29,6 +29,7 @@ static GtkEntry *w_description; static GtkEntry *w_project; static GtkComboBox *w_priority; static GtkButton *w_tasksave_btn; +static GtkButton *w_taskremove_btn; static GtkButton *w_taskdone_btn; static GtkButton *w_taskcancel_btn; @@ -40,6 +41,19 @@ static void enable(int enable) gtk_widget_set_sensitive(GTK_WIDGET(w_tasksave_btn), enable); gtk_widget_set_sensitive(GTK_WIDGET(w_taskdone_btn), enable); + + if (current_task && current_task->recur) { + gtk_widget_set_sensitive(GTK_WIDGET(w_taskremove_btn), FALSE); + gtk_widget_set_tooltip_text + (w_taskremove_btn, + "The removal of recurrent tasks is not supported due " + "to the taskwarrior bug TW-638"); + gtk_widget_set_has_tooltip(w_taskremove_btn, TRUE); + } else { + gtk_widget_set_sensitive(GTK_WIDGET(w_taskremove_btn), enable); + gtk_widget_set_has_tooltip(w_taskremove_btn, FALSE); + } + gtk_widget_set_sensitive(GTK_WIDGET(w_taskcancel_btn), enable); buf = gtk_text_view_get_buffer(w_note); @@ -73,7 +87,7 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) task = current_task; - log_fct(__func__, "%d", task->id); + log_fct("%d", task->id); buf = gtk_text_view_get_buffer(w_note); @@ -121,7 +135,7 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) void ui_taskpanel_init(GtkBuilder *builder) { - log_fct(__func__, "ENTER"); + log_fct("ENTER"); w_note = GTK_TEXT_VIEW(gtk_builder_get_object(builder, "tasknote")); @@ -133,6 +147,9 @@ void ui_taskpanel_init(GtkBuilder *builder) w_tasksave_btn = GTK_BUTTON(gtk_builder_get_object(builder, "tasksave")); + w_taskremove_btn = GTK_BUTTON(gtk_builder_get_object(builder, + "taskremove")); + g_signal_connect(w_tasksave_btn, "clicked", (GCallback)tasksave_clicked_cbk, @@ -145,7 +162,7 @@ void ui_taskpanel_init(GtkBuilder *builder) enable(0); - log_fct(__func__, "EXIT"); + log_fct("EXIT"); } static int priority_to_int(const char *str) @@ -198,7 +215,7 @@ void ui_taskpanel_update(struct task *task) int taskdone_clicked_cbk(GtkButton *btn, gpointer data) { if (current_task) { - tw_done(current_task->uuid); + tw_task_done(current_task->uuid); refresh(); } @@ -210,7 +227,7 @@ int taskremove_clicked_cbk(GtkButton *btn, gpointer data) log_fct_enter(); if (current_task) { - log_fct(__func__, "uuid=%d", current_task->uuid); + log_fct("uuid=%d", current_task->uuid); tw_task_remove(current_task->uuid); refresh(); } @@ -219,3 +236,14 @@ int taskremove_clicked_cbk(GtkButton *btn, gpointer data) return FALSE; } + +int taskpanel_cancel_clicked_cbk(GtkButton *btn, gpointer data) +{ + log_fct_enter(); + + ui_taskpanel_update(current_task); + + log_fct_exit(); + + return FALSE; +}