- refresh();
-
- return FALSE;
-}
-
-int refresh_clicked_cbk(GtkButton *btn, gpointer data)
-{
- log_debug("refresh_clicked_cbk");
- refresh();
-
- return FALSE;
-}
-
-static int status_changed_cbk(GtkComboBox *w, gpointer data)
-{
- log_debug("status_changed_cbk");
- refresh();
-
- return FALSE;
-}
-
-static int priority_to_int(const char *str)
-{
- switch (*str) {
- case 'H':
- return 3;
- case 'M':
- return 2;
- case 'L':
- return 1;
- default:
- return 0;
- }
-}
-
-static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data)
-{
- struct task *task;
- GtkTextBuffer *buf;
- int priority;
-
- log_debug("cursor_changed_cbk");
-
- task = get_selected_task(treeview);
-
- if (task) {
-
- buf = gtk_text_view_get_buffer(w_note);
- if (task->note)
- gtk_text_buffer_set_text(buf,
- task->note,
- strlen(task->note));
- else
- gtk_text_buffer_set_text(buf, "", 0);
- gtk_widget_set_sensitive(GTK_WIDGET(w_note), 1);
-
- gtk_entry_set_text(w_description, task->description);
- gtk_widget_set_sensitive(GTK_WIDGET(w_description), 1);
-
- if (task->project)
- gtk_entry_set_text(w_project, task->project);
- else
- gtk_entry_set_text(w_project, "");
- 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);
- gtk_combo_box_set_active(w_priority, priority);
- } else {
- log_debug("clear task widgets");
- clear_task_panel();
- log_debug("clear task widgets done");
- }
-
- return FALSE;
-}
-
-static gint priority_cmp(GtkTreeModel *model,
- GtkTreeIter *a,
- GtkTreeIter *b,
- gpointer user_data)
-{
- GValue v1 = {0,}, v2 = {0,};
- const char *str1, *str2;
- int i1, i2;
-
- gtk_tree_model_get_value(model, a, COL_PRIORITY, &v1);
- str1 = g_value_get_string(&v1);
- i1 = priority_to_int(str1);
-
- gtk_tree_model_get_value(model, b, COL_PRIORITY, &v2);
- str2 = g_value_get_string(&v2);
- i2 = priority_to_int(str2);
-
- if (i1 < i2)
- return -1;
- else if (i1 > i2)
- return 1;
- else
- return 0;