(no commit message)
[ptask.git] / src / main.c
index 0d815ce..7bf75ba 100644 (file)
@@ -30,6 +30,7 @@ static struct task **tasks;
 static GtkTextView *w_note;
 static GtkEntry *w_description;
 static GtkTreeView *w_treeview;
+static GtkWidget *w_tasksave_btn;
 
 static struct task *get_selected_task(GtkTreeView *treeview)
 {
@@ -38,6 +39,8 @@ static struct task *get_selected_task(GtkTreeView *treeview)
        gint *i;
        struct task *task;
 
+       printf("get_selected_task\n");
+
        gtk_tree_view_get_cursor(treeview, &path, &cols);
 
        if (path) {
@@ -53,6 +56,8 @@ static struct task *get_selected_task(GtkTreeView *treeview)
                return task;
        }
 
+       printf("get_selected_task returns NULL\n");
+
        return NULL;
 }
 
@@ -61,8 +66,9 @@ static void refresh()
        GtkTreeModel *model;
        struct task **tasks_cur;
        struct task *task;
-       GtkTreeIter iter;
        int i;
+       GtkTreeIter iter;
+       /*GtkTreeSelection *sel;*/
 
        tasks = get_all_tasks();
 
@@ -85,6 +91,11 @@ static void refresh()
                                   1, (*tasks_cur)->description,
                                   -1);
        }
+
+       /*
+       sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(w_treeview));
+       gtk_tree_model_get_iter_first(model, &iter);
+       gtk_tree_selection_select_iter(sel, &iter);*/
 }
 
 static int tasksave_clicked_cbk(GtkButton *btn, gpointer data)
@@ -158,6 +169,9 @@ static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data)
                }
 
                gtk_entry_set_text(w_description, task->description);
+               gtk_widget_set_sensitive(w_tasksave_btn, 1);
+       } else {
+               gtk_widget_set_sensitive(w_tasksave_btn, 0);
        }
 
        return FALSE;
@@ -193,6 +207,8 @@ int main(int argc, char **argv)
        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;
 
        btn = GTK_WIDGET(gtk_builder_get_object(builder, "refresh"));
        g_signal_connect(btn,