74
static void e_contact_editor_init (EContactEditor *editor);
75
static void e_contact_editor_class_init (EContactEditorClass *klass);
76
static void e_contact_editor_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
77
static void e_contact_editor_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
78
static void e_contact_editor_dispose (GObject *object);
80
static void e_contact_editor_raise (EABEditor *editor);
81
static void e_contact_editor_show (EABEditor *editor);
82
static void e_contact_editor_save_contact (EABEditor *editor, gboolean should_close);
83
static void e_contact_editor_close (EABEditor *editor);
84
static gboolean e_contact_editor_is_valid (EABEditor *editor);
85
static gboolean e_contact_editor_is_changed (EABEditor *editor);
86
static GtkWindow* e_contact_editor_get_window (EABEditor *editor);
88
static void save_contact (EContactEditor *ce, gboolean should_close);
89
static void entry_activated (EContactEditor *editor);
91
static void set_entry_text (EContactEditor *editor, GtkEntry *entry, const gchar *string);
92
static void sensitize_ok (EContactEditor *ce);
76
static void e_contact_editor_init (EContactEditor *editor);
77
static void e_contact_editor_class_init (EContactEditorClass *klass);
78
static void e_contact_editor_set_property (GObject *object,
82
static void e_contact_editor_get_property (GObject *object,
86
static void e_contact_editor_dispose (GObject *object);
87
static void e_contact_editor_raise (EABEditor *editor);
88
static void e_contact_editor_show (EABEditor *editor);
89
static void e_contact_editor_save_contact (EABEditor *editor,
90
gboolean should_close);
91
static void e_contact_editor_close (EABEditor *editor);
92
static gboolean e_contact_editor_is_valid (EABEditor *editor);
93
static gboolean e_contact_editor_is_changed (EABEditor *editor);
95
e_contact_editor_get_window (EABEditor *editor);
96
static void save_contact (EContactEditor *ce,
97
gboolean should_close);
98
static void entry_activated (EContactEditor *editor);
100
static void set_entry_text (EContactEditor *editor,
102
const gchar *string);
103
static void sensitize_ok (EContactEditor *ce);
94
105
static EABEditorClass *parent_class = NULL;
684
709
GtkWidget *widget;
685
710
gboolean allow_save;
686
GtkWidget *entry_fullname = e_builder_get_widget (ce->builder, "entry-fullname" );
687
GtkWidget *entry_file_as = gtk_bin_get_child (GTK_BIN (e_builder_get_widget (ce->builder, "combo-file-as")));
688
GtkWidget *company_name = e_builder_get_widget (ce->builder, "entry-company");
689
const gchar *name_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_fullname));
690
const gchar *file_as_entry_string = gtk_entry_get_text (GTK_ENTRY (entry_file_as));
691
const gchar *company_name_string = gtk_entry_get_text (GTK_ENTRY (company_name));
693
allow_save = ce->target_editable && ce->changed ? TRUE : FALSE;
695
if (!strcmp (name_entry_string, "") || !strcmp (file_as_entry_string, "")) {
711
GtkWidget *entry_fullname =
712
e_builder_get_widget (ce->builder, "entry-fullname" );
713
GtkWidget *entry_file_as =
714
gtk_bin_get_child (GTK_BIN (
715
e_builder_get_widget (ce->builder, "combo-file-as")));
716
GtkWidget *company_name =
717
e_builder_get_widget (ce->builder, "entry-company");
718
const gchar *name_entry_string =
719
gtk_entry_get_text (GTK_ENTRY (entry_fullname));
720
const gchar *file_as_entry_string =
721
gtk_entry_get_text (GTK_ENTRY (entry_file_as));
722
const gchar *company_name_string =
723
gtk_entry_get_text (GTK_ENTRY (company_name));
725
allow_save = ce->target_editable && ce->changed;
727
if (!strcmp (name_entry_string, "") ||
728
!strcmp (file_as_entry_string, "")) {
696
729
if (strcmp (company_name_string , "")) {
697
730
allow_save = TRUE;
782
g_signal_connect_swapped (location_combo_box, "changed", G_CALLBACK (gtk_widget_grab_focus), email_entry);
783
g_signal_connect (location_combo_box, "changed", G_CALLBACK (object_changed), editor);
784
g_signal_connect (email_entry, "changed", G_CALLBACK (object_changed), editor);
785
g_signal_connect_swapped (email_entry, "activate", G_CALLBACK (entry_activated), editor);
829
g_signal_connect_swapped (
830
location_combo_box, "changed",
831
G_CALLBACK (gtk_widget_grab_focus), email_entry);
833
location_combo_box, "changed",
834
G_CALLBACK (object_changed), editor);
836
email_entry, "changed",
837
G_CALLBACK (object_changed), editor);
838
g_signal_connect_swapped (
839
email_entry, "activate",
840
G_CALLBACK (entry_activated), editor);
789
fill_in_email_record (EContactEditor *editor, gint record, const gchar *address, gint location)
844
fill_in_email_record (EContactEditor *editor,
846
const gchar *address,
791
849
GtkWidget *location_combo_box;
792
850
GtkWidget *email_entry;
1008
1072
for (record_n = 1; record_n <= EMAIL_SLOTS; record_n++) {
1009
fill_in_email_record (editor, record_n, NULL, email_default[record_n - 1]);
1073
fill_in_email_record (
1074
editor, record_n, NULL, email_default[record_n - 1]);
1014
email_attr_list = e_contact_get_attributes (editor->contact, E_CONTACT_EMAIL);
1079
email_attr_list = e_contact_get_attributes (
1080
editor->contact, E_CONTACT_EMAIL);
1016
for (record_n = 1, l = email_attr_list; l && record_n <= EMAIL_SLOTS; l = g_list_next (l)) {
1082
for (record_n = 1, l = email_attr_list;
1083
l && record_n <= EMAIL_SLOTS; l = g_list_next (l)) {
1017
1084
EVCardAttribute *attr = l->data;
1018
1085
gchar *email_address;
1021
1088
email_address = e_vcard_attribute_get_value (attr);
1022
slot = alloc_ui_slot (editor, "entry-email", get_ui_slot (attr), EMAIL_SLOTS);
1089
slot = alloc_ui_slot (
1090
editor, "entry-email",
1091
get_ui_slot (attr), EMAIL_SLOTS);
1448
g_signal_connect_swapped (phone_type_combo_box, "changed", G_CALLBACK (gtk_widget_grab_focus), phone_entry);
1449
g_signal_connect (phone_type_combo_box, "changed", G_CALLBACK (object_changed), editor);
1450
g_signal_connect (phone_entry, "changed", G_CALLBACK (object_changed), editor);
1451
g_signal_connect_swapped (phone_entry, "activate", G_CALLBACK (entry_activated), editor);
1538
g_signal_connect_swapped (
1539
phone_type_combo_box, "changed",
1540
G_CALLBACK (gtk_widget_grab_focus), phone_entry);
1542
phone_type_combo_box, "changed",
1543
G_CALLBACK (object_changed), editor);
1545
phone_entry, "changed",
1546
G_CALLBACK (object_changed), editor);
1547
g_signal_connect_swapped (
1548
phone_entry, "activate",
1549
G_CALLBACK (entry_activated), editor);
1595
g_signal_connect_swapped (service_combo_box, "changed", G_CALLBACK (gtk_widget_grab_focus), name_entry);
1596
g_signal_connect (service_combo_box, "changed", G_CALLBACK (object_changed), editor);
1597
g_signal_connect (name_entry, "changed", G_CALLBACK (object_changed), editor);
1598
g_signal_connect_swapped (name_entry, "activate", G_CALLBACK (entry_activated), editor);
1701
g_signal_connect_swapped (
1702
service_combo_box, "changed",
1703
G_CALLBACK (gtk_widget_grab_focus), name_entry);
1705
service_combo_box, "changed",
1706
G_CALLBACK (object_changed), editor);
1708
name_entry, "changed",
1709
G_CALLBACK (object_changed), editor);
1710
g_signal_connect_swapped (
1711
name_entry, "activate",
1712
G_CALLBACK (entry_activated), editor);
1735
1859
extract_im_record (editor, i, &service, &name, &location);
1737
1861
if (!STRING_IS_EMPTY (name)) {
1738
attr = e_vcard_attribute_new ("", e_contact_vcard_attribute (im_service [service].field));
1862
attr = e_vcard_attribute_new (
1863
"", e_contact_vcard_attribute (
1864
im_service[service].field));
1740
1866
if (location >= 0)
1741
e_vcard_attribute_add_param_with_value (attr,
1742
e_vcard_attribute_param_new (EVC_TYPE),
1743
im_index_to_location (location));
1867
e_vcard_attribute_add_param_with_value (
1869
e_vcard_attribute_param_new (EVC_TYPE),
1870
im_index_to_location (location));
1745
1872
e_vcard_attribute_add_value (attr, name);
1746
1873
set_ui_slot (attr, i);
1748
service_attr_list[service] = g_list_append (service_attr_list[service], attr);
1875
service_attr_list[service] = g_list_append (
1876
service_attr_list[service], attr);
1760
1888
/* Splice in the old attributes, minus the filled_in_slots first */
1762
old_service_attr_list = e_contact_get_attributes (editor->contact, im_service[i].field);
1763
filled_in_slots = MIN (remaining_slots, g_list_length (old_service_attr_list));
1890
old_service_attr_list = e_contact_get_attributes (
1891
editor->contact, im_service[i].field);
1893
MIN (remaining_slots,
1894
g_list_length (old_service_attr_list));
1764
1895
remaining_slots -= filled_in_slots;
1766
for (l = old_service_attr_list, j = 0; l && j < filled_in_slots; l = l_next, j++) {
1897
for (l = old_service_attr_list, j = 0;
1898
l && j < filled_in_slots; l = l_next, j++) {
1767
1899
l_next = g_list_next (l);
1769
1901
e_vcard_attribute_free (l->data);
1880
2013
init_address_textview (EContactEditor *editor, gint record)
1882
gchar *textview_name;
1883
GtkWidget *textview;
2015
gchar *textview_name;
2016
GtkWidget *textview;
1884
2017
GtkTextBuffer *text_buffer;
1886
textview_name = g_strdup_printf ("textview-%s-address", address_name [record]);
2019
textview_name = g_strdup_printf (
2020
"textview-%s-address", address_name [record]);
1887
2021
textview = e_builder_get_widget (editor->builder, textview_name);
1888
2022
g_free (textview_name);
1890
2024
text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
1891
g_signal_connect (text_buffer, "changed", G_CALLBACK (object_changed), editor);
2027
text_buffer, "changed",
2028
G_CALLBACK (object_changed), editor);
1895
init_address_field (EContactEditor *editor, gint record, const gchar *widget_field_name)
2032
init_address_field (EContactEditor *editor,
2034
const gchar *widget_field_name)
1898
2037
GtkWidget *entry;
1900
entry_name = g_strdup_printf ("entry-%s-%s", address_name [record], widget_field_name);
2039
entry_name = g_strdup_printf (
2040
"entry-%s-%s", address_name [record], widget_field_name);
1901
2041
entry = e_builder_get_widget (editor->builder, entry_name);
1902
2042
g_free (entry_name);
1904
g_signal_connect (entry, "changed", G_CALLBACK (object_changed), editor);
1905
g_signal_connect_swapped (entry, "activate", G_CALLBACK (entry_activated), editor);
2046
G_CALLBACK (object_changed), editor);
2047
g_signal_connect_swapped (
2049
G_CALLBACK (entry_activated), editor);
2103
set_address_label (EContact *contact, EContactField field, EContactAddress *address)
2262
set_address_label (EContact *contact,
2263
EContactField field,
2264
EContactAddress *address)
2105
2266
gchar *address_label = NULL;
2108
address_label = append_to_address_label (address_label, address->street, TRUE);
2109
address_label = append_to_address_label (address_label, address->ext, TRUE);
2110
address_label = append_to_address_label (address_label, address->locality, TRUE);
2111
address_label = append_to_address_label (address_label, address->region, FALSE);
2112
address_label = append_to_address_label (address_label, address->code, TRUE);
2113
address_label = append_to_address_label (address_label, address->po, TRUE);
2114
address_label = append_to_address_label (address_label, address->country, TRUE);
2269
e_contact_set (contact, field, NULL);
2273
address_label = eab_format_address (contact,
2274
(field == E_CONTACT_ADDRESS_LABEL_WORK) ? E_CONTACT_ADDRESS_WORK :
2275
E_CONTACT_ADDRESS_HOME);
2277
if (!address_label) {
2278
address_label = append_to_address_label (
2279
address_label, address->street, TRUE);
2280
address_label = append_to_address_label (
2281
address_label, address->ext, TRUE);
2282
address_label = append_to_address_label (
2283
address_label, address->locality, TRUE);
2284
address_label = append_to_address_label (
2285
address_label, address->region, FALSE);
2286
address_label = append_to_address_label (
2287
address_label, address->code, TRUE);
2288
address_label = append_to_address_label (
2289
address_label, address->po, TRUE);
2290
address_label = append_to_address_label (
2291
address_label, address->country, TRUE);
2117
2294
e_contact_set (contact, field, address_label);
2317
2498
if (GTK_IS_ENTRY (widget)) {
2318
2499
changed_object = G_OBJECT (widget);
2319
g_signal_connect_swapped (widget, "activate", G_CALLBACK (entry_activated), editor);
2321
else if (GTK_IS_COMBO_BOX (widget)) {
2322
changed_object = G_OBJECT (/*gtk_bin_get_child (GTK_BIN*/ (widget)/*)*/);
2323
g_signal_connect_swapped (gtk_bin_get_child (GTK_BIN (widget)), "activate", G_CALLBACK (entry_activated), editor);
2325
else if (GTK_IS_TEXT_VIEW (widget)) {
2326
changed_object = G_OBJECT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)));
2328
else if (E_IS_URL_ENTRY (widget)) {
2329
changed_object = G_OBJECT (e_url_entry_get_entry (E_URL_ENTRY (widget)));
2500
g_signal_connect_swapped (
2502
G_CALLBACK (entry_activated), editor);
2503
} else if (GTK_IS_COMBO_BOX (widget)) {
2504
changed_object = G_OBJECT (widget);
2505
g_signal_connect_swapped (
2506
gtk_bin_get_child (GTK_BIN (widget)), "activate",
2507
G_CALLBACK (entry_activated), editor);
2508
} else if (GTK_IS_TEXT_VIEW (widget)) {
2509
changed_object = G_OBJECT (
2510
gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget)));
2511
} else if (E_IS_URL_ENTRY (widget)) {
2512
changed_object = G_OBJECT (
2513
e_url_entry_get_entry (E_URL_ENTRY (widget)));
2330
2514
g_signal_connect_swapped (
2331
2515
changed_object, "activate",
2332
2516
G_CALLBACK (entry_activated), editor);
2334
else if (E_IS_DATE_EDIT (widget)) {
2335
changed_object = G_OBJECT (widget);
2337
else if (E_IS_IMAGE_CHOOSER (widget)) {
2338
changed_object = G_OBJECT (widget);
2339
g_signal_connect (widget, "changed", G_CALLBACK (image_chooser_changed), editor);
2341
else if (GTK_IS_TOGGLE_BUTTON (widget)) {
2342
g_signal_connect (widget, "toggled", G_CALLBACK (object_changed), editor);
2517
} else if (E_IS_DATE_EDIT (widget)) {
2518
changed_object = G_OBJECT (widget);
2519
} else if (E_IS_IMAGE_CHOOSER (widget)) {
2520
changed_object = G_OBJECT (widget);
2523
G_CALLBACK (image_chooser_changed), editor);
2524
} else if (GTK_IS_TOGGLE_BUTTON (widget)) {
2527
G_CALLBACK (object_changed), editor);
2345
2530
if (changed_object)
2346
g_signal_connect (changed_object, "changed", G_CALLBACK (object_changed), editor);
2532
changed_object, "changed",
2533
G_CALLBACK (object_changed), editor);
2392
2581
else if (E_IS_IMAGE_CHOOSER (widget)) {
2393
2582
EContactPhoto *photo = e_contact_get (contact, field_id);
2394
2583
if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) {
2395
e_image_chooser_set_image_data (E_IMAGE_CHOOSER (widget),
2396
(gchar *)photo->data.inlined.data,
2397
photo->data.inlined.length);
2584
e_image_chooser_set_image_data (
2585
E_IMAGE_CHOOSER (widget),
2586
(gchar *) photo->data.inlined.data,
2587
photo->data.inlined.length);
2398
2588
editor->image_set = TRUE;
2401
gchar *file_name = e_icon_factory_get_icon_filename ("avatar-default", GTK_ICON_SIZE_DIALOG);
2402
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (widget), file_name);
2593
file_name = e_icon_factory_get_icon_filename (
2594
"avatar-default", GTK_ICON_SIZE_DIALOG);
2595
e_image_chooser_set_from_file (
2596
E_IMAGE_CHOOSER (widget), file_name);
2403
2597
editor->image_set = FALSE;
2404
2598
g_free (file_name);
2527
2728
new = e_icon_factory_pixbuf_scale (pixbuf, width, height);
2529
GdkPixbufFormat *format = gdk_pixbuf_loader_get_format (loader);
2530
gchar *format_name = gdk_pixbuf_format_get_name (format);
2730
GdkPixbufFormat *format =
2731
gdk_pixbuf_loader_get_format (loader);
2732
gchar *format_name =
2733
gdk_pixbuf_format_get_name (format);
2531
2734
g_free (photo.data.inlined.data);
2532
gdk_pixbuf_save_to_buffer (new, &img_buff,
2533
&photo.data.inlined.length,
2534
format_name, NULL, NULL);
2535
photo.data.inlined.data = (guchar *)img_buff;
2735
gdk_pixbuf_save_to_buffer (
2737
&photo.data.inlined.length,
2738
format_name, NULL, NULL);
2739
photo.data.inlined.data = (guchar *) img_buff;
2536
2740
img_buff = NULL;
2537
2741
g_free (format_name);
2538
2742
g_object_unref (new);
2920
3128
categories_response (GtkDialog *dialog, gint response, EContactEditor *editor)
2922
3130
const gchar *categories;
2923
GtkWidget *entry = e_builder_get_widget(editor->builder, "entry-categories");
3133
entry = e_builder_get_widget (editor->builder, "entry-categories");
2925
3135
if (response == GTK_RESPONSE_OK) {
2926
categories = e_categories_dialog_get_categories (E_CATEGORIES_DIALOG (dialog));
2927
if (entry && GTK_IS_ENTRY (entry))
2928
gtk_entry_set_text (GTK_ENTRY (entry), categories);
3136
categories = e_categories_dialog_get_categories (
3137
E_CATEGORIES_DIALOG (dialog));
3138
if (GTK_IS_ENTRY (entry))
3139
gtk_entry_set_text (
3140
GTK_ENTRY (entry), categories);
2930
e_contact_set (editor->contact, E_CONTACT_CATEGORIES, (gchar *)categories);
3144
E_CONTACT_CATEGORIES,
3145
(gchar *) categories);
2932
3148
gtk_widget_destroy (GTK_WIDGET (dialog));
2933
3149
editor->categories_dialog = NULL;
3009
3226
GtkWidget *image_chooser;
3010
3227
gchar *file_name;
3012
image_chooser = e_builder_get_widget (editor->builder, "image-chooser");
3014
file_name = e_icon_factory_get_icon_filename ("avatar-default", GTK_ICON_SIZE_DIALOG);
3016
g_signal_handlers_block_by_func (image_chooser, image_chooser_changed, editor);
3017
e_image_chooser_set_from_file (E_IMAGE_CHOOSER (image_chooser), file_name);
3018
g_signal_handlers_unblock_by_func (image_chooser, image_chooser_changed, editor);
3229
image_chooser = e_builder_get_widget (
3230
editor->builder, "image-chooser");
3232
file_name = e_icon_factory_get_icon_filename (
3233
"avatar-default", GTK_ICON_SIZE_DIALOG);
3235
g_signal_handlers_block_by_func (
3236
image_chooser, image_chooser_changed, editor);
3237
e_image_chooser_set_from_file (
3238
E_IMAGE_CHOOSER (image_chooser), file_name);
3239
g_signal_handlers_unblock_by_func (
3240
image_chooser, image_chooser_changed, editor);
3020
3242
g_free (file_name);
3087
3311
no_image, GTK_RESPONSE_NO,
3089
3313
preview = GTK_IMAGE (gtk_image_new ());
3090
gtk_file_chooser_set_preview_widget ((GtkFileChooser *)editor->file_selector, GTK_WIDGET (preview));
3314
gtk_file_chooser_set_preview_widget (
3315
GTK_FILE_CHOOSER (editor->file_selector),
3316
GTK_WIDGET (preview));
3091
3317
g_signal_connect (
3092
3318
editor->file_selector, "update-preview",
3093
3319
G_CALLBACK (update_preview_cb), preview);
3094
gtk_dialog_set_default_response (GTK_DIALOG (editor->file_selector), GTK_RESPONSE_ACCEPT);
3320
gtk_dialog_set_default_response (
3321
GTK_DIALOG (editor->file_selector),
3322
GTK_RESPONSE_ACCEPT);
3096
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (editor->file_selector), g_get_home_dir ());
3324
gtk_file_chooser_set_current_folder (
3325
GTK_FILE_CHOOSER (editor->file_selector),
3098
3328
g_signal_connect (
3099
3329
editor->file_selector, "response",
3638
3877
init_all (e_contact_editor);
3640
widget = e_builder_get_widget (e_contact_editor->builder, "button-image");
3641
g_signal_connect (widget, "clicked", G_CALLBACK (image_clicked), e_contact_editor);
3643
widget = e_builder_get_widget(e_contact_editor->builder, "button-fullname");
3644
g_signal_connect (widget, "clicked", G_CALLBACK (full_name_clicked), e_contact_editor);
3645
widget = e_builder_get_widget(e_contact_editor->builder, "button-categories");
3646
g_signal_connect (widget, "clicked", G_CALLBACK (categories_clicked), e_contact_editor);
3647
widget = e_builder_get_widget (e_contact_editor->builder, "source-combo-box-source");
3648
e_util_set_source_combo_box_list (widget, "/apps/evolution/addressbook/sources");
3649
g_signal_connect (widget, "changed", G_CALLBACK (source_changed), e_contact_editor);
3650
label = e_builder_get_widget (e_contact_editor->builder, "where-label");
3879
widget = e_builder_get_widget (
3880
e_contact_editor->builder, "button-image");
3883
G_CALLBACK (image_clicked), e_contact_editor);
3884
widget = e_builder_get_widget (
3885
e_contact_editor->builder, "button-fullname");
3888
G_CALLBACK (full_name_clicked), e_contact_editor);
3889
widget = e_builder_get_widget (
3890
e_contact_editor->builder, "button-categories");
3893
G_CALLBACK (categories_clicked), e_contact_editor);
3894
widget = e_builder_get_widget (
3895
e_contact_editor->builder, "source-combo-box-source");
3896
e_util_set_source_combo_box_list (
3897
widget, "/apps/evolution/addressbook/sources");
3900
G_CALLBACK (source_changed), e_contact_editor);
3901
label = e_builder_get_widget (
3902
e_contact_editor->builder, "where-label");
3651
3903
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
3652
widget = e_builder_get_widget (e_contact_editor->builder, "button-ok");
3653
g_signal_connect (widget, "clicked", G_CALLBACK (file_save_and_close_cb), e_contact_editor);
3654
widget = e_builder_get_widget (e_contact_editor->builder, "button-cancel");
3655
g_signal_connect (widget, "clicked", G_CALLBACK (file_cancel_cb), e_contact_editor);
3656
widget = e_builder_get_widget (e_contact_editor->builder, "button-help");
3657
g_signal_connect (widget, "clicked", G_CALLBACK (show_help_cb), e_contact_editor);
3658
widget = e_builder_get_widget (e_contact_editor->builder, "button-web-expand");
3659
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (expand_web_toggle), e_contact_editor);
3660
widget = e_builder_get_widget (e_contact_editor->builder, "button-phone-expand");
3661
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (expand_phone_toggle), e_contact_editor);
3662
widget = e_builder_get_widget (e_contact_editor->builder, "button-mail-expand");
3663
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (expand_mail_toggle), e_contact_editor);
3904
widget = e_builder_get_widget (
3905
e_contact_editor->builder, "button-ok");
3908
G_CALLBACK (file_save_and_close_cb), e_contact_editor);
3909
widget = e_builder_get_widget (
3910
e_contact_editor->builder, "button-cancel");
3913
G_CALLBACK (file_cancel_cb), e_contact_editor);
3914
widget = e_builder_get_widget (
3915
e_contact_editor->builder, "button-help");
3918
G_CALLBACK (show_help_cb), e_contact_editor);
3919
widget = e_builder_get_widget (
3920
e_contact_editor->builder, "button-web-expand");
3921
g_signal_connect_swapped (
3923
G_CALLBACK (expand_web_toggle), e_contact_editor);
3924
widget = e_builder_get_widget (
3925
e_contact_editor->builder, "button-phone-expand");
3926
g_signal_connect_swapped (
3928
G_CALLBACK (expand_phone_toggle), e_contact_editor);
3929
widget = e_builder_get_widget (
3930
e_contact_editor->builder, "button-mail-expand");
3931
g_signal_connect_swapped (
3933
G_CALLBACK (expand_mail_toggle), e_contact_editor);
3665
3935
widget = e_builder_get_widget (e_contact_editor->builder, "entry-fullname");
4005
4290
case PROP_IS_NEW_CONTACT:
4006
g_value_set_boolean (value, e_contact_editor->is_new_contact ? TRUE : FALSE);
4291
g_value_set_boolean (
4292
value, e_contact_editor->is_new_contact);
4009
4295
case PROP_EDITABLE:
4010
g_value_set_boolean (value, e_contact_editor->target_editable ? TRUE : FALSE);
4296
g_value_set_boolean (
4297
value, e_contact_editor->target_editable);
4013
4300
case PROP_CHANGED:
4014
g_value_set_boolean (value, e_contact_editor->changed ? TRUE : FALSE);
4301
g_value_set_boolean (
4302
value, e_contact_editor->changed);
4017
4305
case PROP_WRITABLE_FIELDS:
4018
4306
if (e_contact_editor->writable_fields)
4019
g_value_set_object (value, e_list_duplicate (e_contact_editor->writable_fields));
4307
g_value_set_object (
4308
value, e_list_duplicate (
4309
e_contact_editor->writable_fields));
4021
4311
g_value_set_object (value, NULL);
4023
4313
case PROP_REQUIRED_FIELDS:
4024
4314
if (e_contact_editor->required_fields)
4025
g_value_set_object (value, e_list_duplicate (e_contact_editor->required_fields));
4315
g_value_set_object (
4316
value, e_list_duplicate (
4317
e_contact_editor->required_fields));
4027
4319
g_value_set_object (value, NULL);