avoid removal of recurrent task due to TW-638 bug of taskwarrior
[ptask.git] / src / ui_taskpanel.c
index 675a0a1..d243391 100644 (file)
@@ -41,7 +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);
-       gtk_widget_set_sensitive(GTK_WIDGET(w_taskremove_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);
@@ -75,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);
 
@@ -123,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"));
 
@@ -150,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)
@@ -203,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();
        }
 
@@ -215,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();
        }
@@ -224,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;
+}