From df97fb831b4672ce464b472afe15aecc06c60f33 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Tue, 16 Oct 2012 21:47:12 +0000 Subject: [PATCH] --- src/glade/gtask.glade | 83 ++++++++++++++++++++++++++++++++++++++++++++++++--- src/main.c | 42 +++++++++++++++++++++++++- 2 files changed, 120 insertions(+), 5 deletions(-) diff --git a/src/glade/gtask.glade b/src/glade/gtask.glade index f02c3b3..1bdc745 100644 --- a/src/glade/gtask.glade +++ b/src/glade/gtask.glade @@ -101,6 +101,26 @@ button2 + + + + + + + + None + + + High + + + Medium + + + Low + + + @@ -125,6 +145,8 @@ + + @@ -258,7 +280,6 @@ 4 4 taskstore - False treeviewcolumn1 1 both @@ -280,6 +301,18 @@ + + priority + 4 + + + + 4 + + + + + 10 Project @@ -365,7 +398,7 @@ 0 - 2 + 3 1 1 @@ -389,7 +422,7 @@ 1 - 2 + 3 1 1 @@ -425,7 +458,7 @@ 0 - 1 + 2 1 1 @@ -441,6 +474,48 @@ 1 + 2 + 1 + 1 + + + + + True + False + start + 4 + 4 + 4 + 4 + Priority: + + + 0 + 1 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + prioritystore + 0 + + + + 0 + + + + + 1 1 1 1 diff --git a/src/main.c b/src/main.c index fd58304..864edb9 100644 --- a/src/main.c +++ b/src/main.c @@ -33,6 +33,7 @@ static GtkEntry *w_project; static GtkTreeView *w_treeview; static GtkWidget *w_tasksave_btn; static GtkComboBox *w_status; +static GtkComboBox *w_priority; enum { COL_ID, @@ -88,6 +89,9 @@ static void clear_task_panel() gtk_entry_set_text(w_project, ""); gtk_widget_set_sensitive(GTK_WIDGET(w_project), 0); + + gtk_combo_box_set_active(w_priority, 0); + gtk_widget_set_sensitive(GTK_WIDGET(w_priority), 0); } static void refresh() @@ -142,9 +146,10 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) { struct task *task; GtkTextBuffer *buf; - char *txt; + char *txt, *pri; GtkTextIter sIter, eIter; const char *ctxt; + int priority; task = get_selected_task(GTK_TREE_VIEW(w_treeview)); @@ -170,6 +175,26 @@ static int tasksave_clicked_cbk(GtkButton *btn, gpointer data) if (!task->project || strcmp(ctxt, task->project)) tw_modify_project(task->uuid, ctxt); + priority = gtk_combo_box_get_active(w_priority); + printf("priority: %d\n", priority); + + switch (priority) { + case 1: + pri = "H"; + break; + case 2: + pri = "M"; + break; + case 3: + pri = "L"; + break; + default: + pri = ""; + } + + if (strcmp(task->priority, pri)) + tw_modify_priority(task->uuid, pri); + refresh(); return FALSE; @@ -236,6 +261,7 @@ static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data) { struct task *task; GtkTextBuffer *buf; + int priority; printf("cursor_changed_cbk\n"); @@ -262,6 +288,18 @@ 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(GTK_WIDGET(w_priority), 1); + if (!strcmp(task->priority, "H")) + priority = 1; + else if (!strcmp(task->priority, "M")) + priority = 2; + else if (!strcmp(task->priority, "L")) + priority = 3; + else + priority = 0; + + gtk_combo_box_set_active(w_priority, priority); } else { printf("clear task widgets\n"); clear_task_panel(); @@ -292,6 +330,8 @@ int main(int argc, char **argv) "taskdescription")); w_project = GTK_ENTRY(gtk_builder_get_object(builder, "taskproject")); w_status = GTK_COMBO_BOX(gtk_builder_get_object(builder, "status")); + w_priority = GTK_COMBO_BOX(gtk_builder_get_object(builder, + "taskpriority")); refresh(); -- 2.7.4