aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorArturo Espinosa <unammx@src.gnome.org>1999-03-17 02:56:51 +0800
committerArturo Espinosa <unammx@src.gnome.org>1999-03-17 02:56:51 +0800
commit35a4e49caab734728e0c227e1ae83baed7788c29 (patch)
tree678cde42783da11c2e66dad543d9e034212349fb /calendar
parent9adbbaf76fe141c5a5051999f37a9ee9a005153e (diff)
downloadgsoc2013-evolution-35a4e49caab734728e0c227e1ae83baed7788c29.tar.gz
gsoc2013-evolution-35a4e49caab734728e0c227e1ae83baed7788c29.tar.zst
gsoc2013-evolution-35a4e49caab734728e0c227e1ae83baed7788c29.zip
Add Summary editing for TODO items -rconover
svn path=/trunk/; revision=761
Diffstat (limited to 'calendar')
-rw-r--r--calendar/gncal-todo.c50
-rw-r--r--calendar/gui/gncal-todo.c50
2 files changed, 96 insertions, 4 deletions
diff --git a/calendar/gncal-todo.c b/calendar/gncal-todo.c
index 4c48fe1807..c64233ae88 100644
--- a/calendar/gncal-todo.c
+++ b/calendar/gncal-todo.c
@@ -54,15 +54,20 @@ ok_button (GtkWidget *widget, GnomeDialog *dialog)
GncalTodo *todo;
GtkEntry *entry;
GnomeDateEdit *due_date;
+ GtkText *comment;
ico = gtk_object_get_user_data (GTK_OBJECT (dialog));
todo = GNCAL_TODO (gtk_object_get_data (GTK_OBJECT (dialog), "gncal_todo"));
entry = GTK_ENTRY (gtk_object_get_data (GTK_OBJECT (dialog), "summary_entry"));
due_date = GNOME_DATE_EDIT (gtk_object_get_data(GTK_OBJECT(dialog), "due_date"));
+ comment = GTK_TEXT(gtk_object_get_data (GTK_OBJECT(dialog), "comment"));
if (ico->summary)
- g_free (ico->summary);
+ g_free (ico->summary);
+ if (ico->comment)
+ g_free (ico->comment);
ico->dtend = gnome_date_edit_get_date (due_date);
ico->summary = g_strdup (gtk_entry_get_text (entry));
+ ico->comment = gtk_editable_get_chars( GTK_EDITABLE(comment), 0, -1);
ico->user_data = NULL;
if (ico->new) {
@@ -107,8 +112,14 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
GtkWidget *due_box;
GtkWidget *due_label;
GtkWidget *due_entry;
+ GtkWidget *comment_box;
+ GtkWidget *comment_label;
+ GtkWidget *comment_text;
+ GtkWidget *comment_internal_box;
+ GtkWidget *comment_sep;
GtkWidget *w;
+
GtkWidget *entry;
dialog = gnome_dialog_new (ico->new ? _("Create to-do item") : _("Edit to-do item"),
@@ -127,6 +138,17 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), due_box, FALSE, FALSE, 0);
gtk_widget_show (due_box);
+ comment_box = gtk_hbox_new (FALSE, 4);
+ gtk_container_border_width (GTK_CONTAINER (comment_box), 4);
+ gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), comment_box, FALSE, FALSE, 0);
+ gtk_widget_show (comment_box);
+
+ comment_internal_box = gtk_vbox_new(FALSE,2);
+ gtk_container_border_width (GTK_CONTAINER (comment_internal_box), 4);
+
+ gtk_box_pack_start (GTK_BOX (comment_box), comment_internal_box, TRUE, TRUE, 0);
+ gtk_widget_show (comment_internal_box);
+
w = gtk_label_new (_("Summary:"));
gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0);
gtk_widget_show (w);
@@ -145,7 +167,30 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
due_entry = date_edit_new (ico->dtend, FALSE);
gtk_box_pack_start (GTK_BOX (due_box), due_entry, TRUE, TRUE, 0);
gtk_widget_show (due_entry);
-
+
+
+ comment_sep = gtk_hseparator_new ();
+ gtk_box_pack_start (GTK_BOX (comment_box), comment_sep, FALSE, FALSE, 0);
+ gtk_widget_show(comment_sep);
+
+ comment_label = gtk_label_new (_("Item Comments:"));
+ gtk_label_set_justify(GTK_LABEL(comment_label), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (comment_internal_box), comment_label, TRUE, TRUE, 0);
+ gtk_widget_show (comment_label);
+
+
+
+
+ comment_text = gtk_text_new (NULL, NULL);
+ gtk_text_set_editable (GTK_TEXT (comment_text), TRUE);
+ gtk_text_set_word_wrap( GTK_TEXT(comment_text), TRUE);
+ gtk_text_freeze(GTK_TEXT(comment_text));
+ if(ico->comment) {
+ gtk_text_insert(GTK_TEXT(comment_text), NULL, NULL, NULL, ico->comment, strlen(ico->comment));
+ }
+ gtk_text_thaw(GTK_TEXT(comment_text));
+ gtk_box_pack_start (GTK_BOX (comment_internal_box), comment_text, FALSE, TRUE, 0);
+ gtk_widget_show (comment_text);
ico->user_data = dialog;
@@ -154,6 +199,7 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
gtk_object_set_data (GTK_OBJECT (dialog), "gncal_todo", todo);
gtk_object_set_data (GTK_OBJECT (dialog), "summary_entry", entry);
gtk_object_set_data (GTK_OBJECT (dialog), "due_date", due_entry);
+ gtk_object_set_data (GTK_OBJECT (dialog), "comment", comment_text);
gnome_dialog_button_connect (GNOME_DIALOG (dialog), 0, (GtkSignalFunc) ok_button, dialog);
gnome_dialog_button_connect (GNOME_DIALOG (dialog), 1, (GtkSignalFunc) cancel_button, dialog);
diff --git a/calendar/gui/gncal-todo.c b/calendar/gui/gncal-todo.c
index 4c48fe1807..c64233ae88 100644
--- a/calendar/gui/gncal-todo.c
+++ b/calendar/gui/gncal-todo.c
@@ -54,15 +54,20 @@ ok_button (GtkWidget *widget, GnomeDialog *dialog)
GncalTodo *todo;
GtkEntry *entry;
GnomeDateEdit *due_date;
+ GtkText *comment;
ico = gtk_object_get_user_data (GTK_OBJECT (dialog));
todo = GNCAL_TODO (gtk_object_get_data (GTK_OBJECT (dialog), "gncal_todo"));
entry = GTK_ENTRY (gtk_object_get_data (GTK_OBJECT (dialog), "summary_entry"));
due_date = GNOME_DATE_EDIT (gtk_object_get_data(GTK_OBJECT(dialog), "due_date"));
+ comment = GTK_TEXT(gtk_object_get_data (GTK_OBJECT(dialog), "comment"));
if (ico->summary)
- g_free (ico->summary);
+ g_free (ico->summary);
+ if (ico->comment)
+ g_free (ico->comment);
ico->dtend = gnome_date_edit_get_date (due_date);
ico->summary = g_strdup (gtk_entry_get_text (entry));
+ ico->comment = gtk_editable_get_chars( GTK_EDITABLE(comment), 0, -1);
ico->user_data = NULL;
if (ico->new) {
@@ -107,8 +112,14 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
GtkWidget *due_box;
GtkWidget *due_label;
GtkWidget *due_entry;
+ GtkWidget *comment_box;
+ GtkWidget *comment_label;
+ GtkWidget *comment_text;
+ GtkWidget *comment_internal_box;
+ GtkWidget *comment_sep;
GtkWidget *w;
+
GtkWidget *entry;
dialog = gnome_dialog_new (ico->new ? _("Create to-do item") : _("Edit to-do item"),
@@ -127,6 +138,17 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), due_box, FALSE, FALSE, 0);
gtk_widget_show (due_box);
+ comment_box = gtk_hbox_new (FALSE, 4);
+ gtk_container_border_width (GTK_CONTAINER (comment_box), 4);
+ gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)->vbox), comment_box, FALSE, FALSE, 0);
+ gtk_widget_show (comment_box);
+
+ comment_internal_box = gtk_vbox_new(FALSE,2);
+ gtk_container_border_width (GTK_CONTAINER (comment_internal_box), 4);
+
+ gtk_box_pack_start (GTK_BOX (comment_box), comment_internal_box, TRUE, TRUE, 0);
+ gtk_widget_show (comment_internal_box);
+
w = gtk_label_new (_("Summary:"));
gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0);
gtk_widget_show (w);
@@ -145,7 +167,30 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
due_entry = date_edit_new (ico->dtend, FALSE);
gtk_box_pack_start (GTK_BOX (due_box), due_entry, TRUE, TRUE, 0);
gtk_widget_show (due_entry);
-
+
+
+ comment_sep = gtk_hseparator_new ();
+ gtk_box_pack_start (GTK_BOX (comment_box), comment_sep, FALSE, FALSE, 0);
+ gtk_widget_show(comment_sep);
+
+ comment_label = gtk_label_new (_("Item Comments:"));
+ gtk_label_set_justify(GTK_LABEL(comment_label), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (comment_internal_box), comment_label, TRUE, TRUE, 0);
+ gtk_widget_show (comment_label);
+
+
+
+
+ comment_text = gtk_text_new (NULL, NULL);
+ gtk_text_set_editable (GTK_TEXT (comment_text), TRUE);
+ gtk_text_set_word_wrap( GTK_TEXT(comment_text), TRUE);
+ gtk_text_freeze(GTK_TEXT(comment_text));
+ if(ico->comment) {
+ gtk_text_insert(GTK_TEXT(comment_text), NULL, NULL, NULL, ico->comment, strlen(ico->comment));
+ }
+ gtk_text_thaw(GTK_TEXT(comment_text));
+ gtk_box_pack_start (GTK_BOX (comment_internal_box), comment_text, FALSE, TRUE, 0);
+ gtk_widget_show (comment_text);
ico->user_data = dialog;
@@ -154,6 +199,7 @@ simple_todo_editor (GncalTodo *todo, iCalObject *ico)
gtk_object_set_data (GTK_OBJECT (dialog), "gncal_todo", todo);
gtk_object_set_data (GTK_OBJECT (dialog), "summary_entry", entry);
gtk_object_set_data (GTK_OBJECT (dialog), "due_date", due_entry);
+ gtk_object_set_data (GTK_OBJECT (dialog), "comment", comment_text);
gnome_dialog_button_connect (GNOME_DIALOG (dialog), 0, (GtkSignalFunc) ok_button, dialog);
gnome_dialog_button_connect (GNOME_DIALOG (dialog), 1, (GtkSignalFunc) cancel_button, dialog);