Merge lp:~mterry/indicator-datetime/avoid-duplicate-geonames into lp:indicator-datetime/0.3

Proposed by Michael Terry
Status: Merged
Merged at revision: 77
Proposed branch: lp:~mterry/indicator-datetime/avoid-duplicate-geonames
Merge into: lp:indicator-datetime/0.3
Diff against target: 62 lines (+28/-10)
1 file modified
src/timezone-completion.c (+28/-10)
To merge this branch: bzr merge lp:~mterry/indicator-datetime/avoid-duplicate-geonames
Reviewer Review Type Date Requested Status
Indicator Applet Developers Pending
Review via email: mp+54515@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/timezone-completion.c'
--- src/timezone-completion.c 2011-02-24 16:41:37 +0000
+++ src/timezone-completion.c 2011-03-23 13:17:15 +0000
@@ -74,6 +74,9 @@
74 TimezoneCompletion * completion = TIMEZONE_COMPLETION (user_data);74 TimezoneCompletion * completion = TIMEZONE_COMPLETION (user_data);
75 TimezoneCompletionPrivate * priv = TIMEZONE_COMPLETION_GET_PRIVATE(completion);75 TimezoneCompletionPrivate * priv = TIMEZONE_COMPLETION_GET_PRIVATE(completion);
76 GError * error = NULL;76 GError * error = NULL;
77 const gchar * prev_name = NULL;
78 const gchar * prev_admin1 = NULL;
79 const gchar * prev_country = NULL;
7780
78 json_parser_load_from_stream_finish (JSON_PARSER (object), res, &error);81 json_parser_load_from_stream_finish (JSON_PARSER (object), res, &error);
7982
@@ -112,6 +115,7 @@
112 const gchar * country = NULL;115 const gchar * country = NULL;
113 const gchar * longitude = NULL;116 const gchar * longitude = NULL;
114 const gchar * latitude = NULL;117 const gchar * latitude = NULL;
118 gboolean skip = FALSE;
115 if (json_reader_read_member (reader, "name")) {119 if (json_reader_read_member (reader, "name")) {
116 name = json_reader_get_string_value (reader);120 name = json_reader_get_string_value (reader);
117 json_reader_end_member (reader);121 json_reader_end_member (reader);
@@ -133,16 +137,30 @@
133 json_reader_end_member (reader);137 json_reader_end_member (reader);
134 }138 }
135139
136 GtkTreeIter iter;140 if (g_strcmp0(name, prev_name) == 0 &&
137 gtk_list_store_append (store, &iter);141 g_strcmp0(admin1, prev_admin1) == 0 &&
138 gtk_list_store_set (store, &iter,142 g_strcmp0(country, prev_country) == 0) {
139 TIMEZONE_COMPLETION_ZONE, NULL,143 // Sometimes the data will have duplicate entries that only differ
140 TIMEZONE_COMPLETION_NAME, name,144 // in longitude and latitude. e.g. "rio de janeiro", "wellington"
141 TIMEZONE_COMPLETION_ADMIN1, admin1,145 skip = TRUE;
142 TIMEZONE_COMPLETION_COUNTRY, country,146 }
143 TIMEZONE_COMPLETION_LONGITUDE, longitude,147
144 TIMEZONE_COMPLETION_LATITUDE, latitude,148 if (!skip) {
145 -1);149 GtkTreeIter iter;
150 gtk_list_store_append (store, &iter);
151 gtk_list_store_set (store, &iter,
152 TIMEZONE_COMPLETION_ZONE, NULL,
153 TIMEZONE_COMPLETION_NAME, name,
154 TIMEZONE_COMPLETION_ADMIN1, admin1,
155 TIMEZONE_COMPLETION_COUNTRY, country,
156 TIMEZONE_COMPLETION_LONGITUDE, longitude,
157 TIMEZONE_COMPLETION_LATITUDE, latitude,
158 -1);
159 }
160
161 prev_name = name;
162 prev_admin1 = admin1;
163 prev_country = country;
146 }164 }
147165
148 json_reader_end_element (reader);166 json_reader_end_element (reader);

Subscribers

People subscribed via source and target branches