search-view: various fixes

This commit is contained in:
Georges Basile Stavracas Neto
2017-01-24 09:22:57 -02:00
parent 53f9158f25
commit e4555ea292
+18 -20
View File
@@ -737,34 +737,31 @@ gcal_search_view_search (GcalSearchView *view,
g_clear_pointer (&view->query, g_free); g_clear_pointer (&view->query, g_free);
g_clear_pointer (&view->field, g_free); g_clear_pointer (&view->field, g_free);
view->query = g_strdup (query);
view->field = g_strdup (field);
/* Only perform search on valid non-empty strings */ /* Only perform search on valid non-empty strings */
if (query && g_utf8_strlen (query, -1) > 0) if (query && g_utf8_strlen (query, -1) > 0)
{ {
gchar *search_query = g_strdup_printf ("(contains? \"%s\" \"%s\")", field != NULL? field : "summary", gchar *search_query = g_strdup_printf ("(contains? \"%s\" \"%s\")",
query != NULL? query : ""); field ? field : "summary",
query ? query : "");
view->query = g_strdup (query);
view->field = g_strdup (field);
if (!view->subscribed) if (!view->subscribed)
{ {
GDateTime *now, *start, *end; g_autoptr (GDateTime) now, start, end;
now = g_date_time_new_now_local (); now = g_date_time_new_now_local ();
start = g_date_time_add_years (now, -5); start = g_date_time_add_years (now, -5);
end = g_date_time_add_years (now, 5); end = g_date_time_add_years (now, 5);
gcal_manager_set_search_subscriber (view->manager, E_CAL_DATA_MODEL_SUBSCRIBER (view), gcal_manager_set_search_subscriber (view->manager, E_CAL_DATA_MODEL_SUBSCRIBER (view),
g_date_time_to_unix (start), g_date_time_to_unix (start),
g_date_time_to_unix (end)); g_date_time_to_unix (end));
/* Mark the view as subscribed */ /* Mark the view as subscribed */
view->subscribed = TRUE; view->subscribed = TRUE;
}
g_clear_pointer (&start, g_date_time_unref);
g_clear_pointer (&end, g_date_time_unref);
g_clear_pointer (&now, g_date_time_unref);
}
/* update internal current time_t */ /* update internal current time_t */
view->current_utc_date = time (NULL); view->current_utc_date = time (NULL);
@@ -776,6 +773,7 @@ gcal_search_view_search (GcalSearchView *view,
else else
{ {
g_hash_table_remove_all (view->uuid_to_event); g_hash_table_remove_all (view->uuid_to_event);
view->num_results = 0;
} }
update_view (view); update_view (view);