From d65fb37051402d1df0d125540546f63cc6b46ea6 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Mon, 11 Sep 2000 09:59:30 +0000 Subject: Removed a bunch of redundant code. Made it so that when you set an address 2000-09-11 Christopher James Lahey * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: Removed a bunch of redundant code. Made it so that when you set an address label, it sets the delivery address as well. Added functions to set and get the delivery address. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added code to convert and address label to a delivery address. * contact-editor/Makefile.am: Added e-contact-editor-address.[ch], fulladdr.glade, fulladdr.glade.h. * contact-editor/contact-editor.glade, contact-editor/e-contact-editor-strings.h: Switched from a label to a button to show the parsed address. * contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-address.h: New class to implement the parsed address dialog. * contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor-fullname.h: Added const to the _new function. * contact-editor/e-contact-editor.c: Implemented clicking on the address button. * contact-editor/fulladdr.glade, contact-editor/fulladdr.glade.h: New glade files for the parsed address dialog. * contact-editor/fullname-strings.h, fullname.glade: Changed these accellabels to labels. * ename/Makefile.am: Added e-address-western.c. * ename/e-address-western.c: Fixed some warnings. svn path=/trunk/; revision=5317 --- addressbook/gui/contact-editor/e-contact-editor.c | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'addressbook/gui/contact-editor/e-contact-editor.c') diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c index c2d4450a7b..16c14bf585 100644 --- a/addressbook/gui/contact-editor/e-contact-editor.c +++ b/addressbook/gui/contact-editor/e-contact-editor.c @@ -24,6 +24,7 @@ #include #include "e-contact-editor.h" #include +#include #include #include #include @@ -500,6 +501,41 @@ full_name_clicked(GtkWidget *button, EContactEditor *editor) gtk_object_unref(GTK_OBJECT(dialog)); } +static void +full_addr_clicked(GtkWidget *button, EContactEditor *editor) +{ + GnomeDialog *dialog; + int result; + const ECardDeliveryAddress *address; + + address = e_card_simple_get_delivery_address(editor->simple, editor->address_choice); + + dialog = GNOME_DIALOG(e_contact_editor_address_new(address)); + gtk_widget_show(GTK_WIDGET(dialog)); + + result = gnome_dialog_run (dialog); + if (result == 0) { + ECardDeliveryAddress *new_address; + + gtk_object_get(GTK_OBJECT(dialog), + "address", &new_address, + NULL); + e_card_simple_set_delivery_address(editor->simple, editor->address_choice, new_address); + e_card_delivery_address_free(new_address); + +#if 0 + GtkWidget *fname_widget; + fname_widget = glade_xml_get_widget(editor->gui, "text-address"); + if (fname_widget && GTK_IS_ENTRY(fname_widget)) { + char *full_name = e_card_delivery_address_to_string(address); + e_utf8_gtk_entry_set_text(GTK_ENTRY(fname_widget), full_name); + g_free(full_name); + } +#endif + } + gtk_object_unref(GTK_OBJECT(dialog)); +} + static void categories_clicked(GtkWidget *button, EContactEditor *editor) { @@ -1014,6 +1050,11 @@ e_contact_editor_init (EContactEditor *e_contact_editor) gtk_signal_connect(GTK_OBJECT(widget), "clicked", full_name_clicked, e_contact_editor); + widget = glade_xml_get_widget(e_contact_editor->gui, "button-fulladdr"); + if (widget && GTK_IS_BUTTON(widget)) + gtk_signal_connect(GTK_OBJECT(widget), "clicked", + full_addr_clicked, e_contact_editor); + widget = glade_xml_get_widget(e_contact_editor->gui, "button-categories"); if (widget && GTK_IS_BUTTON(widget)) gtk_signal_connect(GTK_OBJECT(widget), "clicked", -- cgit v1.2.3