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;
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);
task = current_task;
- log_fct(__func__, "%d", task->id);
+ log_fct("%d", task->id);
buf = gtk_text_view_get_buffer(w_note);
void ui_taskpanel_init(GtkBuilder *builder)
{
- log_fct(__func__, "ENTER");
+ log_fct("ENTER");
w_note = GTK_TEXT_VIEW(gtk_builder_get_object(builder, "tasknote"));
w_tasksave_btn = GTK_BUTTON(gtk_builder_get_object(builder,
"tasksave"));
- g_signal_connect(w_tasksave_btn,
- "clicked",
- (GCallback)tasksave_clicked_cbk,
+ w_taskremove_btn = GTK_BUTTON(gtk_builder_get_object(builder,
+ "taskremove"));
+
+ g_signal_connect(w_tasksave_btn,
+ "clicked",
+ (GCallback)tasksave_clicked_cbk,
NULL);
w_taskdone_btn = GTK_BUTTON(gtk_builder_get_object(builder,
enable(0);
- log_fct(__func__, "EXIT");
+ log_fct("EXIT");
}
static int priority_to_int(const char *str)
}
}
+int taskdone_clicked_cbk(GtkButton *btn, gpointer data)
+{
+ if (current_task) {
+ tw_task_done(current_task->uuid);
+ refresh();
+ }
+
+ return FALSE;
+}
+
+int taskremove_clicked_cbk(GtkButton *btn, gpointer data)
+{
+ log_fct_enter();
+
+ if (current_task) {
+ log_fct("uuid=%d", current_task->uuid);
+ tw_task_remove(current_task->uuid);
+ refresh();
+ }
+
+ log_fct_exit();
+
+ return FALSE;
+}
+
+int taskpanel_cancel_clicked_cbk(GtkButton *btn, gpointer data)
+{
+ log_fct_enter();
+
+ ui_taskpanel_update(current_task);
+
+ log_fct_exit();
+
+ return FALSE;
+}