Bug #659876 - Make automatic contact address formatting optional

Make behavior introduced in bug #636809 optional by adding checkbox
to Preferences->Contacts.
This commit is contained in:
Dan Vrátil
2011-10-07 14:40:55 +02:00
parent 03a438c3ac
commit d2232a718d
4 changed files with 50 additions and 4 deletions

View File

@ -2301,17 +2301,35 @@ set_address_label (EContact *contact,
EContactAddress *address)
{
gchar *address_label = NULL;
gboolean format_address;
GConfClient *client;
GConfValue *value;
if (!address) {
e_contact_set (contact, field, NULL);
return;
}
address_label = eab_format_address (contact,
(field == E_CONTACT_ADDRESS_LABEL_WORK) ? E_CONTACT_ADDRESS_WORK :
E_CONTACT_ADDRESS_HOME);
if (!address_label) {
client = gconf_client_get_default ();
value = gconf_client_get (client,
"/apps/evolution/addressbook/display/address_formatting", NULL);
g_object_unref (client);
if (value) {
format_address = gconf_value_get_bool (value);
gconf_value_free (value);
} else {
format_address = TRUE;
}
if (format_address) {
address_label = eab_format_address (contact,
(field == E_CONTACT_ADDRESS_LABEL_WORK) ? E_CONTACT_ADDRESS_WORK :
E_CONTACT_ADDRESS_HOME);
}
if (!format_address || !address_label) {
address_label = append_to_address_label (
address_label, address->street, TRUE);
address_label = append_to_address_label (

View File

@ -139,5 +139,17 @@
</locale>
</schema>
<schema>
<key>/schemas/apps/evolution/addressbook/display/address_formatting</key>
<applyto>/apps/evolution/addressbook/display/address_formatting</applyto>
<owner>evolution-addressbook</owner>
<type>bool</type>
<default>true</default>
<locale name="C">
<short>Enable address formatting</short>
<long>Wheter addresses should be formatted according to standard in their destination country.</long>
</locale>
</schema>
</schemalist>
</gconfschemafile>

View File

@ -194,6 +194,18 @@ acc_get_general_page (EConfig *ec,
DTFormatKindDateTime, _("_Table column:"));
gtk_widget_show (widget);
itembox = add_section (vbox, _("Address formatting"), FALSE);
widget = gtk_check_button_new_with_label (
_("_Format address according to standard of its destination country"));
g_object_bind_property (
shell_settings, "enable-address-formatting",
widget, "active",
G_BINDING_BIDIRECTIONAL |
G_BINDING_SYNC_CREATE);
gtk_box_pack_start (GTK_BOX (itembox), widget, FALSE, FALSE, 0);
gtk_widget_show (widget);
itembox = add_section (vbox, _("Autocompletion"), TRUE);
widget = gtk_check_button_new_with_mnemonic (

View File

@ -35,4 +35,8 @@ e_book_shell_backend_init_settings (EShell *shell)
e_shell_settings_install_property_for_key (
"book-primary-selection",
"/apps/evolution/addressbook/display/primary_addressbook");
e_shell_settings_install_property_for_key (
"enable-address-formatting",
"/apps/evolution/addressbook/display/address_formatting");
}