[gnome-contacts] Keep all the Geocode and Map stuff in one place.



commit f09c7b15b33b0fc52a7fae1afbbcd1ee48aa6307
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Fri Dec 29 02:56:19 2017 +0100

    Keep all the Geocode and Map stuff in one place.

 src/contacts-address-map.vala |   34 ++++++++++++++++++++++++++++++++--
 src/contacts-contact.vala     |   34 ----------------------------------
 2 files changed, 32 insertions(+), 36 deletions(-)
---
diff --git a/src/contacts-address-map.vala b/src/contacts-address-map.vala
index 127e138..72eb55e 100644
--- a/src/contacts-address-map.vala
+++ b/src/contacts-address-map.vala
@@ -90,10 +90,10 @@ public class Contacts.AddressMap : Frame {
     var geocodes = 0;
 
     foreach (var addr in addresses) {
-      Contact.geocode_address.begin (addr.value, (object, res) => {
+      geocode_address.begin (addr.value, (object, res) => {
           mutex.lock ();
 
-          var place = Contact.geocode_address.end (res);
+          var place = geocode_address.end (res);
           geocodes++;
 
           if (place != null)
@@ -215,4 +215,34 @@ public class Contacts.AddressMap : Frame {
      * the markers.*/
     alloc_id = marker_layer.allocation_changed.connect (on_allocation_changed);
   }
+
+  private async Place geocode_address (PostalAddress addr) {
+    SourceFunc callback = geocode_address.callback;
+
+    var params = new HashTable<string, GLib.Value?>(str_hash, str_equal);
+    if (is_set (addr.street))
+      params["street"] = addr.street;
+    if (is_set (addr.locality))
+      params["locality"] = addr.locality;
+    if (is_set (addr.region))
+      params["region"] = addr.region;
+    if (is_set (addr.country))
+      params["country"] = addr.country;
+
+    Place? place = null;
+    var forward = new Forward.for_params (params);
+    forward.search_async.begin (null, (object, res) => {
+        try {
+          var places = forward.search_async.end (res);
+
+          place = places.nth_data (0);
+          callback ();
+        } catch (GLib.Error e) {
+          debug ("No geocode result found for contact");
+          callback ();
+        }
+      });
+    yield;
+    return place;
+  }
 }
diff --git a/src/contacts-contact.vala b/src/contacts-contact.vala
index e2ac68b..17f290a 100644
--- a/src/contacts-contact.vala
+++ b/src/contacts-contact.vala
@@ -19,7 +19,6 @@
 using Gtk;
 using Folks;
 using Gee;
-using Geocode;
 
 public errordomain ContactError {
   NOT_IMPLEMENTED,
@@ -271,39 +270,6 @@ public class Contacts.Contact : GLib.Object  {
     return res;
   }
 
-  public static async Place geocode_address (PostalAddress addr) {
-    SourceFunc callback = geocode_address.callback;
-    var params = new HashTable<string, GLib.Value?>(str_hash, str_equal);
-
-    if (is_set (addr.street))
-      params.insert("street", addr.street);
-
-    if (is_set (addr.locality))
-      params.insert("locality", addr.locality);
-
-    if (is_set (addr.region))
-      params.insert("region", addr.region);
-
-    if (is_set (addr.country))
-      params.insert("country", addr.country);
-
-    Place? place = null;
-    var forward = new Forward.for_params (params);
-    forward.search_async.begin (null, (object, res) => {
-        try {
-          var places = forward.search_async.end (res);
-
-          place = places.nth_data (0);
-          callback ();
-        } catch (GLib.Error e) {
-          debug ("No geocode result found for contact");
-          callback ();
-        }
-      });
-    yield;
-    return place;
-  }
-
   public static string[] format_address (PostalAddress addr) {
     string[] lines = {};
 


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