diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-10-19 11:32:55 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-10-19 11:32:55 +0800 |
commit | 6cb2f5ffe5aa4dc13eccf122ab763252aed0b025 (patch) | |
tree | e15e782baf931c8ac247e78db067b501f7d39bcd | |
parent | f3533f595d179df1f433501bf7eaa0f5dbc3478c (diff) | |
download | gsoc2013-evolution-6cb2f5ffe5aa4dc13eccf122ab763252aed0b025.tar.gz gsoc2013-evolution-6cb2f5ffe5aa4dc13eccf122ab763252aed0b025.tar.zst gsoc2013-evolution-6cb2f5ffe5aa4dc13eccf122ab763252aed0b025.zip |
Added the function e_card_delivery_address_to_label.
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c, backend/ebook/e-card.h: Added the
function e_card_delivery_address_to_label.
* contact-editor/e-contact-editor-address.c: Fixed a potential
crash.
* contact-editor/e-contact-editor.c: Made this save the changed
data to the string version of the address.
svn path=/trunk/; revision=6023
-rw-r--r-- | addressbook/ChangeLog | 11 | ||||
-rw-r--r-- | addressbook/backend/ebook/e-card.c | 11 | ||||
-rw-r--r-- | addressbook/backend/ebook/e-card.h | 1 | ||||
-rw-r--r-- | addressbook/contact-editor/e-contact-editor-address.c | 4 | ||||
-rw-r--r-- | addressbook/contact-editor/e-contact-editor.c | 20 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor-address.c | 4 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor.c | 20 |
7 files changed, 51 insertions, 20 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 7b555a5fba..f10fad3c85 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,14 @@ +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added the + function e_card_delivery_address_to_label. + + * contact-editor/e-contact-editor-address.c: Fixed a potential + crash. + + * contact-editor/e-contact-editor.c: Made this save the changed + data to the string version of the address. + 2000-10-19 Michael Meeks <michael@helixcode.com> * gui/component/addressbook.c (change_view_type): update to new diff --git a/addressbook/backend/ebook/e-card.c b/addressbook/backend/ebook/e-card.c index 940bfd84d5..e6e9d85763 100644 --- a/addressbook/backend/ebook/e-card.c +++ b/addressbook/backend/ebook/e-card.c @@ -1213,6 +1213,17 @@ e_card_delivery_address_to_string(const ECardDeliveryAddress *addr) } ECardAddrLabel * +e_card_delivery_address_to_label (const ECardDeliveryAddress *addr) +{ + ECardAddrLabel *label; + label = e_card_address_label_new(); + label->flags = addr->flags; + label->data = e_card_delivery_address_to_string(addr); + + return label; +} + +ECardAddrLabel * e_card_address_label_new (void) { ECardAddrLabel *newaddr = g_new(ECardAddrLabel, 1); diff --git a/addressbook/backend/ebook/e-card.h b/addressbook/backend/ebook/e-card.h index 42c77a0911..bad7b3068b 100644 --- a/addressbook/backend/ebook/e-card.h +++ b/addressbook/backend/ebook/e-card.h @@ -124,6 +124,7 @@ void e_card_delivery_address_free ( ECardDeliveryAd gboolean e_card_delivery_address_is_empty (const ECardDeliveryAddress *addr); char *e_card_delivery_address_to_string (const ECardDeliveryAddress *addr); ECardDeliveryAddress *e_card_delivery_address_from_label (const ECardAddrLabel *label); +ECardAddrLabel *e_card_delivery_address_to_label (const ECardDeliveryAddress *addr); ECardAddrLabel *e_card_address_label_new (void); ECardAddrLabel *e_card_address_label_copy (const ECardAddrLabel *addr); diff --git a/addressbook/contact-editor/e-contact-editor-address.c b/addressbook/contact-editor/e-contact-editor-address.c index fbba8c9454..7df9cb8cb4 100644 --- a/addressbook/contact-editor/e-contact-editor-address.c +++ b/addressbook/contact-editor/e-contact-editor-address.c @@ -205,8 +205,10 @@ static void extract_info(EContactEditorAddress *editor) { ECardDeliveryAddress *address = editor->address; - if (!address) + if (!address) { address = e_card_delivery_address_new(); + editor->address = address; + } address->street = extract_field(editor, "entry-street" ); address->po = extract_field(editor, "entry-po" ); address->ext = extract_field(editor, "entry-ext" ); diff --git a/addressbook/contact-editor/e-contact-editor.c b/addressbook/contact-editor/e-contact-editor.c index abf7f2fe77..cbff738340 100644 --- a/addressbook/contact-editor/e-contact-editor.c +++ b/addressbook/contact-editor/e-contact-editor.c @@ -533,22 +533,24 @@ full_addr_clicked(GtkWidget *button, EContactEditor *editor) result = gnome_dialog_run (dialog); if (result == 0) { ECardDeliveryAddress *new_address; + GtkWidget *address_widget; 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); + address_widget = glade_xml_get_widget(editor->gui, "text-address"); + if (address_widget && GTK_IS_EDITABLE(address_widget)) { + char *string = e_card_delivery_address_to_string(new_address); + e_utf8_gtk_editable_set_text(GTK_EDITABLE(address_widget), string); + g_free(string); + } else { + ECardAddrLabel *address = e_card_delivery_address_to_label(new_address); + e_card_simple_set_address(editor->simple, editor->address_choice, address); + e_card_address_label_free(address); } -#endif + e_card_delivery_address_free(new_address); } gtk_object_unref(GTK_OBJECT(dialog)); } diff --git a/addressbook/gui/contact-editor/e-contact-editor-address.c b/addressbook/gui/contact-editor/e-contact-editor-address.c index fbba8c9454..7df9cb8cb4 100644 --- a/addressbook/gui/contact-editor/e-contact-editor-address.c +++ b/addressbook/gui/contact-editor/e-contact-editor-address.c @@ -205,8 +205,10 @@ static void extract_info(EContactEditorAddress *editor) { ECardDeliveryAddress *address = editor->address; - if (!address) + if (!address) { address = e_card_delivery_address_new(); + editor->address = address; + } address->street = extract_field(editor, "entry-street" ); address->po = extract_field(editor, "entry-po" ); address->ext = extract_field(editor, "entry-ext" ); diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c index abf7f2fe77..cbff738340 100644 --- a/addressbook/gui/contact-editor/e-contact-editor.c +++ b/addressbook/gui/contact-editor/e-contact-editor.c @@ -533,22 +533,24 @@ full_addr_clicked(GtkWidget *button, EContactEditor *editor) result = gnome_dialog_run (dialog); if (result == 0) { ECardDeliveryAddress *new_address; + GtkWidget *address_widget; 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); + address_widget = glade_xml_get_widget(editor->gui, "text-address"); + if (address_widget && GTK_IS_EDITABLE(address_widget)) { + char *string = e_card_delivery_address_to_string(new_address); + e_utf8_gtk_editable_set_text(GTK_EDITABLE(address_widget), string); + g_free(string); + } else { + ECardAddrLabel *address = e_card_delivery_address_to_label(new_address); + e_card_simple_set_address(editor->simple, editor->address_choice, address); + e_card_address_label_free(address); } -#endif + e_card_delivery_address_free(new_address); } gtk_object_unref(GTK_OBJECT(dialog)); } |