Commit Graph
11 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 7b68931973 search/engine: Increase range to a whole year
This is still not the ideal solution, but now that we have widgetry
that can handle hundreds of thousands of events, no limitations to
the maximum number of events, and no crashes related on the search
engine, we can increase the search range to a broader value and
show more results.

Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/624
2023-04-22 10:22:57 +00:00
Georges Basile Stavracas Neto 8170ee0455 search: Remove artificial limits
Now that we use a widget that appropriately handles infinite items,
we don't need to limit anything anymore.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/624
2023-04-22 10:22:57 +00:00
Georges Basile Stavracas Neto daec07c9f6 search: Rework threading
Search uses GcalTimeline, an object that is meant to be single
threaded, in multple threads. That mostly worked okay because
GcalTimeline mostly relies on GcalCalendarMonitor, which is
heavily threaded. But, sometimes it failed.

Rework that to be single-threaded, and asynchronous.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/981
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/987
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/988
2023-03-16 12:27:47 +00:00
Georges Basile Stavracas Neto 74c410bd85 Port search subsystem to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto c0016b266b search: Port to GcalTimeline 2020-04-01 21:06:51 -03:00
Georges Basile Stavracas Neto a0403b0b3e search-model: Wait for results before returning
Dazzle is very sensitive to returning empty search results,
and ends up flickering when we pass a search model that is
not yet populated.

Wait for a few results, or for 150ms, before returning the
model.

https://gitlab.gnome.org/GNOME/gnome-calendar/issues/468
2019-10-04 01:55:08 -03:00
Michael Catanzaro 8e6a3b9f3f Fix crashes when e_cal_util_get_system_timezone() returns NULL
The return value is nullable, but gnome-calendar fails to check it.

Because the nullable return value is inconvenient for us, we can instead
add and use gcal_context_get_icaltimezone() to supplement the existing
gcal_context_get_timezone().

We'll also need a function to convert from GTimeZone to ICalTimezone,
gcal_timezone_to_icaltimezone().

Fixes #419
2019-09-19 16:01:44 -05:00
Georges Basile Stavracas Neto 78680d9b5b search-engine: Fix wrong debug message 2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto ea60c95a44 manager: Rework signals to use GcalCalendar 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto d6c5bf032d search: Open event from search results
And this finally hooks up the last missing bit from the
search engine: opening events from search results.

All the necessary plumbing is there for extending search
with other commands or results, such as go to date, etc.
2019-04-29 17:08:54 -03:00
Georges Basile Stavracas Neto 6994723d79 search: Introduce a search engine
This is architectured in such a way that it will
allow us to introduce other searcheable terms in
the future.

All the functionality that in the past was in
GcalManager is now spread across GcalSearchModel,
GcalSearchHitEvent and GcalSearchEngine.
2019-04-29 17:08:53 -03:00