X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fmain.c;h=53c2e1e1cff92c112259ae7eff2cf0bfb3adaf5e;hb=65ecdd3343d0c9bc8359941e56669e962d715425;hp=6efc6c7934d18189984e77995ea243aa204477ac;hpb=4e7cd76bf11ac81c04727a6297486474d703bde8;p=ptask.git diff --git a/src/main.c b/src/main.c index 6efc6c7..53c2e1e 100644 --- a/src/main.c +++ b/src/main.c @@ -24,6 +24,7 @@ #include +#include "note.h" #include "tw.h" static struct task **tasks; @@ -32,6 +33,7 @@ static GtkEntry *w_description; static GtkEntry *w_project; static GtkTreeView *w_treeview; static GtkWidget *w_tasksave_btn; +static GtkWidget *w_taskdone_btn; static GtkComboBox *w_status; static GtkComboBox *w_priority; @@ -79,6 +81,7 @@ static void clear_task_panel() GtkTextBuffer *buf; gtk_widget_set_sensitive(w_tasksave_btn, 0); + gtk_widget_set_sensitive(w_taskdone_btn, 0); buf = gtk_text_view_get_buffer(w_note); gtk_text_buffer_set_text(buf, "", 0); @@ -110,6 +113,9 @@ static void refresh() status = gtk_combo_box_get_active(w_status); printf("status: %d\n", status); + if (tasks) + tw_task_list_free(tasks); + switch (status) { case 0: tasks = tw_get_all_tasks("pending"); @@ -169,17 +175,16 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) printf("tasksave_clicked_cbk %d\n", task->id); - if (task->note) { - buf = gtk_text_view_get_buffer(w_note); + buf = gtk_text_view_get_buffer(w_note); - gtk_text_buffer_get_iter_at_offset(buf, &sIter, 0); - gtk_text_buffer_get_iter_at_offset(buf, &eIter, -1); - txt = gtk_text_buffer_get_text(buf, &sIter, &eIter, TRUE); + gtk_text_buffer_get_iter_at_offset(buf, &sIter, 0); + gtk_text_buffer_get_iter_at_offset(buf, &eIter, -1); + txt = gtk_text_buffer_get_text(buf, &sIter, &eIter, TRUE); - txt = escape(txt); + printf("note=%s\n", txt); - printf("%s\n", txt); - } + if (!task->note || strcmp(txt, task->note)) + note_put(task->uuid, txt); ctxt = gtk_entry_get_text(w_description); if (!task->description || strcmp(ctxt, task->description)) @@ -235,7 +240,7 @@ int newtask_clicked_cbk(GtkButton *btn, gpointer data) builder = gtk_builder_new(); gtk_builder_add_from_file (builder, - PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "gtask.glade", + PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade", NULL); diag = GTK_DIALOG(gtk_builder_get_object(builder, "diag_tasknew")); gtk_builder_connect_signals(builder, NULL); @@ -316,6 +321,7 @@ static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data) gtk_widget_set_sensitive(GTK_WIDGET(w_project), 1); gtk_widget_set_sensitive(w_tasksave_btn, 1); + gtk_widget_set_sensitive(w_taskdone_btn, 1); gtk_widget_set_sensitive(GTK_WIDGET(w_priority), 1); priority = priority_to_int(task->priority); @@ -365,7 +371,7 @@ int main(int argc, char **argv) builder = gtk_builder_new(); gtk_builder_add_from_file (builder, - PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "gtask.glade", + PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade", NULL); window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); @@ -396,12 +402,17 @@ int main(int argc, char **argv) g_signal_connect(w_status, "changed", (GCallback)status_changed_cbk, tasks); + btn = GTK_WIDGET(gtk_builder_get_object(builder, "tasksave")); g_signal_connect(btn, "clicked", (GCallback)tasksave_clicked_cbk, tasks); gtk_widget_set_sensitive(btn, 0); w_tasksave_btn = btn; + w_taskdone_btn = GTK_WIDGET(gtk_builder_get_object(builder, + "taskdone")); + gtk_widget_set_sensitive(w_taskdone_btn, 0); + g_object_unref(G_OBJECT(builder)); gtk_widget_show_all(window);