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
badb7b3d9c
search/model: Shuffle some code around
2023-04-22 10:22:57 +00:00
Georges Basile Stavracas Neto
5dd98ea01c
search/model: Don't ignore results past limits
...
Instead, monitor where items are added relative to each other, and
proxy the 'items-changed' call to match the inner list.
Helps https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/989
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
a216706026
search/model: Use boolean result to find equal hits
...
It's a bit better than using -1 with an unsigned int :)
2023-03-16 09:28:30 -03: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
Abdullahi Usman
be0a2312d9
search-model: check for duplicate events in search bar
2022-06-21 12:28:54 +00:00
Georges Basile Stavracas Neto
74c410bd85
Port search subsystem to GTK4
2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto
12fd607d56
utils: Make date comparison follow time comparison semantics
...
Right now, comparing dates with gcal_date_time_compare_date() gives
the exact opposite result of when comparing using g_date_time_compare().
As shown by this patch, this was a source of *many* bugs.
2020-04-14 19:08:06 +00: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
Georges Basile Stavracas Neto
1118c74881
event: Receive and operate on GcalCalendar
...
Instead of receiving an ESource, receive a GcalCalendar
and operate on it. Many places needed to be adjusted for
that.
Tests need to be rethinked.
2019-05-04 12:05:39 -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