(no commit message)
[ptask.git] / src / main.c
index 78beb8f..b1cb995 100644 (file)
@@ -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,19 +152,12 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data)
        }
 
        ctxt = gtk_entry_get_text(w_description);
-       txt = escape(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);
+       if (!task->description || strcmp(ctxt, task->description))
+               tw_modify_description(task->uuid, ctxt);
 
-       free(txt);
+       ctxt = gtk_entry_get_text(w_project);
+       if (!task->project || strcmp(ctxt, task->project))
+               tw_modify_project(task->uuid, ctxt);
 
        refresh();