aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/contact-editor/e-contact-editor.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-06-06 07:49:59 +0800
committerChris Lahey <clahey@src.gnome.org>2001-06-06 07:49:59 +0800
commitf699f9902b5e374070e8dd2c0fe43028f8dfb89f (patch)
treeb01a57a6d74b0c62b082409396a0c8bf1dff7b26 /addressbook/contact-editor/e-contact-editor.c
parente18a8f328c6a9baa1b5b73327776c7edaa938fb5 (diff)
downloadgsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar.gz
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar.bz2
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar.lz
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar.xz
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.tar.zst
gsoc2013-evolution-f699f9902b5e374070e8dd2c0fe43028f8dfb89f.zip
Copy dates as they come in.
2001-06-05 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_set_arg): Copy dates as they come in. * backend/pas/pas-backend-file.c (pas_backend_file_changes_foreach_key, pas_backend_file_changes, pas_backend_file_process_remove_card, pas_backend_file_process_modify_card, pas_backend_file_build_all_cards_list, pas_backend_file_get_vcard, pas_backend_file_maybe_upgrade_db): memset DBTs to 0 before using them. (pas_backend_file_build_all_cards_list): Reindented. * contact-editor/contact-editor.glade: Replaced GnomeDateEdits with a custom widget that creates an EDateEdit. * contact-editor/e-contact-editor.c: Use an EDateEdit here instead of a GnomeDateEdit. svn path=/trunk/; revision=10125
Diffstat (limited to 'addressbook/contact-editor/e-contact-editor.c')
-rw-r--r--addressbook/contact-editor/e-contact-editor.c121
1 files changed, 73 insertions, 48 deletions
diff --git a/addressbook/contact-editor/e-contact-editor.c b/addressbook/contact-editor/e-contact-editor.c
index f4ebc9c68d..e9ad99283f 100644
--- a/addressbook/contact-editor/e-contact-editor.c
+++ b/addressbook/contact-editor/e-contact-editor.c
@@ -28,7 +28,6 @@
#include <gtk/gtkcombo.h>
#include <gtk/gtktext.h>
#include <libgnomeui/gnome-popup-menu.h>
-#include <libgnomeui/gnome-dateedit.h>
#include <libgnome/gnome-i18n.h>
#include <bonobo/bonobo-ui-container.h>
@@ -39,9 +38,12 @@
#include <gal/widgets/e-gui-utils.h>
#include <gal/widgets/e-unicode.h>
+#include <e-util/e-categories-master-list-wombat.h>
+
#include "addressbook/printing/e-contact-print.h"
#include "addressbook/printing/e-contact-print-envelope.h"
#include "e-util/e-gui-utils.h"
+#include "widgets/misc/e-dateedit.h"
#include "e-contact-editor.h"
#include "e-contact-editor-address.h"
@@ -592,6 +594,7 @@ categories_clicked(GtkWidget *button, EContactEditor *editor)
GnomeDialog *dialog;
int result;
GtkWidget *entry = glade_xml_get_widget(editor->gui, "entry-categories");
+ ECategoriesMasterList *ecml;
if (entry && GTK_IS_ENTRY(entry))
categories = e_utf8_gtk_entry_get_text(GTK_ENTRY(entry));
else if (editor->card)
@@ -599,9 +602,12 @@ categories_clicked(GtkWidget *button, EContactEditor *editor)
"categories", &categories,
NULL);
dialog = GNOME_DIALOG(e_categories_new(categories));
+ ecml = e_categories_master_list_wombat_new ();
gtk_object_set(GTK_OBJECT(dialog),
"header", _("This contact belongs to these categories:"),
+ "ecml", ecml,
NULL);
+ gtk_object_unref (GTK_OBJECT (ecml));
gtk_widget_show(GTK_WIDGET(dialog));
result = gnome_dialog_run (dialog);
g_free (categories);
@@ -1973,30 +1979,29 @@ fill_in_info(EContactEditor *editor)
editor->name = e_card_name_copy(name);
widget = glade_xml_get_widget(editor->gui, "dateedit-anniversary");
- if (anniversary && widget && GNOME_IS_DATE_EDIT(widget)) {
- struct tm time_struct = {0,0,0,0,0,0,0,0,0};
- time_t time_val;
- GnomeDateEdit *dateedit;
-
- time_struct.tm_mday = anniversary->day;
- time_struct.tm_mon = anniversary->month - 1;
- time_struct.tm_year = anniversary->year - 1900;
- time_val = mktime(&time_struct);
- dateedit = GNOME_DATE_EDIT(widget);
- gnome_date_edit_set_time(dateedit, time_val);
+ if (widget && E_IS_DATE_EDIT(widget)) {
+ EDateEdit *dateedit;
+ dateedit = E_DATE_EDIT(widget);
+ if (anniversary)
+ e_date_edit_set_date (dateedit,
+ anniversary->year,
+ anniversary->month,
+ anniversary->day);
+ else
+ e_date_edit_set_time (dateedit, -1);
}
widget = glade_xml_get_widget(editor->gui, "dateedit-birthday");
- if (bday && widget && GNOME_IS_DATE_EDIT(widget)) {
- struct tm time_struct = {0,0,0,0,0,0,0,0,0};
- time_t time_val;
- GnomeDateEdit *dateedit;
- time_struct.tm_mday = bday->day;
- time_struct.tm_mon = bday->month - 1;
- time_struct.tm_year = bday->year - 1900;
- time_val = mktime(&time_struct);
- dateedit = GNOME_DATE_EDIT(widget);
- gnome_date_edit_set_time(dateedit, time_val);
+ if (widget && E_IS_DATE_EDIT(widget)) {
+ EDateEdit *dateedit;
+ dateedit = E_DATE_EDIT(widget);
+ if (bday)
+ e_date_edit_set_date (dateedit,
+ bday->year,
+ bday->month,
+ bday->day);
+ else
+ e_date_edit_set_time (dateedit, -1);
}
set_fields(editor);
@@ -2052,10 +2057,8 @@ extract_info(EContactEditor *editor)
{
ECard *card = editor->card;
if (card) {
- ECardDate *anniversary;
- ECardDate *bday;
- struct tm time_struct;
- time_t time_val;
+ ECardDate anniversary;
+ ECardDate bday;
int i;
GtkWidget *widget;
GList *list;
@@ -2087,31 +2090,35 @@ extract_info(EContactEditor *editor)
NULL);
widget = glade_xml_get_widget(editor->gui, "dateedit-anniversary");
- if (widget && GNOME_IS_DATE_EDIT(widget)) {
- time_val = gnome_date_edit_get_date(GNOME_DATE_EDIT(widget));
- gmtime_r(&time_val,
- &time_struct);
- anniversary = g_new(ECardDate, 1);
- anniversary->day = time_struct.tm_mday;
- anniversary->month = time_struct.tm_mon + 1;
- anniversary->year = time_struct.tm_year + 1900;
- gtk_object_set(GTK_OBJECT(card),
- "anniversary", anniversary,
- NULL);
+ if (widget && E_IS_DATE_EDIT(widget)) {
+ if (e_date_edit_get_date (E_DATE_EDIT (widget),
+ &anniversary.year,
+ &anniversary.month,
+ &anniversary.day)) {
+ g_print ("%d %d %d\n", anniversary.year, anniversary.month, anniversary.day);
+ gtk_object_set(GTK_OBJECT(card),
+ "anniversary", &anniversary,
+ NULL);
+ } else
+ gtk_object_set(GTK_OBJECT(card),
+ "anniversary", NULL,
+ NULL);
}
widget = glade_xml_get_widget(editor->gui, "dateedit-birthday");
- if (widget && GNOME_IS_DATE_EDIT(widget)) {
- time_val = gnome_date_edit_get_date(GNOME_DATE_EDIT(widget));
- gmtime_r(&time_val,
- &time_struct);
- bday = g_new(ECardDate, 1);
- bday->day = time_struct.tm_mday;
- bday->month = time_struct.tm_mon + 1;
- bday->year = time_struct.tm_year + 1900;
- gtk_object_set(GTK_OBJECT(card),
- "birth_date", bday,
- NULL);
+ if (widget && E_IS_DATE_EDIT(widget)) {
+ if (e_date_edit_get_date (E_DATE_EDIT (widget),
+ &bday.year,
+ &bday.month,
+ &bday.day)) {
+ g_print ("%d %d %d\n", bday.year, bday.month, bday.day);
+ gtk_object_set(GTK_OBJECT(card),
+ "birth_date", &bday,
+ NULL);
+ } else
+ gtk_object_set(GTK_OBJECT(card),
+ "birth_date", NULL,
+ NULL);
}
}
}
@@ -2127,3 +2134,21 @@ e_contact_editor_raise (EContactEditor *editor)
{
gdk_window_raise (GTK_WIDGET (editor->app)->window);
}
+
+GtkWidget *
+e_contact_editor_create_date(gchar *name,
+ gchar *string1, gchar *string2,
+ gint int1, gint int2);
+
+GtkWidget *
+e_contact_editor_create_date(gchar *name,
+ gchar *string1, gchar *string2,
+ gint int1, gint int2)
+{
+ GtkWidget *widget = e_date_edit_new ();
+ e_date_edit_set_allow_no_date_set (E_DATE_EDIT (widget),
+ TRUE);
+ e_date_edit_set_show_time (E_DATE_EDIT (widget), FALSE);
+ e_date_edit_set_time (E_DATE_EDIT (widget), -1);
+ return widget;
+}