X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fmain.c;h=b39f554f6cd15f3f545c2c3c1273dd48ccad38b1;hb=b1c1b82a0b0360a7bed8612084e0d6228ab4b4b0;hp=78beb8feaae36de2fdbf7d8547c399a4930cc8a8;hpb=043d8c38ecd058ce89cfdce68ec173603ce538dd;p=ptask.git diff --git a/src/main.c b/src/main.c index 78beb8f..b39f554 100644 --- a/src/main.c +++ b/src/main.c @@ -69,14 +69,14 @@ static void clear_task_panel() GtkTextBuffer *buf; gtk_widget_set_sensitive(w_tasksave_btn, 0); - + buf = gtk_text_view_get_buffer(w_note); gtk_text_buffer_set_text(buf, "", 0); gtk_widget_set_sensitive(GTK_WIDGET(w_note), 0); - + gtk_entry_set_text(w_description, ""); gtk_widget_set_sensitive(GTK_WIDGET(w_description), 0); - + gtk_entry_set_text(w_project, ""); gtk_widget_set_sensitive(GTK_WIDGET(w_project), 0); } @@ -94,16 +94,16 @@ static void refresh() status = gtk_combo_box_get_active(w_status); printf("status: %d\n", status); - + switch (status) { case 0: - tasks = get_all_tasks("pending"); + tasks = tw_get_all_tasks("pending"); break; case 1: - tasks = get_all_tasks("completed"); + tasks = tw_get_all_tasks("completed"); break; default: - tasks = get_all_tasks("pending"); + tasks = tw_get_all_tasks("pending"); } model = gtk_tree_view_get_model(GTK_TREE_VIEW(w_treeview)); @@ -131,7 +131,7 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) { struct task *task; GtkTextBuffer *buf; - char *txt, *opts; + char *txt; GtkTextIter sIter, eIter; const char *ctxt; @@ -152,26 +152,19 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) } ctxt = gtk_entry_get_text(w_description); - txt = escape(ctxt); + if (!task->description || strcmp(ctxt, task->description)) + tw_modify_description(task->uuid, ctxt); - opts = malloc(1 - + strlen(task->uuid) - + strlen(" modify description:\"") - + strlen(txt) - + strlen("\"") - + 1); - sprintf(opts, " %s modify \"%s\"", task->uuid, txt); - - task_exec(opts); - - free(txt); + ctxt = gtk_entry_get_text(w_project); + if (!task->project || strcmp(ctxt, task->project)) + tw_modify_project(task->uuid, ctxt); refresh(); return FALSE; } -static int refresh_clicked_cbk(GtkButton *btn, gpointer data) +int refresh_clicked_cbk(GtkButton *btn, gpointer data) { printf("refresh_clicked_cbk\n"); refresh(); @@ -250,6 +243,8 @@ int main(int argc, char **argv) refresh(); + gtk_builder_connect_signals(builder, NULL); + g_signal_connect(w_treeview, "cursor-changed", (GCallback)cursor_changed_cbk, tasks); @@ -262,9 +257,9 @@ int main(int argc, char **argv) gtk_widget_set_sensitive(btn, 0); w_tasksave_btn = btn; - btn = GTK_WIDGET(gtk_builder_get_object(builder, "refresh")); + /*btn = GTK_WIDGET(gtk_builder_get_object(builder, "refresh")); g_signal_connect(btn, - "clicked", (GCallback)refresh_clicked_cbk, tasks); + "clicked", (GCallback)refresh_clicked_cbk, tasks);*/ g_object_unref(G_OBJECT(builder));