search-view: various fixes
This commit is contained in:
+18
-20
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user