[evolution] Remove "Search for sender photograph only in local address books".



commit 60386356e322c0ebe3a0101a616752c0e557491e
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sat Apr 20 11:22:58 2013 -0400

    Remove "Search for sender photograph only in local address books".
    
    This was added as part of bug 360184 but no justification was given
    for the "local-only" part.  My Spidey sense tells me it was a hack-
    around for the old implementation's tendency to freeze the UI while
    searching for a photograph.  So the "local-only" option really just
    meant "don't freeze the UI for very long, please".
    
    The new EPhotoCache-based implementation in 3.8 NEVER freezes the UI,
    so the "local-only" option is no longer needed.  If a remote address
    book is slow or unresponsive we simply cancel the async photo lookup
    when the user moves on to another email.

 data/evolution.convert                       |   1 -
 data/org.gnome.evolution.mail.gschema.xml.in |   5 --
 e-util/e-photo-cache.c                       | 126 +++------------------------
 e-util/e-photo-cache.h                       |   3 -
 mail/mail-config.ui                          |  16 ----
 modules/mail/em-mailer-prefs.c               |  10 ---
 modules/settings/Makefile.am                 |   2 -
 modules/settings/e-settings-photo-cache.c    |  92 -------------------
 modules/settings/e-settings-photo-cache.h    |  65 --------------
 modules/settings/evolution-module-settings.c |   2 -
 10 files changed, 12 insertions(+), 310 deletions(-)
---
diff --git a/data/evolution.convert b/data/evolution.convert
index bfaee12..3d1f3f4 100644
--- a/data/evolution.convert
+++ b/data/evolution.convert
@@ -162,7 +162,6 @@ mark-seen-timeout = /apps/evolution/mail/display/mark_seen_timeout
 mime-types = /apps/evolution/mail/display/mime_types
 monospace-font = /apps/evolution/mail/display/fonts/monospace
 paned-size = /apps/evolution/mail/display/paned_size
-photo-local = /apps/evolution/mail/display/photo_local
 prompt-check-if-default-mailer = /apps/evolution/mail/prompts/checkdefault
 prompt-on-delete-in-vfolder = /apps/evolution/mail/prompts/delete_in_vfolder
 prompt-on-empty-subject = /apps/evolution/mail/prompts/empty_subject
diff --git a/data/org.gnome.evolution.mail.gschema.xml.in b/data/org.gnome.evolution.mail.gschema.xml.in
index 24295b8..d7d3a9f 100644
--- a/data/org.gnome.evolution.mail.gschema.xml.in
+++ b/data/org.gnome.evolution.mail.gschema.xml.in
@@ -239,11 +239,6 @@
       <_summary>Show photo of the sender</_summary>
       <_description>Show the photo of the sender in the message reading pane.</_description>
     </key>
-    <key name="photo-local" type="b">
-      <default>true</default>
-      <_summary>Search for the sender photo in local address books </_summary>
-      <_description>This option would help in improving the speed of fetching.</_description>
-    </key>
     <key name="mark-seen" type="b">
       <default>true</default>
       <_summary>Mark as Seen after specified timeout</_summary>
