aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/contact-editor/e-contact-editor.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-09-11 17:59:30 +0800
committerChris Lahey <clahey@src.gnome.org>2000-09-11 17:59:30 +0800
commitd65fb37051402d1df0d125540546f63cc6b46ea6 (patch)
tree287b9cc05ed644eab851b234dc837c16d457d611 /addressbook/gui/contact-editor/e-contact-editor.c
parente30911d7d0806677fbd6ee239d0c47284c05a228 (diff)
downloadgsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar.gz
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar.bz2
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar.lz
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar.xz
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.tar.zst
gsoc2013-evolution-d65fb37051402d1df0d125540546f63cc6b46ea6.zip
Removed a bunch of redundant code. Made it so that when you set an address
2000-09-11 Christopher James Lahey <clahey@helixcode.com> * 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
Diffstat (limited to 'addressbook/gui/contact-editor/e-contact-editor.c')
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c41
1 files changed, 41 insertions, 0 deletions
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 <gnome.h>
#include "e-contact-editor.h"
#include <e-contact-editor-fullname.h>
+#include <e-contact-editor-address.h>
#include <e-contact-editor-categories.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
@@ -501,6 +502,41 @@ full_name_clicked(GtkWidget *button, EContactEditor *editor)
}
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)
{
char *categories;
@@ -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",