diff --git a/e-util/e-photo-cache.c b/e-util/e-photo-cache.c
index 74de1e9..9ea0cb7 100644
--- a/e-util/e-photo-cache.c
+++ b/e-util/e-photo-cache.c
@@ -49,7 +49,6 @@ typedef struct _PhotoData PhotoData;
 
 struct _EPhotoCachePrivate {
        EClientCache *client_cache;
-       gboolean local_only;
 
        GHashTable *photo_ht;
        GQueue photo_ht_keys;
@@ -70,8 +69,7 @@ struct _PhotoData {
 
 enum {
        PROP_0,
-       PROP_CLIENT_CACHE,
-       PROP_LOCAL_ONLY
+       PROP_CLIENT_CACHE
 };
 
 G_DEFINE_TYPE_WITH_CODE (
@@ -325,33 +323,6 @@ photo_cache_extract_photo (EContact *contact)
        return photo;
 }
 
-static GList *
-photo_cache_list_searchable_sources (EPhotoCache *photo_cache)
-{
-       EClientCache *client_cache;
-       ESourceRegistry *registry;
-       GList *list;
-
-       client_cache = e_photo_cache_ref_client_cache (photo_cache);
-       registry = e_client_cache_ref_registry (client_cache);
-
-       if (e_photo_cache_get_local_only (photo_cache)) {
-               ESource *source;
-
-               source = e_source_registry_ref_builtin_address_book (registry);
-               list = g_list_prepend (NULL, g_object_ref (source));
-               g_object_unref (source);
-       } else {
-               list = e_source_registry_list_sources (
-                       registry, E_SOURCE_EXTENSION_ADDRESS_BOOK);
-       }
-
-       g_object_unref (client_cache);
-       g_object_unref (registry);
-
-       return list;
-}
-
 static gboolean
 photo_cache_find_contacts (EPhotoCache *photo_cache,
                            const gchar *email_address,
@@ -360,8 +331,10 @@ photo_cache_find_contacts (EPhotoCache *photo_cache,
                            GError **error)
 {
        EClientCache *client_cache;
+       ESourceRegistry *registry;
        EBookQuery *book_query;
        GList *list, *link;
+       const gchar *extension_name;
        gchar *book_query_string;
        gboolean success = TRUE;
 
@@ -371,8 +344,10 @@ photo_cache_find_contacts (EPhotoCache *photo_cache,
        e_book_query_unref (book_query);
 
        client_cache = e_photo_cache_ref_client_cache (photo_cache);
+       registry = e_client_cache_ref_registry (client_cache);
 
-       list = photo_cache_list_searchable_sources (photo_cache);
+       extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
+       list = e_source_registry_list_enabled (registry, extension_name);
 
        for (link = list; link != NULL; link = g_list_next (link)) {
                ESource *source = E_SOURCE (link->data);
@@ -380,13 +355,9 @@ photo_cache_find_contacts (EPhotoCache *photo_cache,
                GSList *contact_list = NULL;
                GError *local_error = NULL;
 
-               /* Skip disabled sources. */
-               if (!e_source_get_enabled (source))
-                       continue;
-
                client = e_client_cache_get_client_sync (
-                       client_cache, source,
-                       E_SOURCE_EXTENSION_ADDRESS_BOOK,
+                       client_cache,
+                       source, extension_name,
                        cancellable, &local_error);
 
                if (local_error != NULL) {
@@ -436,6 +407,7 @@ photo_cache_find_contacts (EPhotoCache *photo_cache,
        g_list_free_full (list, (GDestroyNotify) g_object_unref);
 
        g_object_unref (client_cache);
+       g_object_unref (registry);
 
        g_free (book_query_string);
 
@@ -497,12 +469,6 @@ photo_cache_set_property (GObject *object,
                                E_PHOTO_CACHE (object),
                                g_value_get_object (value));
                        return;
-
-               case PROP_LOCAL_ONLY:
-                       e_photo_cache_set_local_only (
-                               E_PHOTO_CACHE (object),
-                               g_value_get_boolean (value));
-                       return;
        }
 
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -521,13 +487,6 @@ photo_cache_get_property (GObject *object,
                                e_photo_cache_ref_client_cache (
                                E_PHOTO_CACHE (object)));
                        return;
-
-               case PROP_LOCAL_ONLY:
-                       g_value_set_boolean (
-                               value,
-                               e_photo_cache_get_local_only (
-                               E_PHOTO_CACHE (object)));
-                       return;
        }
 
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -600,23 +559,6 @@ e_photo_cache_class_init (EPhotoCacheClass *class)
                        G_PARAM_READWRITE |
                        G_PARAM_CONSTRUCT_ONLY |
                        G_PARAM_STATIC_STRINGS));
-
-       /**
-        * EPhotoCache:local-only:
-        *
-        * Whether to restrict searches to the built-in address book.
-        **/
-       g_object_class_install_property (
-               object_class,
-               PROP_LOCAL_ONLY,
-               g_param_spec_boolean (
-                       "local-only",
-                       "Local Only",
-                       "Whether to restruct searches "
-                       "to the built-in address book",
-                       FALSE,
-                       G_PARAM_READWRITE |
-                       G_PARAM_STATIC_STRINGS));
 }
 
 static void
@@ -674,49 +616,6 @@ e_photo_cache_ref_client_cache (EPhotoCache *photo_cache)
 }
 
 /**
- * e_photo_cache_get_local_only:
- * @photo_cache: an #EPhotoCache
- *
- * Returns whether to limit photo searches to the built-in ("local")
- * address book returned by e_source_registry_ref_builtin_address_book().
- *
- * If this property is %FALSE then all enabled address books are searched.
- *
- * Returns: whether to search only the built-in address book
- **/
-gboolean
-e_photo_cache_get_local_only (EPhotoCache *photo_cache)
-{
-       g_return_val_if_fail (E_IS_PHOTO_CACHE (photo_cache), FALSE);
-
-       return photo_cache->priv->local_only;
-}
-
-/**
- * e_photo_cache_set_local_only:
- * @photo_cache: an #EPhotoCache
- * @local_only: whether to search only the built-in address book
- *
- * Sets whether to limit photo searches to the built-in ("local")
- * address book returned by e_source_registry_ref_builtin_address_book().
- *
- * If this property is %FALSE then all enabled address books are searched.
- **/
-void
-e_photo_cache_set_local_only (EPhotoCache *photo_cache,
-                              gboolean local_only)
-{
-       g_return_if_fail (E_IS_PHOTO_CACHE (photo_cache));
-
-       photo_cache->priv->local_only = local_only;
-
-       /* Reset the cache. */
-       photo_ht_remove_all (photo_cache);
-
-       g_object_notify (G_OBJECT (photo_cache), "local-only");
-}
-
-/**
  * e_photo_cache_get_photo_sync:
  * @photo_cache: an #EPhotoCache
  * @email_address: an email address
@@ -724,8 +623,8 @@ e_photo_cache_set_local_only (EPhotoCache *photo_cache,
  * @out_stream: return location for a #GInputStream, or %NULL
  * @error: return location for a #GError, or %NULL
  *
- * Searches enabled address books (subject to the #EPhotoCache:local-only
- * preference) for a contact photo or logo associated with @email_address.
+ * Searches enabled address books for a contact photo or logo associated
+ * with @email_address.
  *
  * If a match is found, a #GInputStream from which to read image data is
  * returned through the @out_stream return location.  If no match is found,
@@ -840,8 +739,7 @@ photo_cache_get_photo_thread (GSimpleAsyncResult *simple,
  * @callback: a #GAsyncReadyCallback to call when the request is satisfied
  * @user_data: data to pass to the callback function
  *
- * Asynchronously searches enabled address books (subject to the
- * #EPhotoCache:local-only preference) for a contact photo or logo
+ * Asynchronously searches enabled address books for a contact photo or logo
  * associated with @email_address.
  *
  * When the operation is finished, @callback will be called.  You can then
diff --git a/e-util/e-photo-cache.h b/e-util/e-photo-cache.h
index 8114e93..af44e2e 100644
--- a/e-util/e-photo-cache.h
+++ b/e-util/e-photo-cache.h
@@ -69,9 +69,6 @@ struct _EPhotoCacheClass {
 GType          e_photo_cache_get_type          (void) G_GNUC_CONST;
 EPhotoCache *  e_photo_cache_new               (EClientCache *client_cache);
 EClientCache * e_photo_cache_ref_client_cache  (EPhotoCache *photo_cache);
-gboolean       e_photo_cache_get_local_only    (EPhotoCache *photo_cache);
-void           e_photo_cache_set_local_only    (EPhotoCache *photo_cache,
-                                                gboolean local_only);
 gboolean       e_photo_cache_get_photo_sync    (EPhotoCache *photo_cache,
                                                 const gchar *email_address,
                                                 GCancellable *cancellable,
diff --git a/mail/mail-config.ui b/mail/mail-config.ui
index 2b32acb..a614467 100644
--- a/mail/mail-config.ui
+++ b/mail/mail-config.ui
@@ -2405,22 +2405,6 @@
                         <property name="position">0</property>
                       </packing>
                     </child>
-                    <child>
-                      <object class="GtkCheckButton" id="photo_local">
-                        <property name="label" translatable="yes">S_earch for sender photograph only in 
local address books</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="use_underline">True</property>
-                        <property name="draw_indicator">True</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
                   </object>
                 </child>
               </object>
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 52d6f7f..fc3e3c4 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -1069,16 +1069,6 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
                widget, "active",
                G_SETTINGS_BIND_DEFAULT);
 
-       widget = e_builder_get_widget (prefs->builder, "photo_local");
-       g_settings_bind (
-               settings, "photo-local",
-               widget, "active",
-               G_SETTINGS_BIND_DEFAULT);
-       g_settings_bind (
-               settings, "show-sender-photo",
-               widget, "sensitive",
-               G_SETTINGS_BIND_GET);
-
        /* always de-sensitised until the user types something in the entry */
        prefs->add_header = GTK_BUTTON (e_builder_get_widget (prefs->builder, "cmdHeadersAdd"));
        gtk_widget_set_sensitive ((GtkWidget *) prefs->add_header, FALSE);
diff --git a/modules/settings/Makefile.am b/modules/settings/Makefile.am
index 61cf568..e8e66b2 100644
--- a/modules/settings/Makefile.am
+++ b/modules/settings/Makefile.am
@@ -37,8 +37,6 @@ module_settings_la_SOURCES = \
        e-settings-meeting-time-selector.h \
        e-settings-name-selector-entry.c \
        e-settings-name-selector-entry.h \
-       e-settings-photo-cache.c \
-       e-settings-photo-cache.h \
        e-settings-spell-entry.c \
        e-settings-spell-entry.h \
        e-settings-web-view.c \
diff --git a/modules/settings/evolution-module-settings.c b/modules/settings/evolution-module-settings.c
index 94caf05..52d55f4 100644
--- a/modules/settings/evolution-module-settings.c
+++ b/modules/settings/evolution-module-settings.c
@@ -28,7 +28,6 @@
 #include "e-settings-meeting-store.h"
 #include "e-settings-meeting-time-selector.h"
 #include "e-settings-name-selector-entry.h"
-#include "e-settings-photo-cache.h"
 #include "e-settings-spell-entry.h"
 #include "e-settings-web-view.h"
 #include "e-settings-web-view-gtkhtml.h"
@@ -53,7 +52,6 @@ e_module_load (GTypeModule *type_module)
        e_settings_meeting_store_type_register (type_module);
        e_settings_meeting_time_selector_type_register (type_module);
        e_settings_name_selector_entry_type_register (type_module);
-       e_settings_photo_cache_type_register (type_module);
        e_settings_spell_entry_type_register (type_module);
        e_settings_web_view_type_register (type_module);
        e_settings_web_view_gtkhtml_type_register (type_module);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]